Last active
November 19, 2022 01:22
-
-
Save josephrocca/401efe82bf18ffe93d5f3deca7ed7515 to your computer and use it in GitHub Desktop.
lyra-v2-soundstream-tflite-to-onnx.ipynb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"nbformat": 4, | |
"nbformat_minor": 0, | |
"metadata": { | |
"colab": { | |
"provenance": [], | |
"name": "lyra-v2-soundstream-tflite-to-onnx.ipynb", | |
"authorship_tag": "ABX9TyMkCy9twCkJsw6seKQ6qifj", | |
"include_colab_link": true | |
}, | |
"kernelspec": { | |
"name": "python3", | |
"display_name": "Python 3" | |
}, | |
"language_info": { | |
"name": "python" | |
}, | |
"gpuClass": "standard" | |
}, | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "view-in-github", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"<a href=\"https://colab.research.google.com/gist/josephrocca/401efe82bf18ffe93d5f3deca7ed7515/notebook.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# https://github.com/onnx/tensorflow-onnx/issues/2059#issuecomment-1316477541\n", | |
"!pip install git+https://github.com/fatcat-z/tensorflow-onnx.git@remove_tflite_var_ops # Last tested at this commit (currently latest): https://github.com/fatcat-z/tensorflow-onnx/commit/97d7624a09bb6630f5f41ec8e74164a06050d23c" | |
], | |
"metadata": { | |
"id": "_Our00mFGN_J", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"outputId": "01f10e0c-f653-48f9-f998-d3fc86d5b14e" | |
}, | |
"execution_count": 1, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", | |
"Collecting git+https://github.com/fatcat-z/tensorflow-onnx.git@remove_tflite_var_ops\n", | |
" Cloning https://github.com/fatcat-z/tensorflow-onnx.git (to revision remove_tflite_var_ops) to /tmp/pip-req-build-lk296k36\n", | |
" Running command git clone -q https://github.com/fatcat-z/tensorflow-onnx.git /tmp/pip-req-build-lk296k36\n", | |
" Running command git checkout -b remove_tflite_var_ops --track origin/remove_tflite_var_ops\n", | |
" Switched to a new branch 'remove_tflite_var_ops'\n", | |
" Branch 'remove_tflite_var_ops' set up to track remote branch 'remove_tflite_var_ops' from 'origin'.\n", | |
"Requirement already satisfied: numpy>=1.14.1 in /usr/local/lib/python3.7/dist-packages (from tf2onnx==1.13.0) (1.21.6)\n", | |
"Collecting onnx>=1.4.1\n", | |
" Downloading onnx-1.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.1 MB)\n", | |
"\u001b[K |████████████████████████████████| 13.1 MB 5.3 MB/s \n", | |
"\u001b[?25hRequirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (from tf2onnx==1.13.0) (2.23.0)\n", | |
"Requirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from tf2onnx==1.13.0) (1.15.0)\n", | |
"Requirement already satisfied: flatbuffers<3.0,>=1.12 in /usr/local/lib/python3.7/dist-packages (from tf2onnx==1.13.0) (1.12)\n", | |
"Requirement already satisfied: protobuf<=3.20.1,>=3.12.2 in /usr/local/lib/python3.7/dist-packages (from onnx>=1.4.1->tf2onnx==1.13.0) (3.19.6)\n", | |
"Requirement already satisfied: typing-extensions>=3.6.2.1 in /usr/local/lib/python3.7/dist-packages (from onnx>=1.4.1->tf2onnx==1.13.0) (4.1.1)\n", | |
"Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests->tf2onnx==1.13.0) (1.24.3)\n", | |
"Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests->tf2onnx==1.13.0) (2022.9.24)\n", | |
"Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests->tf2onnx==1.13.0) (3.0.4)\n", | |
"Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests->tf2onnx==1.13.0) (2.10)\n", | |
"Building wheels for collected packages: tf2onnx\n", | |
" Building wheel for tf2onnx (setup.py) ... \u001b[?25l\u001b[?25hdone\n", | |
" Created wheel for tf2onnx: filename=tf2onnx-1.13.0-py3-none-any.whl size=442740 sha256=306013be7145ff9cf2e2bbfa1990c60f83747f42ad5026746b3e627aa7825c9f\n", | |
" Stored in directory: /tmp/pip-ephem-wheel-cache-ffdtzw8r/wheels/d8/ad/d1/8e6fa3f37d03521c02335c4b3503d184a249dee8afa5bf7203\n", | |
"Successfully built tf2onnx\n", | |
"Installing collected packages: onnx, tf2onnx\n", | |
"Successfully installed onnx-1.12.0 tf2onnx-1.13.0\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"!wget https://raw.githubusercontent.com/tensorflow/tensorflow/ee9a169b669e0e5804810eb631df11c3b7ecb1c2/tensorflow/lite/tools/flatbuffer_utils.py" | |
], | |
"metadata": { | |
"id": "7WLtFu58nBZW", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"outputId": "3c766d40-8e9f-4c4d-9588-d7c700a35cfd" | |
}, | |
"execution_count": 2, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"--2022-11-19 01:03:53-- https://raw.githubusercontent.com/tensorflow/tensorflow/ee9a169b669e0e5804810eb631df11c3b7ecb1c2/tensorflow/lite/tools/flatbuffer_utils.py\n", | |
"Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.111.133, 185.199.108.133, 185.199.110.133, ...\n", | |
"Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.111.133|:443... connected.\n", | |
"HTTP request sent, awaiting response... 200 OK\n", | |
"Length: 7618 (7.4K) [text/plain]\n", | |
"Saving to: ‘flatbuffer_utils.py’\n", | |
"\n", | |
"\rflatbuffer_utils.py 0%[ ] 0 --.-KB/s \rflatbuffer_utils.py 100%[===================>] 7.44K --.-KB/s in 0s \n", | |
"\n", | |
"2022-11-19 01:03:53 (44.4 MB/s) - ‘flatbuffer_utils.py’ saved [7618/7618]\n", | |
"\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"!wget https://huggingface.co/rocca/lyra-v2-soundstream/resolve/main/tflite/1.3.0/soundstream_encoder.tflite\n", | |
"!wget https://huggingface.co/rocca/lyra-v2-soundstream/resolve/main/tflite/1.3.0/lyragan.tflite\n", | |
"!wget https://huggingface.co/rocca/lyra-v2-soundstream/resolve/main/tflite/1.3.0/quantizer.tflite" | |
], | |
"metadata": { | |
"id": "go1tTAjRF3KO", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"outputId": "d673a3ff-8835-45b7-e72d-e2151ad5e470" | |
}, | |
"execution_count": 3, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"--2022-11-19 01:03:53-- https://huggingface.co/rocca/lyra-v2-soundstream/resolve/main/tflite/1.3.0/soundstream_encoder.tflite\n", | |
"Resolving huggingface.co (huggingface.co)... 34.227.196.80, 34.200.207.32, 2600:1f18:147f:e850:c00b:f3d9:24fb:fa94, ...\n", | |
"Connecting to huggingface.co (huggingface.co)|34.227.196.80|:443... connected.\n", | |
"HTTP request sent, awaiting response... 302 Found\n", | |
"Location: https://cdn-lfs.huggingface.co/repos/1f/fe/1ffe1c47407cdb0e4d0ffd7a0a45e55975087b2366351b5ffa9063ec95d6d1f4/237da0b16226fb0a68d49551c81bebf614e42142af72764448359f68581e88f1?response-content-disposition=attachment%3B%20filename%3D%22soundstream_encoder.tflite%22&Expires=1669079034&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jZG4tbGZzLmh1Z2dpbmdmYWNlLmNvL3JlcG9zLzFmL2ZlLzFmZmUxYzQ3NDA3Y2RiMGU0ZDBmZmQ3YTBhNDVlNTU5NzUwODdiMjM2NjM1MWI1ZmZhOTA2M2VjOTVkNmQxZjQvMjM3ZGEwYjE2MjI2ZmIwYTY4ZDQ5NTUxYzgxYmViZjYxNGU0MjE0MmFmNzI3NjQ0NDgzNTlmNjg1ODFlODhmMT9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPWF0dGFjaG1lbnQlM0IlMjBmaWxlbmFtZSUzRCUyMnNvdW5kc3RyZWFtX2VuY29kZXIudGZsaXRlJTIyIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNjY5MDc5MDM0fX19XX0_&Signature=CXWOIKuASKz2UACxLJvWAc~HUG5KuB-edpgYJyDQ~BG8nZYsfwVgBp0BAZgCwep3q-lEbRUyhwmYzLXV0ks5a2ufhd0XXLh2y9sbpMWiu0xUwqK3xMcRXKeFYMlMbLLpIiBRWEvIpnBXZe8mSmNWz8hpXQt4PI5y~kjqmqpviPXJW8~zm04nUg66-0LG0kYXnZ5lOA1XDGPi~rLlfttsMrhkxBW2LskHxL23PJOWhL8NvWi3ave31uWK7odEG1b-KSc28h-5ufU5p9qaTSXtIUiqtaWqqqMWG4iv92Kaer7HEA62Hfee6hs8tobERmxErKYIou6QhP5FSukf2wNDWQ__&Key-Pair-Id=KVTP0A1DKRTAX [following]\n", | |
"--2022-11-19 01:03:53-- https://cdn-lfs.huggingface.co/repos/1f/fe/1ffe1c47407cdb0e4d0ffd7a0a45e55975087b2366351b5ffa9063ec95d6d1f4/237da0b16226fb0a68d49551c81bebf614e42142af72764448359f68581e88f1?response-content-disposition=attachment%3B%20filename%3D%22soundstream_encoder.tflite%22&Expires=1669079034&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jZG4tbGZzLmh1Z2dpbmdmYWNlLmNvL3JlcG9zLzFmL2ZlLzFmZmUxYzQ3NDA3Y2RiMGU0ZDBmZmQ3YTBhNDVlNTU5NzUwODdiMjM2NjM1MWI1ZmZhOTA2M2VjOTVkNmQxZjQvMjM3ZGEwYjE2MjI2ZmIwYTY4ZDQ5NTUxYzgxYmViZjYxNGU0MjE0MmFmNzI3NjQ0NDgzNTlmNjg1ODFlODhmMT9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPWF0dGFjaG1lbnQlM0IlMjBmaWxlbmFtZSUzRCUyMnNvdW5kc3RyZWFtX2VuY29kZXIudGZsaXRlJTIyIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNjY5MDc5MDM0fX19XX0_&Signature=CXWOIKuASKz2UACxLJvWAc~HUG5KuB-edpgYJyDQ~BG8nZYsfwVgBp0BAZgCwep3q-lEbRUyhwmYzLXV0ks5a2ufhd0XXLh2y9sbpMWiu0xUwqK3xMcRXKeFYMlMbLLpIiBRWEvIpnBXZe8mSmNWz8hpXQt4PI5y~kjqmqpviPXJW8~zm04nUg66-0LG0kYXnZ5lOA1XDGPi~rLlfttsMrhkxBW2LskHxL23PJOWhL8NvWi3ave31uWK7odEG1b-KSc28h-5ufU5p9qaTSXtIUiqtaWqqqMWG4iv92Kaer7HEA62Hfee6hs8tobERmxErKYIou6QhP5FSukf2wNDWQ__&Key-Pair-Id=KVTP0A1DKRTAX\n", | |
"Resolving cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)... 99.84.252.42, 99.84.252.69, 99.84.252.27, ...\n", | |
"Connecting to cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)|99.84.252.42|:443... connected.\n", | |
"HTTP request sent, awaiting response... 200 OK\n", | |
"Length: 1779200 (1.7M) [binary/octet-stream]\n", | |
"Saving to: ‘soundstream_encoder.tflite’\n", | |
"\n", | |
"soundstream_encoder 100%[===================>] 1.70M 10.5MB/s in 0.2s \n", | |
"\n", | |
"2022-11-19 01:03:54 (10.5 MB/s) - ‘soundstream_encoder.tflite’ saved [1779200/1779200]\n", | |
"\n", | |
"--2022-11-19 01:03:54-- https://huggingface.co/rocca/lyra-v2-soundstream/resolve/main/tflite/1.3.0/lyragan.tflite\n", | |
"Resolving huggingface.co (huggingface.co)... 34.227.196.80, 34.200.207.32, 2600:1f18:147f:e850:c00b:f3d9:24fb:fa94, ...\n", | |
"Connecting to huggingface.co (huggingface.co)|34.227.196.80|:443... connected.\n", | |
"HTTP request sent, awaiting response... 302 Found\n", | |
"Location: https://cdn-lfs.huggingface.co/repos/1f/fe/1ffe1c47407cdb0e4d0ffd7a0a45e55975087b2366351b5ffa9063ec95d6d1f4/50e7839cda4f30599a3a34cfaddcd9c98449b049eee884e1a74295780448ad06?response-content-disposition=attachment%3B%20filename%3D%22lyragan.tflite%22&Expires=1669079034&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jZG4tbGZzLmh1Z2dpbmdmYWNlLmNvL3JlcG9zLzFmL2ZlLzFmZmUxYzQ3NDA3Y2RiMGU0ZDBmZmQ3YTBhNDVlNTU5NzUwODdiMjM2NjM1MWI1ZmZhOTA2M2VjOTVkNmQxZjQvNTBlNzgzOWNkYTRmMzA1OTlhM2EzNGNmYWRkY2Q5Yzk4NDQ5YjA0OWVlZTg4NGUxYTc0Mjk1NzgwNDQ4YWQwNj9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPWF0dGFjaG1lbnQlM0IlMjBmaWxlbmFtZSUzRCUyMmx5cmFnYW4udGZsaXRlJTIyIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNjY5MDc5MDM0fX19XX0_&Signature=k4LqpmaYftXlkWn1umxEhHYvEdGpz7d3d6R6qVv0fZnfy1P6oC1qEv~RsoTO7ThD2k4HgY3uVTzckoONqZLmZdwdLZxugdPTjY7FevcvIUXI2QSxIgoSg2pv2F0SmpvZkZGX8zd8ikTeVpM2rlLFBRM6pAdSE0UNPYp-g5yb~aYiyXj9fAUbFojxyp-sfpYixiWvzSdHjkgZEePYCiMRv94ZP6yrZK77utlyoJzX-9k14vOkZeXEScl-nsteDbtJajOy~FqUvXHANUUZz8QLCee-Q47GTyZCkFKfDdA~ePfC32gsTue4giZUIG4w0gwtrnQSaCfSa50iNm1gvwZP1Q__&Key-Pair-Id=KVTP0A1DKRTAX [following]\n", | |
"--2022-11-19 01:03:54-- https://cdn-lfs.huggingface.co/repos/1f/fe/1ffe1c47407cdb0e4d0ffd7a0a45e55975087b2366351b5ffa9063ec95d6d1f4/50e7839cda4f30599a3a34cfaddcd9c98449b049eee884e1a74295780448ad06?response-content-disposition=attachment%3B%20filename%3D%22lyragan.tflite%22&Expires=1669079034&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jZG4tbGZzLmh1Z2dpbmdmYWNlLmNvL3JlcG9zLzFmL2ZlLzFmZmUxYzQ3NDA3Y2RiMGU0ZDBmZmQ3YTBhNDVlNTU5NzUwODdiMjM2NjM1MWI1ZmZhOTA2M2VjOTVkNmQxZjQvNTBlNzgzOWNkYTRmMzA1OTlhM2EzNGNmYWRkY2Q5Yzk4NDQ5YjA0OWVlZTg4NGUxYTc0Mjk1NzgwNDQ4YWQwNj9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPWF0dGFjaG1lbnQlM0IlMjBmaWxlbmFtZSUzRCUyMmx5cmFnYW4udGZsaXRlJTIyIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNjY5MDc5MDM0fX19XX0_&Signature=k4LqpmaYftXlkWn1umxEhHYvEdGpz7d3d6R6qVv0fZnfy1P6oC1qEv~RsoTO7ThD2k4HgY3uVTzckoONqZLmZdwdLZxugdPTjY7FevcvIUXI2QSxIgoSg2pv2F0SmpvZkZGX8zd8ikTeVpM2rlLFBRM6pAdSE0UNPYp-g5yb~aYiyXj9fAUbFojxyp-sfpYixiWvzSdHjkgZEePYCiMRv94ZP6yrZK77utlyoJzX-9k14vOkZeXEScl-nsteDbtJajOy~FqUvXHANUUZz8QLCee-Q47GTyZCkFKfDdA~ePfC32gsTue4giZUIG4w0gwtrnQSaCfSa50iNm1gvwZP1Q__&Key-Pair-Id=KVTP0A1DKRTAX\n", | |
"Resolving cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)... 99.84.252.42, 99.84.252.69, 99.84.252.27, ...\n", | |
"Connecting to cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)|99.84.252.42|:443... connected.\n", | |
"HTTP request sent, awaiting response... 200 OK\n", | |
"Length: 1475160 (1.4M) [binary/octet-stream]\n", | |
"Saving to: ‘lyragan.tflite’\n", | |
"\n", | |
"lyragan.tflite 100%[===================>] 1.41M 9.00MB/s in 0.2s \n", | |
"\n", | |
"2022-11-19 01:03:54 (9.00 MB/s) - ‘lyragan.tflite’ saved [1475160/1475160]\n", | |
"\n", | |
"--2022-11-19 01:03:54-- https://huggingface.co/rocca/lyra-v2-soundstream/resolve/main/tflite/1.3.0/quantizer.tflite\n", | |
"Resolving huggingface.co (huggingface.co)... 34.227.196.80, 34.200.207.32, 2600:1f18:147f:e850:c00b:f3d9:24fb:fa94, ...\n", | |
"Connecting to huggingface.co (huggingface.co)|34.227.196.80|:443... connected.\n", | |
"HTTP request sent, awaiting response... 302 Found\n", | |
"Location: https://cdn-lfs.huggingface.co/repos/1f/fe/1ffe1c47407cdb0e4d0ffd7a0a45e55975087b2366351b5ffa9063ec95d6d1f4/841ee05989687d32d1f616a8ad1419fc7eda37599d3c05c7cf5a0d60ccf8ac5c?response-content-disposition=attachment%3B%20filename%3D%22quantizer.tflite%22&Expires=1669079035&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jZG4tbGZzLmh1Z2dpbmdmYWNlLmNvL3JlcG9zLzFmL2ZlLzFmZmUxYzQ3NDA3Y2RiMGU0ZDBmZmQ3YTBhNDVlNTU5NzUwODdiMjM2NjM1MWI1ZmZhOTA2M2VjOTVkNmQxZjQvODQxZWUwNTk4OTY4N2QzMmQxZjYxNmE4YWQxNDE5ZmM3ZWRhMzc1OTlkM2MwNWM3Y2Y1YTBkNjBjY2Y4YWM1Yz9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPWF0dGFjaG1lbnQlM0IlMjBmaWxlbmFtZSUzRCUyMnF1YW50aXplci50ZmxpdGUlMjIiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE2NjkwNzkwMzV9fX1dfQ__&Signature=OYzE7Sy2PKcMJfWU-eIaW2a20mDeBmQfMEhKn8bj~om6UHAhgKx~iQmR0e6MJSzhCpxwsngPmJcXSEUWj1bBKidk3zKPA75IZqDhGX81loE1W3yJK4h76VKzw~p-IGDUdvizbezyM37vEcG~C-hNIbbpcETjKzVGUJCVileIwjYqNCpcgXL59ISOtbPu33S2EEfpeeNJZvrAWt8g5C8GUAZRR-40kRwQa7iFwk0vbBtdOaZ9TxEM9PhmKu8UmqRbHe~TGwnRIBKWxWq~tBvIi2Y699-GJHZjR-HRQd5jRoo50APSj3xP2DsFK-Vrg6uqx4WzW2Ra-LL6-o0mWJmZrg__&Key-Pair-Id=KVTP0A1DKRTAX [following]\n", | |
"--2022-11-19 01:03:54-- https://cdn-lfs.huggingface.co/repos/1f/fe/1ffe1c47407cdb0e4d0ffd7a0a45e55975087b2366351b5ffa9063ec95d6d1f4/841ee05989687d32d1f616a8ad1419fc7eda37599d3c05c7cf5a0d60ccf8ac5c?response-content-disposition=attachment%3B%20filename%3D%22quantizer.tflite%22&Expires=1669079035&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jZG4tbGZzLmh1Z2dpbmdmYWNlLmNvL3JlcG9zLzFmL2ZlLzFmZmUxYzQ3NDA3Y2RiMGU0ZDBmZmQ3YTBhNDVlNTU5NzUwODdiMjM2NjM1MWI1ZmZhOTA2M2VjOTVkNmQxZjQvODQxZWUwNTk4OTY4N2QzMmQxZjYxNmE4YWQxNDE5ZmM3ZWRhMzc1OTlkM2MwNWM3Y2Y1YTBkNjBjY2Y4YWM1Yz9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPWF0dGFjaG1lbnQlM0IlMjBmaWxlbmFtZSUzRCUyMnF1YW50aXplci50ZmxpdGUlMjIiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE2NjkwNzkwMzV9fX1dfQ__&Signature=OYzE7Sy2PKcMJfWU-eIaW2a20mDeBmQfMEhKn8bj~om6UHAhgKx~iQmR0e6MJSzhCpxwsngPmJcXSEUWj1bBKidk3zKPA75IZqDhGX81loE1W3yJK4h76VKzw~p-IGDUdvizbezyM37vEcG~C-hNIbbpcETjKzVGUJCVileIwjYqNCpcgXL59ISOtbPu33S2EEfpeeNJZvrAWt8g5C8GUAZRR-40kRwQa7iFwk0vbBtdOaZ9TxEM9PhmKu8UmqRbHe~TGwnRIBKWxWq~tBvIi2Y699-GJHZjR-HRQd5jRoo50APSj3xP2DsFK-Vrg6uqx4WzW2Ra-LL6-o0mWJmZrg__&Key-Pair-Id=KVTP0A1DKRTAX\n", | |
"Resolving cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)... 99.84.252.42, 99.84.252.69, 99.84.252.27, ...\n", | |
"Connecting to cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)|99.84.252.42|:443... connected.\n", | |
"HTTP request sent, awaiting response... 200 OK\n", | |
"Length: 329012 (321K) [binary/octet-stream]\n", | |
"Saving to: ‘quantizer.tflite’\n", | |
"\n", | |
"quantizer.tflite 100%[===================>] 321.30K --.-KB/s in 0.1s \n", | |
"\n", | |
"2022-11-19 01:03:55 (2.98 MB/s) - ‘quantizer.tflite’ saved [329012/329012]\n", | |
"\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": { | |
"id": "jjQIusn9FvAR", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"outputId": "f9ed2db6-9a86-482a-d92d-933c9cd0eb40" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"/usr/lib/python3.7/runpy.py:125: RuntimeWarning: 'tf2onnx.convert' found in sys.modules after import of package 'tf2onnx', but prior to execution of 'tf2onnx.convert'; this may result in unpredictable behaviour\n", | |
" warn(RuntimeWarning(msg))\n", | |
"2022-11-19 01:03:59,666 - INFO - tf2onnx: inputs: None\n", | |
"2022-11-19 01:03:59,666 - INFO - tf2onnx: outputs: None\n", | |
"2022-11-19 01:03:59,816 - INFO - tf2onnx.tfonnx: Using tensorflow=2.9.2, onnx=1.12.0, tf2onnx=1.13.0/97d762\n", | |
"2022-11-19 01:03:59,817 - INFO - tf2onnx.tfonnx: Using opset <onnx, 17>\n", | |
"INFO: Created TensorFlow Lite XNNPACK delegate for CPU.\n", | |
"2022-11-19 01:04:00,000 - VERBOSE - tf2onnx.tfonnx: Mapping TF node to ONNX node(s)\n", | |
"2022-11-19 01:04:00,005 - VERBOSE - tf2onnx.tfonnx: Mapping TF node to ONNX node(s)\n", | |
"2022-11-19 01:04:00,005 - VERBOSE - tf2onnx.tfonnx: Summay Stats:\n", | |
"\ttensorflow ops: Counter({'Const': 12})\n", | |
"\ttensorflow attr: Counter({'value': 12})\n", | |
"\tonnx mapped: Counter({'Const': 12})\n", | |
"\tonnx unmapped: Counter()\n", | |
"2022-11-19 01:04:00,011 - VERBOSE - tf2onnx.tfonnx: Mapping TF node to ONNX node(s)\n", | |
"2022-11-19 01:04:00,117 - VERBOSE - tf2onnx.tfonnx: Mapping TF node to ONNX node(s)\n", | |
"2022-11-19 01:04:00,193 - VERBOSE - tf2onnx.tfonnx: Summay Stats:\n", | |
"\ttensorflow ops: Counter({'Const': 87, 'TFL_DEQUANTIZE': 47, 'TFL_QUANTIZE': 29, 'TFL_CONV_2D': 23, 'TFL_LEAKY_RELU': 22, 'TFL_CONCATENATION': 14, 'TFL_STRIDED_SLICE': 14, 'TFL_DEPTHWISE_CONV_2D': 9, 'TFL_ADD': 9, 'TFL_RESHAPE': 2, 'Placeholder': 1, 'Identity': 1})\n", | |
"\ttensorflow attr: Counter({'value': 87, 'quantized_dimension': 76, 'scale': 76, 'zero_point': 76, 'fused_activation_function': 55, 'dilation_h_factor': 32, 'dilation_w_factor': 32, 'padding': 32, 'stride_h': 32, 'stride_w': 32, 'alpha': 22, 'axis': 14, 'begin_mask': 14, 'ellipsis_mask': 14, 'end_mask': 14, 'new_axis_mask': 14, 'shrink_axis_mask': 14, 'depth_multiplier': 9, 'pot_scale_int16': 9})\n", | |
"\tonnx mapped: Counter({'Const': 76, 'TFL_DEQUANTIZE': 43, 'TFL_QUANTIZE': 25, 'Conv2D': 23, 'LeakyRelu': 22, 'TFL_CONCATENATION': 14, 'DepthwiseConv2dNative': 9, 'Add': 9, 'Reshape': 2, 'Placeholder': 1})\n", | |
"\tonnx unmapped: Counter()\n", | |
"2022-11-19 01:04:00,193 - INFO - tf2onnx.optimizer: Optimizing ONNX model\n", | |
"2022-11-19 01:04:00,195 - VERBOSE - tf2onnx.optimizer: Apply optimize_transpose\n", | |
"2022-11-19 01:04:00,623 - VERBOSE - tf2onnx.optimizer.TransposeOptimizer: Const +11 (221->232), Reshape +11 (11->22), Transpose -60 (128->68)\n", | |
"2022-11-19 01:04:00,623 - VERBOSE - tf2onnx.optimizer: Apply remove_redundant_upsample\n", | |
"2022-11-19 01:04:00,692 - VERBOSE - tf2onnx.optimizer.UpsampleOptimizer: no change\n", | |
"2022-11-19 01:04:00,692 - VERBOSE - tf2onnx.optimizer: Apply fold_constants\n", | |
"2022-11-19 01:04:00,812 - VERBOSE - tf2onnx.optimizer.ConstFoldOptimizer: Cast -2 (2->0), Const -14 (232->218), Reshape -14 (22->8), Transpose -52 (68->16)\n", | |
"2022-11-19 01:04:00,812 - VERBOSE - tf2onnx.optimizer: Apply const_dequantize_optimizer\n", | |
"2022-11-19 01:04:00,901 - VERBOSE - tf2onnx.optimizer.ConstDequantizeOptimizer: Const -4 (218->214), Reshape -4 (8->4), Transpose -16 (16->0)\n", | |
"2022-11-19 01:04:00,901 - VERBOSE - tf2onnx.optimizer: Apply loop_optimizer\n", | |
"2022-11-19 01:04:00,962 - VERBOSE - tf2onnx.optimizer.LoopOptimizer: no change\n", | |
"2022-11-19 01:04:00,963 - VERBOSE - tf2onnx.optimizer: Apply merge_duplication\n", | |
"2022-11-19 01:04:01,040 - VERBOSE - tf2onnx.optimizer.MergeDuplicatedNodesOptimizer: Const -82 (214->132)\n", | |
"2022-11-19 01:04:01,040 - VERBOSE - tf2onnx.optimizer: Apply reshape_optimizer\n", | |
"2022-11-19 01:04:01,081 - VERBOSE - tf2onnx.optimizer.ReshapeOptimizer: no change\n", | |
"2022-11-19 01:04:01,082 - VERBOSE - tf2onnx.optimizer: Apply global_pool_optimizer\n", | |
"2022-11-19 01:04:01,143 - VERBOSE - tf2onnx.optimizer.GlobalPoolOptimizer: no change\n", | |
"2022-11-19 01:04:01,143 - VERBOSE - tf2onnx.optimizer: Apply q_dq_optimizer\n", | |
"2022-11-19 01:04:01,195 - VERBOSE - tf2onnx.optimizer.QDQOptimizer: DequantizeLinear -5 (43->38), QuantizeLinear -1 (25->24)\n", | |
"2022-11-19 01:04:01,195 - VERBOSE - tf2onnx.optimizer: Apply remove_identity\n", | |
"2022-11-19 01:04:01,243 - VERBOSE - tf2onnx.optimizer.IdentityOptimizer: Identity -1 (1->0)\n", | |
"2022-11-19 01:04:01,243 - VERBOSE - tf2onnx.optimizer: Apply remove_back_to_back\n", | |
"2022-11-19 01:04:01,282 - VERBOSE - tf2onnx.optimizer.BackToBackOptimizer: Const -1 (132->131), Reshape -1 (4->3)\n", | |
"2022-11-19 01:04:01,283 - VERBOSE - tf2onnx.optimizer: Apply einsum_optimizer\n", | |
"2022-11-19 01:04:01,327 - VERBOSE - tf2onnx.optimizer.EinsumOptimizer: no change\n", | |
"2022-11-19 01:04:01,328 - VERBOSE - tf2onnx.optimizer: Apply optimize_transpose\n", | |
"2022-11-19 01:04:01,378 - VERBOSE - tf2onnx.optimizer.TransposeOptimizer: no change\n", | |
"2022-11-19 01:04:01,378 - VERBOSE - tf2onnx.optimizer: Apply remove_redundant_upsample\n", | |
"2022-11-19 01:04:01,419 - VERBOSE - tf2onnx.optimizer.UpsampleOptimizer: no change\n", | |
"2022-11-19 01:04:01,419 - VERBOSE - tf2onnx.optimizer: Apply fold_constants\n", | |
"2022-11-19 01:04:01,468 - VERBOSE - tf2onnx.optimizer.ConstFoldOptimizer: no change\n", | |
"2022-11-19 01:04:01,469 - VERBOSE - tf2onnx.optimizer: Apply const_dequantize_optimizer\n", | |
"2022-11-19 01:04:01,513 - VERBOSE - tf2onnx.optimizer.ConstDequantizeOptimizer: no change\n", | |
"2022-11-19 01:04:01,513 - VERBOSE - tf2onnx.optimizer: Apply loop_optimizer\n", | |
"2022-11-19 01:04:01,565 - VERBOSE - tf2onnx.optimizer.LoopOptimizer: no change\n", | |
"2022-11-19 01:04:01,565 - VERBOSE - tf2onnx.optimizer: Apply merge_duplication\n", | |
"2022-11-19 01:04:01,616 - VERBOSE - tf2onnx.optimizer.MergeDuplicatedNodesOptimizer: no change\n", | |
"2022-11-19 01:04:01,616 - VERBOSE - tf2onnx.optimizer: Apply reshape_optimizer\n", | |
"2022-11-19 01:04:01,694 - VERBOSE - tf2onnx.optimizer.ReshapeOptimizer: no change\n", | |
"2022-11-19 01:04:01,694 - VERBOSE - tf2onnx.optimizer: Apply global_pool_optimizer\n", | |
"2022-11-19 01:04:01,776 - VERBOSE - tf2onnx.optimizer.GlobalPoolOptimizer: no change\n", | |
"2022-11-19 01:04:01,776 - VERBOSE - tf2onnx.optimizer: Apply q_dq_optimizer\n", | |
"2022-11-19 01:04:01,857 - VERBOSE - tf2onnx.optimizer.QDQOptimizer: no change\n", | |
"2022-11-19 01:04:01,857 - VERBOSE - tf2onnx.optimizer: Apply remove_identity\n", | |
"2022-11-19 01:04:01,930 - VERBOSE - tf2onnx.optimizer.IdentityOptimizer: no change\n", | |
"2022-11-19 01:04:01,930 - VERBOSE - tf2onnx.optimizer: Apply remove_back_to_back\n", | |
"2022-11-19 01:04:01,989 - VERBOSE - tf2onnx.optimizer.BackToBackOptimizer: no change\n", | |
"2022-11-19 01:04:01,989 - VERBOSE - tf2onnx.optimizer: Apply einsum_optimizer\n", | |
"2022-11-19 01:04:02,037 - VERBOSE - tf2onnx.optimizer.EinsumOptimizer: no change\n", | |
"2022-11-19 01:04:02,050 - INFO - tf2onnx.optimizer: After optimization: Cast -2 (2->0), Const -90 (221->131), DequantizeLinear -5 (43->38), Identity -1 (1->0), QuantizeLinear -1 (25->24), Reshape -8 (11->3), Transpose -128 (128->0)\n", | |
"2022-11-19 01:04:02,089 - INFO - tf2onnx: \n", | |
"2022-11-19 01:04:02,089 - INFO - tf2onnx: Successfully converted TensorFlow model soundstream_encoder.tflite to ONNX\n", | |
"2022-11-19 01:04:02,089 - INFO - tf2onnx: Model inputs: ['serving_default_input_audio:0']\n", | |
"2022-11-19 01:04:02,089 - INFO - tf2onnx: Model outputs: ['StatefulPartitionedCall:0']\n", | |
"2022-11-19 01:04:02,090 - INFO - tf2onnx: ONNX model is saved at soundstream_encoder.onnx\n" | |
] | |
} | |
], | |
"source": [ | |
"# Encoder\n", | |
"!python -m tf2onnx.convert --opset 17 --tflite soundstream_encoder.tflite --output soundstream_encoder.onnx --verbose --debug" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# Decoder\n", | |
"!python -m tf2onnx.convert --opset 17 --tflite lyragan.tflite --output lyragan.onnx --verbose --debug" | |
], | |
"metadata": { | |
"id": "tZuNSCvR6rs7", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"outputId": "299cc2da-3815-4570-e414-fb8f93552f7c" | |
}, | |
"execution_count": 5, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"/usr/lib/python3.7/runpy.py:125: RuntimeWarning: 'tf2onnx.convert' found in sys.modules after import of package 'tf2onnx', but prior to execution of 'tf2onnx.convert'; this may result in unpredictable behaviour\n", | |
" warn(RuntimeWarning(msg))\n", | |
"2022-11-19 01:04:08,726 - INFO - tf2onnx: inputs: None\n", | |
"2022-11-19 01:04:08,727 - INFO - tf2onnx: outputs: None\n", | |
"2022-11-19 01:04:08,742 - INFO - tf2onnx.tfonnx: Using tensorflow=2.9.2, onnx=1.12.0, tf2onnx=1.13.0/97d762\n", | |
"2022-11-19 01:04:08,742 - INFO - tf2onnx.tfonnx: Using opset <onnx, 17>\n", | |
"INFO: Created TensorFlow Lite XNNPACK delegate for CPU.\n", | |
"2022-11-19 01:04:08,893 - VERBOSE - tf2onnx.tfonnx: Mapping TF node to ONNX node(s)\n", | |
"2022-11-19 01:04:08,897 - VERBOSE - tf2onnx.tfonnx: Mapping TF node to ONNX node(s)\n", | |
"2022-11-19 01:04:08,897 - VERBOSE - tf2onnx.tfonnx: Summay Stats:\n", | |
"\ttensorflow ops: Counter({'Const': 11})\n", | |
"\ttensorflow attr: Counter({'value': 11})\n", | |
"\tonnx mapped: Counter({'Const': 11})\n", | |
"\tonnx unmapped: Counter()\n", | |
"2022-11-19 01:04:08,905 - VERBOSE - tf2onnx.tfonnx: Mapping TF node to ONNX node(s)\n", | |
"2022-11-19 01:04:09,039 - VERBOSE - tf2onnx.tfonnx: Mapping TF node to ONNX node(s)\n", | |
"2022-11-19 01:04:09,140 - VERBOSE - tf2onnx.tfonnx: Summay Stats:\n", | |
"\ttensorflow ops: Counter({'Const': 118, 'TFL_DEQUANTIZE': 68, 'TFL_QUANTIZE': 38, 'TFL_STRIDED_SLICE': 26, 'TFL_LEAKY_RELU': 22, 'TFL_CONCATENATION': 20, 'TFL_CONV_2D': 19, 'TFL_ADD': 17, 'TFL_DEPTHWISE_CONV_2D': 9, 'TFL_TRANSPOSE_CONV': 8, 'TFL_SUB': 8, 'TFL_RESHAPE': 2, 'TFL_SPLIT': 2, 'Placeholder': 1, 'Identity': 1})\n", | |
"\ttensorflow attr: Counter({'value': 118, 'quantized_dimension': 106, 'scale': 106, 'zero_point': 106, 'fused_activation_function': 73, 'padding': 36, 'stride_h': 36, 'stride_w': 36, 'dilation_h_factor': 28, 'dilation_w_factor': 28, 'begin_mask': 26, 'ellipsis_mask': 26, 'end_mask': 26, 'new_axis_mask': 26, 'shrink_axis_mask': 26, 'pot_scale_int16': 25, 'alpha': 22, 'axis': 20, 'depth_multiplier': 9, 'num_splits': 2})\n", | |
"\tonnx mapped: Counter({'Const': 103, 'TFL_DEQUANTIZE': 65, 'TFL_QUANTIZE': 35, 'LeakyRelu': 22, 'TFL_CONCATENATION': 20, 'Conv2D': 19, 'Add': 17, 'DepthwiseConv2dNative': 9, 'Conv2DBackpropInput': 8, 'StridedSlice': 8, 'Reshape': 2, 'Split': 2, 'Placeholder': 1})\n", | |
"\tonnx unmapped: Counter()\n", | |
"2022-11-19 01:04:09,140 - INFO - tf2onnx.optimizer: Optimizing ONNX model\n", | |
"2022-11-19 01:04:09,143 - VERBOSE - tf2onnx.optimizer: Apply optimize_transpose\n", | |
"2022-11-19 01:04:09,634 - VERBOSE - tf2onnx.optimizer.TransposeOptimizer: Const +5 (336->341), Reshape +16 (11->27), Transpose -61 (144->83)\n", | |
"2022-11-19 01:04:09,634 - VERBOSE - tf2onnx.optimizer: Apply remove_redundant_upsample\n", | |
"2022-11-19 01:04:09,693 - VERBOSE - tf2onnx.optimizer.UpsampleOptimizer: no change\n", | |
"2022-11-19 01:04:09,693 - VERBOSE - tf2onnx.optimizer: Apply fold_constants\n", | |
"2022-11-19 01:04:09,773 - VERBOSE - tf2onnx.optimizer.ConstFoldOptimizer: Cast -2 (2->0), Concat -8 (20->12), Const -18 (341->323), Reshape -14 (27->13), Transpose -51 (83->32)\n", | |
"2022-11-19 01:04:09,773 - VERBOSE - tf2onnx.optimizer: Apply const_dequantize_optimizer\n", | |
"2022-11-19 01:04:09,833 - VERBOSE - tf2onnx.optimizer.ConstDequantizeOptimizer: Const -5 (323->318), Reshape -5 (13->8), Transpose -28 (32->4)\n", | |
"2022-11-19 01:04:09,833 - VERBOSE - tf2onnx.optimizer: Apply loop_optimizer\n", | |
"2022-11-19 01:04:09,876 - VERBOSE - tf2onnx.optimizer.LoopOptimizer: no change\n", | |
"2022-11-19 01:04:09,876 - VERBOSE - tf2onnx.optimizer: Apply merge_duplication\n", | |
"2022-11-19 01:04:09,940 - VERBOSE - tf2onnx.optimizer.MergeDuplicatedNodesOptimizer: Const -148 (318->170)\n", | |
"2022-11-19 01:04:09,941 - VERBOSE - tf2onnx.optimizer: Apply reshape_optimizer\n", | |
"2022-11-19 01:04:09,979 - VERBOSE - tf2onnx.optimizer.ReshapeOptimizer: no change\n", | |
"2022-11-19 01:04:09,979 - VERBOSE - tf2onnx.optimizer: Apply global_pool_optimizer\n", | |
"2022-11-19 01:04:10,014 - VERBOSE - tf2onnx.optimizer.GlobalPoolOptimizer: no change\n", | |
"2022-11-19 01:04:10,014 - VERBOSE - tf2onnx.optimizer: Apply q_dq_optimizer\n", | |
"2022-11-19 01:04:10,055 - VERBOSE - tf2onnx.optimizer.QDQOptimizer: DequantizeLinear -5 (65->60), QuantizeLinear -6 (35->29)\n", | |
"2022-11-19 01:04:10,056 - VERBOSE - tf2onnx.optimizer: Apply remove_identity\n", | |
"2022-11-19 01:04:10,086 - VERBOSE - tf2onnx.optimizer.IdentityOptimizer: Identity -1 (1->0)\n", | |
"2022-11-19 01:04:10,086 - VERBOSE - tf2onnx.optimizer: Apply remove_back_to_back\n", | |
"2022-11-19 01:04:10,121 - VERBOSE - tf2onnx.optimizer.BackToBackOptimizer: Const -1 (170->169), Reshape -1 (8->7)\n", | |
"2022-11-19 01:04:10,121 - VERBOSE - tf2onnx.optimizer: Apply einsum_optimizer\n", | |
"2022-11-19 01:04:10,155 - VERBOSE - tf2onnx.optimizer.EinsumOptimizer: no change\n", | |
"2022-11-19 01:04:10,155 - VERBOSE - tf2onnx.optimizer: Apply optimize_transpose\n", | |
"2022-11-19 01:04:10,414 - VERBOSE - tf2onnx.optimizer.TransposeOptimizer: no change\n", | |
"2022-11-19 01:04:10,414 - VERBOSE - tf2onnx.optimizer: Apply remove_redundant_upsample\n", | |
"2022-11-19 01:04:10,464 - VERBOSE - tf2onnx.optimizer.UpsampleOptimizer: no change\n", | |
"2022-11-19 01:04:10,464 - VERBOSE - tf2onnx.optimizer: Apply fold_constants\n", | |
"2022-11-19 01:04:10,524 - VERBOSE - tf2onnx.optimizer.ConstFoldOptimizer: no change\n", | |
"2022-11-19 01:04:10,524 - VERBOSE - tf2onnx.optimizer: Apply const_dequantize_optimizer\n", | |
"2022-11-19 01:04:10,577 - VERBOSE - tf2onnx.optimizer.ConstDequantizeOptimizer: no change\n", | |
"2022-11-19 01:04:10,578 - VERBOSE - tf2onnx.optimizer: Apply loop_optimizer\n", | |
"2022-11-19 01:04:10,634 - VERBOSE - tf2onnx.optimizer.LoopOptimizer: no change\n", | |
"2022-11-19 01:04:10,635 - VERBOSE - tf2onnx.optimizer: Apply merge_duplication\n", | |
"2022-11-19 01:04:10,706 - VERBOSE - tf2onnx.optimizer.MergeDuplicatedNodesOptimizer: no change\n", | |
"2022-11-19 01:04:10,706 - VERBOSE - tf2onnx.optimizer: Apply reshape_optimizer\n", | |
"2022-11-19 01:04:10,762 - VERBOSE - tf2onnx.optimizer.ReshapeOptimizer: no change\n", | |
"2022-11-19 01:04:10,762 - VERBOSE - tf2onnx.optimizer: Apply global_pool_optimizer\n", | |
"2022-11-19 01:04:10,823 - VERBOSE - tf2onnx.optimizer.GlobalPoolOptimizer: no change\n", | |
"2022-11-19 01:04:10,823 - VERBOSE - tf2onnx.optimizer: Apply q_dq_optimizer\n", | |
"2022-11-19 01:04:10,881 - VERBOSE - tf2onnx.optimizer.QDQOptimizer: no change\n", | |
"2022-11-19 01:04:10,881 - VERBOSE - tf2onnx.optimizer: Apply remove_identity\n", | |
"2022-11-19 01:04:10,953 - VERBOSE - tf2onnx.optimizer.IdentityOptimizer: no change\n", | |
"2022-11-19 01:04:10,954 - VERBOSE - tf2onnx.optimizer: Apply remove_back_to_back\n", | |
"2022-11-19 01:04:11,012 - VERBOSE - tf2onnx.optimizer.BackToBackOptimizer: no change\n", | |
"2022-11-19 01:04:11,013 - VERBOSE - tf2onnx.optimizer: Apply einsum_optimizer\n", | |
"2022-11-19 01:04:11,071 - VERBOSE - tf2onnx.optimizer.EinsumOptimizer: no change\n", | |
"2022-11-19 01:04:11,084 - INFO - tf2onnx.optimizer: After optimization: Cast -2 (2->0), Concat -8 (20->12), Const -167 (336->169), DequantizeLinear -5 (65->60), Identity -1 (1->0), QuantizeLinear -6 (35->29), Reshape -4 (11->7), Transpose -140 (144->4)\n", | |
"2022-11-19 01:04:11,129 - INFO - tf2onnx: \n", | |
"2022-11-19 01:04:11,130 - INFO - tf2onnx: Successfully converted TensorFlow model lyragan.tflite to ONNX\n", | |
"2022-11-19 01:04:11,130 - INFO - tf2onnx: Model inputs: ['serving_default_input_audio:0']\n", | |
"2022-11-19 01:04:11,130 - INFO - tf2onnx: Model outputs: ['StatefulPartitionedCall:0']\n", | |
"2022-11-19 01:04:11,131 - INFO - tf2onnx: ONNX model is saved at lyragan.onnx\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# Extract encoder and decoder subgraphs of quantizer:\n", | |
"import flatbuffer_utils as fbu\n", | |
"import numpy as np\n", | |
"\n", | |
"model = fbu.read_model('quantizer.tflite')\n", | |
"encoder_subgraph = model.subgraphs[1]\n", | |
"decoder_subgraph = model.subgraphs[0]\n", | |
"\n", | |
"# print(encoder_subgraph.outputs)\n", | |
"encoder_subgraph.outputs = np.array([703], dtype=\"int32\") # outputs are [96 703], but 96 is a \"lone\"/unused node and causes an error during inference, so we remove it\n", | |
"model.subgraphs = [encoder_subgraph]\n", | |
"fbu.write_model(model, 'quantizer_encoder.tflite')\n", | |
"\n", | |
"model.subgraphs = [decoder_subgraph]\n", | |
"fbu.write_model(model, 'quantizer_decoder.tflite')" | |
], | |
"metadata": { | |
"id": "rNDr4QUvnUJE" | |
}, | |
"execution_count": 6, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# Quantizer Encoder:\n", | |
"!python -m tf2onnx.convert --opset 17 --tflite quantizer_encoder.tflite --output quantizer_encoder.onnx --verbose --debug" | |
], | |
"metadata": { | |
"id": "taxo4wAwNGQo", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"outputId": "f1d9b134-4501-4b2f-cf49-f95fc06013ca" | |
}, | |
"execution_count": 7, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"/usr/lib/python3.7/runpy.py:125: RuntimeWarning: 'tf2onnx.convert' found in sys.modules after import of package 'tf2onnx', but prior to execution of 'tf2onnx.convert'; this may result in unpredictable behaviour\n", | |
" warn(RuntimeWarning(msg))\n", | |
"2022-11-19 01:04:20,140 - INFO - tf2onnx: inputs: None\n", | |
"2022-11-19 01:04:20,140 - INFO - tf2onnx: outputs: None\n", | |
"2022-11-19 01:04:20,157 - INFO - tf2onnx.tfonnx: Using tensorflow=2.9.2, onnx=1.12.0, tf2onnx=1.13.0/97d762\n", | |
"2022-11-19 01:04:20,157 - INFO - tf2onnx.tfonnx: Using opset <onnx, 17>\n", | |
"INFO: Created TensorFlow Lite XNNPACK delegate for CPU.\n", | |
"2022-11-19 01:04:20,407 - VERBOSE - tf2onnx.tfonnx: Mapping TF node to ONNX node(s)\n", | |
"2022-11-19 01:04:20,707 - VERBOSE - tf2onnx.tfonnx: Mapping TF node to ONNX node(s)\n", | |
"2022-11-19 01:04:21,007 - VERBOSE - tf2onnx.tfonnx: Summay Stats:\n", | |
"\ttensorflow ops: Counter({'Const': 147, 'TFL_RESHAPE': 92, 'TFL_SUB': 91, 'TFL_STRIDED_SLICE': 46, 'TFL_SQUARED_DIFFERENCE': 46, 'TFL_SUM': 46, 'TFL_ARG_MIN': 46, 'TFL_ONE_HOT': 46, 'TFL_MUL': 46, 'TFL_ADD': 46, 'TFL_GATHER': 45, 'TFL_CAST': 2, 'Placeholder': 2, 'TFL_LESS': 1, 'TFL_PACK': 1, 'TFL_ARG_MAX': 1, 'Identity': 1})\n", | |
"\ttensorflow attr: Counter({'fused_activation_function': 183, 'value': 147, 'pot_scale_int16': 137, 'axis': 92, 'output_type': 47, 'begin_mask': 46, 'ellipsis_mask': 46, 'end_mask': 46, 'new_axis_mask': 46, 'shrink_axis_mask': 46, 'keep_dims': 46, 'batch_dims': 45, 'values_count': 1})\n", | |
"\tonnx mapped: Counter({'Const': 191, 'Reshape': 92, 'Sub': 91, 'SquaredDifference': 46, 'StridedSlice': 46, 'Sum': 46, 'ArgMin': 46, 'OneHot': 46, 'Mul': 46, 'Add': 46, 'GatherV2': 45, 'Placeholder': 2, 'Cast': 2, 'Less': 1, 'Pack': 1, 'ArgMax': 1})\n", | |
"\tonnx unmapped: Counter()\n", | |
"2022-11-19 01:04:21,008 - INFO - tf2onnx.optimizer: Optimizing ONNX model\n", | |
"2022-11-19 01:04:21,013 - VERBOSE - tf2onnx.optimizer: Apply optimize_transpose\n", | |
"2022-11-19 01:04:21,171 - VERBOSE - tf2onnx.optimizer.TransposeOptimizer: Const -92 (605->513)\n", | |
"2022-11-19 01:04:21,172 - VERBOSE - tf2onnx.optimizer: Apply remove_redundant_upsample\n", | |
"2022-11-19 01:04:21,305 - VERBOSE - tf2onnx.optimizer.UpsampleOptimizer: no change\n", | |
"2022-11-19 01:04:21,305 - VERBOSE - tf2onnx.optimizer: Apply fold_constants\n", | |
"2022-11-19 01:04:21,689 - VERBOSE - tf2onnx.optimizer.ConstFoldOptimizer: Cast -139 (189->50), Concat -46 (47->1), Const +40 (513->553), Reshape -46 (138->92), Unsqueeze -138 (184->46)\n", | |
"2022-11-19 01:04:21,689 - VERBOSE - tf2onnx.optimizer: Apply const_dequantize_optimizer\n", | |
"2022-11-19 01:04:21,800 - VERBOSE - tf2onnx.optimizer.ConstDequantizeOptimizer: no change\n", | |
"2022-11-19 01:04:21,800 - VERBOSE - tf2onnx.optimizer: Apply loop_optimizer\n", | |
"2022-11-19 01:04:21,903 - VERBOSE - tf2onnx.optimizer.LoopOptimizer: no change\n", | |
"2022-11-19 01:04:21,903 - VERBOSE - tf2onnx.optimizer: Apply merge_duplication\n", | |
"2022-11-19 01:04:22,039 - VERBOSE - tf2onnx.optimizer.MergeDuplicatedNodesOptimizer: Const -407 (553->146)\n", | |
"2022-11-19 01:04:22,039 - VERBOSE - tf2onnx.optimizer: Apply reshape_optimizer\n", | |
"2022-11-19 01:04:22,107 - VERBOSE - tf2onnx.optimizer.ReshapeOptimizer: no change\n", | |
"2022-11-19 01:04:22,107 - VERBOSE - tf2onnx.optimizer: Apply global_pool_optimizer\n", | |
"2022-11-19 01:04:22,175 - VERBOSE - tf2onnx.optimizer.GlobalPoolOptimizer: no change\n", | |
"2022-11-19 01:04:22,176 - VERBOSE - tf2onnx.optimizer: Apply q_dq_optimizer\n", | |
"2022-11-19 01:04:22,242 - VERBOSE - tf2onnx.optimizer.QDQOptimizer: no change\n", | |
"2022-11-19 01:04:22,242 - VERBOSE - tf2onnx.optimizer: Apply remove_identity\n", | |
"2022-11-19 01:04:22,319 - VERBOSE - tf2onnx.optimizer.IdentityOptimizer: Identity -1 (1->0)\n", | |
"2022-11-19 01:04:22,319 - VERBOSE - tf2onnx.optimizer: Apply remove_back_to_back\n", | |
"2022-11-19 01:04:22,393 - VERBOSE - tf2onnx.optimizer.BackToBackOptimizer: no change\n", | |
"2022-11-19 01:04:22,393 - VERBOSE - tf2onnx.optimizer: Apply einsum_optimizer\n", | |
"2022-11-19 01:04:22,459 - VERBOSE - tf2onnx.optimizer.EinsumOptimizer: no change\n", | |
"2022-11-19 01:04:22,459 - VERBOSE - tf2onnx.optimizer: Apply optimize_transpose\n", | |
"2022-11-19 01:04:22,740 - VERBOSE - tf2onnx.optimizer.TransposeOptimizer: no change\n", | |
"2022-11-19 01:04:22,740 - VERBOSE - tf2onnx.optimizer: Apply remove_redundant_upsample\n", | |
"2022-11-19 01:04:22,809 - VERBOSE - tf2onnx.optimizer.UpsampleOptimizer: no change\n", | |
"2022-11-19 01:04:22,809 - VERBOSE - tf2onnx.optimizer: Apply fold_constants\n", | |
"2022-11-19 01:04:22,881 - VERBOSE - tf2onnx.optimizer.ConstFoldOptimizer: no change\n", | |
"2022-11-19 01:04:22,881 - VERBOSE - tf2onnx.optimizer: Apply const_dequantize_optimizer\n", | |
"2022-11-19 01:04:22,959 - VERBOSE - tf2onnx.optimizer.ConstDequantizeOptimizer: no change\n", | |
"2022-11-19 01:04:22,959 - VERBOSE - tf2onnx.optimizer: Apply loop_optimizer\n", | |
"2022-11-19 01:04:23,034 - VERBOSE - tf2onnx.optimizer.LoopOptimizer: no change\n", | |
"2022-11-19 01:04:23,034 - VERBOSE - tf2onnx.optimizer: Apply merge_duplication\n", | |
"2022-11-19 01:04:23,109 - VERBOSE - tf2onnx.optimizer.MergeDuplicatedNodesOptimizer: no change\n", | |
"2022-11-19 01:04:23,110 - VERBOSE - tf2onnx.optimizer: Apply reshape_optimizer\n", | |
"2022-11-19 01:04:23,185 - VERBOSE - tf2onnx.optimizer.ReshapeOptimizer: no change\n", | |
"2022-11-19 01:04:23,185 - VERBOSE - tf2onnx.optimizer: Apply global_pool_optimizer\n", | |
"2022-11-19 01:04:23,253 - VERBOSE - tf2onnx.optimizer.GlobalPoolOptimizer: no change\n", | |
"2022-11-19 01:04:23,253 - VERBOSE - tf2onnx.optimizer: Apply q_dq_optimizer\n", | |
"2022-11-19 01:04:23,326 - VERBOSE - tf2onnx.optimizer.QDQOptimizer: no change\n", | |
"2022-11-19 01:04:23,326 - VERBOSE - tf2onnx.optimizer: Apply remove_identity\n", | |
"2022-11-19 01:04:23,392 - VERBOSE - tf2onnx.optimizer.IdentityOptimizer: no change\n", | |
"2022-11-19 01:04:23,393 - VERBOSE - tf2onnx.optimizer: Apply remove_back_to_back\n", | |
"2022-11-19 01:04:23,460 - VERBOSE - tf2onnx.optimizer.BackToBackOptimizer: no change\n", | |
"2022-11-19 01:04:23,461 - VERBOSE - tf2onnx.optimizer: Apply einsum_optimizer\n", | |
"2022-11-19 01:04:23,530 - VERBOSE - tf2onnx.optimizer.EinsumOptimizer: no change\n", | |
"2022-11-19 01:04:23,547 - INFO - tf2onnx.optimizer: After optimization: Cast -139 (189->50), Concat -46 (47->1), Const -459 (605->146), Identity -1 (1->0), Reshape -46 (138->92), Unsqueeze -138 (184->46)\n", | |
"2022-11-19 01:04:23,600 - INFO - tf2onnx: \n", | |
"2022-11-19 01:04:23,600 - INFO - tf2onnx: Successfully converted TensorFlow model quantizer_encoder.tflite to ONNX\n", | |
"2022-11-19 01:04:23,601 - INFO - tf2onnx: Model inputs: ['encode_num_quantizers:0', 'encode_input_frames:0']\n", | |
"2022-11-19 01:04:23,601 - INFO - tf2onnx: Model outputs: ['StatefulPartitionedCall_1:0']\n", | |
"2022-11-19 01:04:23,601 - INFO - tf2onnx: ONNX model is saved at quantizer_encoder.onnx\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# Quantizer Decoder:\n", | |
"!python -m tf2onnx.convert --opset 17 --tflite quantizer_decoder.tflite --output quantizer_decoder.onnx --verbose --debug" | |
], | |
"metadata": { | |
"id": "4rmvyaQcnZM8", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"outputId": "1118b72b-b8fa-4c34-c499-3c128aeb8284" | |
}, | |
"execution_count": 8, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"/usr/lib/python3.7/runpy.py:125: RuntimeWarning: 'tf2onnx.convert' found in sys.modules after import of package 'tf2onnx', but prior to execution of 'tf2onnx.convert'; this may result in unpredictable behaviour\n", | |
" warn(RuntimeWarning(msg))\n", | |
"2022-11-19 01:04:28,137 - INFO - tf2onnx: inputs: None\n", | |
"2022-11-19 01:04:28,138 - INFO - tf2onnx: outputs: None\n", | |
"2022-11-19 01:04:28,155 - INFO - tf2onnx.tfonnx: Using tensorflow=2.9.2, onnx=1.12.0, tf2onnx=1.13.0/97d762\n", | |
"2022-11-19 01:04:28,155 - INFO - tf2onnx.tfonnx: Using opset <onnx, 17>\n", | |
"INFO: Created TensorFlow Lite XNNPACK delegate for CPU.\n", | |
"2022-11-19 01:04:28,301 - VERBOSE - tf2onnx.tfonnx: Mapping TF node to ONNX node(s)\n", | |
"2022-11-19 01:04:28,466 - VERBOSE - tf2onnx.tfonnx: Mapping TF node to ONNX node(s)\n", | |
"2022-11-19 01:04:28,596 - VERBOSE - tf2onnx.tfonnx: Summay Stats:\n", | |
"\ttensorflow ops: Counter({'Const': 188, 'TFL_STRIDED_SLICE': 93, 'TFL_GATHER': 46, 'TFL_MUL': 46, 'TFL_ADD': 45, 'TFL_MAXIMUM': 1, 'TFL_NOT_EQUAL': 1, 'TFL_CAST': 1, 'Placeholder': 1, 'Identity': 1})\n", | |
"\ttensorflow attr: Counter({'value': 188, 'begin_mask': 93, 'ellipsis_mask': 93, 'end_mask': 93, 'new_axis_mask': 93, 'shrink_axis_mask': 93, 'fused_activation_function': 91, 'axis': 46, 'batch_dims': 46, 'pot_scale_int16': 45})\n", | |
"\tonnx mapped: Counter({'Const': 234, 'StridedSlice': 93, 'GatherV2': 46, 'Mul': 46, 'Add': 45, 'Placeholder': 1, 'NotEqual': 1, 'Maximum': 1, 'Cast': 1})\n", | |
"\tonnx unmapped: Counter()\n", | |
"2022-11-19 01:04:28,597 - INFO - tf2onnx.optimizer: Optimizing ONNX model\n", | |
"2022-11-19 01:04:28,600 - VERBOSE - tf2onnx.optimizer: Apply optimize_transpose\n", | |
"2022-11-19 01:04:28,685 - VERBOSE - tf2onnx.optimizer.TransposeOptimizer: Const -186 (606->420)\n", | |
"2022-11-19 01:04:28,685 - VERBOSE - tf2onnx.optimizer: Apply remove_redundant_upsample\n", | |
"2022-11-19 01:04:28,743 - VERBOSE - tf2onnx.optimizer.UpsampleOptimizer: no change\n", | |
"2022-11-19 01:04:28,743 - VERBOSE - tf2onnx.optimizer: Apply fold_constants\n", | |
"2022-11-19 01:04:28,812 - VERBOSE - tf2onnx.optimizer.ConstFoldOptimizer: no change\n", | |
"2022-11-19 01:04:28,812 - VERBOSE - tf2onnx.optimizer: Apply const_dequantize_optimizer\n", | |
"2022-11-19 01:04:28,878 - VERBOSE - tf2onnx.optimizer.ConstDequantizeOptimizer: no change\n", | |
"2022-11-19 01:04:28,878 - VERBOSE - tf2onnx.optimizer: Apply loop_optimizer\n", | |
"2022-11-19 01:04:28,946 - VERBOSE - tf2onnx.optimizer.LoopOptimizer: no change\n", | |
"2022-11-19 01:04:28,947 - VERBOSE - tf2onnx.optimizer: Apply merge_duplication\n", | |
"2022-11-19 01:04:29,032 - VERBOSE - tf2onnx.optimizer.MergeDuplicatedNodesOptimizer: Const -230 (420->190)\n", | |
"2022-11-19 01:04:29,032 - VERBOSE - tf2onnx.optimizer: Apply reshape_optimizer\n", | |
"2022-11-19 01:04:29,084 - VERBOSE - tf2onnx.optimizer.ReshapeOptimizer: no change\n", | |
"2022-11-19 01:04:29,084 - VERBOSE - tf2onnx.optimizer: Apply global_pool_optimizer\n", | |
"2022-11-19 01:04:29,124 - VERBOSE - tf2onnx.optimizer.GlobalPoolOptimizer: no change\n", | |
"2022-11-19 01:04:29,124 - VERBOSE - tf2onnx.optimizer: Apply q_dq_optimizer\n", | |
"2022-11-19 01:04:29,166 - VERBOSE - tf2onnx.optimizer.QDQOptimizer: no change\n", | |
"2022-11-19 01:04:29,167 - VERBOSE - tf2onnx.optimizer: Apply remove_identity\n", | |
"2022-11-19 01:04:29,444 - VERBOSE - tf2onnx.optimizer.IdentityOptimizer: Identity -1 (1->0)\n", | |
"2022-11-19 01:04:29,444 - VERBOSE - tf2onnx.optimizer: Apply remove_back_to_back\n", | |
"2022-11-19 01:04:29,486 - VERBOSE - tf2onnx.optimizer.BackToBackOptimizer: no change\n", | |
"2022-11-19 01:04:29,487 - VERBOSE - tf2onnx.optimizer: Apply einsum_optimizer\n", | |
"2022-11-19 01:04:29,531 - VERBOSE - tf2onnx.optimizer.EinsumOptimizer: no change\n", | |
"2022-11-19 01:04:29,532 - VERBOSE - tf2onnx.optimizer: Apply optimize_transpose\n", | |
"2022-11-19 01:04:29,579 - VERBOSE - tf2onnx.optimizer.TransposeOptimizer: no change\n", | |
"2022-11-19 01:04:29,579 - VERBOSE - tf2onnx.optimizer: Apply remove_redundant_upsample\n", | |
"2022-11-19 01:04:29,617 - VERBOSE - tf2onnx.optimizer.UpsampleOptimizer: no change\n", | |
"2022-11-19 01:04:29,617 - VERBOSE - tf2onnx.optimizer: Apply fold_constants\n", | |
"2022-11-19 01:04:29,658 - VERBOSE - tf2onnx.optimizer.ConstFoldOptimizer: no change\n", | |
"2022-11-19 01:04:29,658 - VERBOSE - tf2onnx.optimizer: Apply const_dequantize_optimizer\n", | |
"2022-11-19 01:04:29,712 - VERBOSE - tf2onnx.optimizer.ConstDequantizeOptimizer: no change\n", | |
"2022-11-19 01:04:29,712 - VERBOSE - tf2onnx.optimizer: Apply loop_optimizer\n", | |
"2022-11-19 01:04:29,750 - VERBOSE - tf2onnx.optimizer.LoopOptimizer: no change\n", | |
"2022-11-19 01:04:29,750 - VERBOSE - tf2onnx.optimizer: Apply merge_duplication\n", | |
"2022-11-19 01:04:29,795 - VERBOSE - tf2onnx.optimizer.MergeDuplicatedNodesOptimizer: no change\n", | |
"2022-11-19 01:04:29,795 - VERBOSE - tf2onnx.optimizer: Apply reshape_optimizer\n", | |
"2022-11-19 01:04:29,835 - VERBOSE - tf2onnx.optimizer.ReshapeOptimizer: no change\n", | |
"2022-11-19 01:04:29,836 - VERBOSE - tf2onnx.optimizer: Apply global_pool_optimizer\n", | |
"2022-11-19 01:04:29,875 - VERBOSE - tf2onnx.optimizer.GlobalPoolOptimizer: no change\n", | |
"2022-11-19 01:04:29,875 - VERBOSE - tf2onnx.optimizer: Apply q_dq_optimizer\n", | |
"2022-11-19 01:04:29,925 - VERBOSE - tf2onnx.optimizer.QDQOptimizer: no change\n", | |
"2022-11-19 01:04:29,925 - VERBOSE - tf2onnx.optimizer: Apply remove_identity\n", | |
"2022-11-19 01:04:29,968 - VERBOSE - tf2onnx.optimizer.IdentityOptimizer: no change\n", | |
"2022-11-19 01:04:29,968 - VERBOSE - tf2onnx.optimizer: Apply remove_back_to_back\n", | |
"2022-11-19 01:04:30,017 - VERBOSE - tf2onnx.optimizer.BackToBackOptimizer: no change\n", | |
"2022-11-19 01:04:30,017 - VERBOSE - tf2onnx.optimizer: Apply einsum_optimizer\n", | |
"2022-11-19 01:04:30,055 - VERBOSE - tf2onnx.optimizer.EinsumOptimizer: no change\n", | |
"2022-11-19 01:04:30,064 - INFO - tf2onnx.optimizer: After optimization: Const -416 (606->190), Identity -1 (1->0)\n", | |
"2022-11-19 01:04:30,089 - INFO - tf2onnx: \n", | |
"2022-11-19 01:04:30,089 - INFO - tf2onnx: Successfully converted TensorFlow model quantizer_decoder.tflite to ONNX\n", | |
"2022-11-19 01:04:30,089 - INFO - tf2onnx: Model inputs: ['decode_encoding_indices:0']\n", | |
"2022-11-19 01:04:30,089 - INFO - tf2onnx: Model outputs: ['StatefulPartitionedCall:0']\n", | |
"2022-11-19 01:04:30,089 - INFO - tf2onnx: ONNX model is saved at quantizer_decoder.onnx\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# ONNX to ORT:\n", | |
"!python -m onnxruntime.tools.convert_onnx_models_to_ort soundstream_encoder.onnx\n", | |
"!python -m onnxruntime.tools.convert_onnx_models_to_ort quantizer_encoder.onnx\n", | |
"!python -m onnxruntime.tools.convert_onnx_models_to_ort quantizer_decoder.onnx\n", | |
"!python -m onnxruntime.tools.convert_onnx_models_to_ort lyragan.onnx" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "w626ZOeya5_j", | |
"outputId": "0c030f5f-cc79-410e-c95a-ffc53305b884" | |
}, | |
"execution_count": 22, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Converting models with optimization style 'Fixed' and level 'all'\n", | |
"Converting optimized ONNX model /content/soundstream_encoder.onnx to ORT format model /content/soundstream_encoder.ort\n", | |
"Converted 1/1 models successfully.\n", | |
"Generating config file from ORT format models with optimization style 'Fixed' and level 'all'\n", | |
"2022-11-19 01:06:59,211 ort_format_model.utils [INFO] - Created config in /content/soundstream_encoder.required_operators.config\n", | |
"Converting models with optimization style 'Runtime' and level 'all'\n", | |
"Converting optimized ONNX model /content/soundstream_encoder.onnx to ORT format model /content/soundstream_encoder.with_runtime_opt.ort\n", | |
"Converted 1/1 models successfully.\n", | |
"Converting models again without runtime optimizations to generate a complete config file. These converted models are temporary and will be deleted.\n", | |
"Converting optimized ONNX model /content/soundstream_encoder.onnx to ORT format model /content/tmpqohg8s0b.without_runtime_opt/soundstream_encoder.ort\n", | |
"Converted 1/1 models successfully.\n", | |
"Generating config file from ORT format models with optimization style 'Runtime' and level 'all'\n", | |
"2022-11-19 01:06:59,277 ort_format_model.utils [INFO] - Created config in /content/soundstream_encoder.required_operators.with_runtime_opt.config\n", | |
"Converting models with optimization style 'Fixed' and level 'all'\n", | |
"Converting optimized ONNX model /content/quantizer_encoder.onnx to ORT format model /content/quantizer_encoder.ort\n", | |
"Converted 1/1 models successfully.\n", | |
"Generating config file from ORT format models with optimization style 'Fixed' and level 'all'\n", | |
"2022-11-19 01:07:01,897 ort_format_model.utils [INFO] - Created config in /content/quantizer_encoder.required_operators.config\n", | |
"Converting models with optimization style 'Runtime' and level 'all'\n", | |
"Converting optimized ONNX model /content/quantizer_encoder.onnx to ORT format model /content/quantizer_encoder.with_runtime_opt.ort\n", | |
"Converted 1/1 models successfully.\n", | |
"Converting models again without runtime optimizations to generate a complete config file. These converted models are temporary and will be deleted.\n", | |
"Converting optimized ONNX model /content/quantizer_encoder.onnx to ORT format model /content/tmpy1z7cupb.without_runtime_opt/quantizer_encoder.ort\n", | |
"Converted 1/1 models successfully.\n", | |
"Generating config file from ORT format models with optimization style 'Runtime' and level 'all'\n", | |
"2022-11-19 01:07:02,127 ort_format_model.utils [INFO] - Created config in /content/quantizer_encoder.required_operators.with_runtime_opt.config\n", | |
"Converting models with optimization style 'Fixed' and level 'all'\n", | |
"Converting optimized ONNX model /content/quantizer_decoder.onnx to ORT format model /content/quantizer_decoder.ort\n", | |
"Converted 1/1 models successfully.\n", | |
"Generating config file from ORT format models with optimization style 'Fixed' and level 'all'\n", | |
"2022-11-19 01:07:03,638 ort_format_model.utils [INFO] - Created config in /content/quantizer_decoder.required_operators.config\n", | |
"Converting models with optimization style 'Runtime' and level 'all'\n", | |
"Converting optimized ONNX model /content/quantizer_decoder.onnx to ORT format model /content/quantizer_decoder.with_runtime_opt.ort\n", | |
"Converted 1/1 models successfully.\n", | |
"Converting models again without runtime optimizations to generate a complete config file. These converted models are temporary and will be deleted.\n", | |
"Converting optimized ONNX model /content/quantizer_decoder.onnx to ORT format model /content/tmp6_ea0w8h.without_runtime_opt/quantizer_decoder.ort\n", | |
"Converted 1/1 models successfully.\n", | |
"Generating config file from ORT format models with optimization style 'Runtime' and level 'all'\n", | |
"2022-11-19 01:07:03,721 ort_format_model.utils [INFO] - Created config in /content/quantizer_decoder.required_operators.with_runtime_opt.config\n", | |
"Converting models with optimization style 'Fixed' and level 'all'\n", | |
"Converting optimized ONNX model /content/lyragan.onnx to ORT format model /content/lyragan.ort\n", | |
"Converted 1/1 models successfully.\n", | |
"Generating config file from ORT format models with optimization style 'Fixed' and level 'all'\n", | |
"2022-11-19 01:07:05,301 ort_format_model.utils [INFO] - Created config in /content/lyragan.required_operators.config\n", | |
"Converting models with optimization style 'Runtime' and level 'all'\n", | |
"Converting optimized ONNX model /content/lyragan.onnx to ORT format model /content/lyragan.with_runtime_opt.ort\n", | |
"Converted 1/1 models successfully.\n", | |
"Converting models again without runtime optimizations to generate a complete config file. These converted models are temporary and will be deleted.\n", | |
"Converting optimized ONNX model /content/lyragan.onnx to ORT format model /content/tmp9kx3hq06.without_runtime_opt/lyragan.ort\n", | |
"Converted 1/1 models successfully.\n", | |
"Generating config file from ORT format models with optimization style 'Runtime' and level 'all'\n", | |
"2022-11-19 01:07:05,394 ort_format_model.utils [INFO] - Created config in /content/lyragan.required_operators.with_runtime_opt.config\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"######################################\n", | |
"# TFLITE INFERENCE TESTS #\n", | |
"######################################" | |
], | |
"metadata": { | |
"id": "c9lBfY2wllmu" | |
}, | |
"execution_count": 9, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"import tensorflow as tf\n", | |
"import numpy as np" | |
], | |
"metadata": { | |
"id": "6nApW8IemTas" | |
}, | |
"execution_count": 10, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# Encoder:\n", | |
"interpreter = tf.lite.Interpreter(model_path=\"soundstream_encoder.tflite\")\n", | |
"interpreter.allocate_tensors()\n", | |
"\n", | |
"input_details = interpreter.get_input_details()\n", | |
"output_details = interpreter.get_output_details()\n", | |
" \n", | |
"input_data = np.ones(input_details[0]['shape'], dtype=input_details[0]['dtype'])\n", | |
"interpreter.set_tensor(input_details[0]['index'], input_data)\n", | |
"\n", | |
"interpreter.invoke()\n", | |
"output_data = interpreter.get_tensor(output_details[0]['index'])\n", | |
"print(output_data)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "aj1TD5P6l3jU", | |
"outputId": "39635891-91a8-460b-a881-c122f58c5789" | |
}, | |
"execution_count": 11, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"[[[ 0.7904744 10.276169 28.19359 -0.5269828 0.5269828\n", | |
" -10.803152 5.0063386 14.755524 -3.6888812 16.863457\n", | |
" 14.22854 28.19359 -11.593626 -19.23488 2.107932\n", | |
" -10.803152 3.1618981 15.546 -22.396778 12.3841\n", | |
" -13.96505 -14.228542 13.4380665 -0.5269828 -1.8444405\n", | |
" -12.120609 17.39044 -5.0063386 5.0063386 11.066643\n", | |
" 11.857117 5.533322 -21.342813 -1.8444405 -2.3714237\n", | |
" 2.8984065 -11.066643 0.7904744 -0.26349163 -16.863457\n", | |
" -2.3714237 -36.098335 -5.0063386 -5.796813 10.276169\n", | |
" 28.19359 3.6888814 -21.869797 4.2158647 3.952373\n", | |
" 3.4253898 -3.9523726 -10.012678 0.5269828 -10.803152\n", | |
" -7.1142707 -1.053966 6.060305 5.7968135 1.5809493\n", | |
" 2.3714237 -2.634915 4.742847 -5.0063386 ]]]\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# Decoder:\n", | |
"interpreter = tf.lite.Interpreter(model_path=\"lyragan.tflite\")\n", | |
"interpreter.allocate_tensors()\n", | |
"\n", | |
"input_details = interpreter.get_input_details()\n", | |
"output_details = interpreter.get_output_details()\n", | |
" \n", | |
"input_data = np.ones(input_details[0]['shape'], dtype=input_details[0]['dtype'])\n", | |
"interpreter.set_tensor(input_details[0]['index'], input_data)\n", | |
"\n", | |
"interpreter.invoke()\n", | |
"output_data = interpreter.get_tensor(output_details[0]['index'])\n", | |
"print(output_data)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "JeoUEmWCmERu", | |
"outputId": "5e5ca660-09c9-4e0f-ec6e-016c02fe1e5c" | |
}, | |
"execution_count": 12, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"[[-0.08127258 -0.08613486 -0.0747382 -0.06002074 -0.04250139 -0.0198631\n", | |
" -0.01175853 -0.02276788 -0.02182441 -0.00906605 -0.00302311 0.00078181\n", | |
" 0.01011714 0.01724185 0.01605823 0.01232642 0.01369675 0.01452155\n", | |
" 0.00859275 -0.00057547 -0.00427339 -0.00815686 -0.01937546 -0.03258592\n", | |
" -0.03760296 -0.03488879 -0.02969253 -0.02827215 -0.02694574 -0.02176241\n", | |
" -0.01538664 -0.01080426 -0.0085725 -0.01202897 -0.01671131 -0.01752153\n", | |
" -0.01498835 -0.0106385 -0.00364312 -0.00044127 -0.00153568 -0.00369553\n", | |
" -0.00803893 -0.0098175 -0.00454145 0.00065309 -0.00134297 -0.00558998\n", | |
" -0.00603777 -0.0022747 0.00660885 0.01751961 0.02602419 0.03545919\n", | |
" 0.04929275 0.05771869 0.06273677 0.06611503 0.06584517 0.06376097\n", | |
" 0.05670787 0.04363668 0.0256497 0.01486481 0.01079466 0.00721379\n", | |
" 0.00179386 -0.00788169 -0.01316232 -0.01376909 -0.01161295 -0.00804049\n", | |
" -0.00377577 0.00169816 0.00694085 0.00892168 0.00280193 -0.00466366\n", | |
" -0.00516054 0.00055466 0.00697875 0.00789343 0.00667084 0.00488335\n", | |
" 0.00340427 0.0020238 0.00627876 0.01386987 0.02171464 0.02969881\n", | |
" 0.03113408 0.02459367 0.02434235 0.02830893 0.03260579 0.03586697\n", | |
" 0.03154873 0.02249595 0.01777363 0.00881635 0.00526121 0.0061869\n", | |
" 0.01236895 0.01976865 0.02843821 0.0333776 0.02858244 0.02465557\n", | |
" 0.01897325 0.01455756 0.01645225 0.01403074 0.01042562 0.0118446\n", | |
" 0.01323586 0.0100523 0.00350214 -0.00203611 -0.00775302 -0.00738943\n", | |
" -0.00390597 -0.00313447 -0.00127908 -0.00111593 -0.00768645 -0.01142091\n", | |
" -0.01378584 -0.01844044 -0.02237562 -0.02741647 -0.03559956 -0.04083376\n", | |
" -0.0440126 -0.04735634 -0.04977979 -0.04894609 -0.04867833 -0.04750179\n", | |
" -0.0469006 -0.04645702 -0.04493454 -0.04013977 -0.0353608 -0.02905325\n", | |
" -0.02003766 -0.01339278 -0.00873863 -0.0117799 -0.01975959 -0.02655515\n", | |
" -0.02703553 -0.02580991 -0.0227993 -0.01863451 -0.01504139 -0.01237858\n", | |
" -0.00926843 -0.00916142 -0.00806826 -0.00340114 0.00019984 0.00331712\n", | |
" 0.00646978 0.00759472 0.01088247 0.01665631 0.01986945 0.02061653\n", | |
" 0.02135681 0.01936015 0.01519628 0.01272692 0.00964167 0.00658914\n", | |
" 0.00769695 0.01106901 0.01070425 0.00771621 0.00450991 0.00443814\n", | |
" 0.00043892 -0.00585883 -0.00894464 -0.0091894 -0.00865595 -0.00508251\n", | |
" -0.00222008 -0.00139924 0.00073767 0.00251386 0.00645551 0.00903459\n", | |
" 0.00932947 0.01105248 0.01406156 0.0138092 0.01201623 0.01198767\n", | |
" 0.01193811 0.01236149 0.0097899 0.00447498 0.00220789 0.00345013\n", | |
" 0.00329575 0.00236025 0.001483 0.00338328 0.00351477 0.00216776\n", | |
" 0.00012734 -0.00258286 -0.00460105 -0.00457662 -0.00420439 -0.00310523\n", | |
" -0.00260046 -0.00248672 0.00061184 0.00191372 0.00186816 0.0041266\n", | |
" 0.00782409 0.01173083 0.01164359 0.01134266 0.01088088 0.00780193\n", | |
" 0.00166981 -0.00377702 -0.00810365 -0.01169529 -0.00907499 -0.00760327\n", | |
" -0.00904338 -0.00902332 -0.00644051 -0.00294857 0.00322958 0.00674635\n", | |
" 0.0074965 0.01181904 0.01777688 0.01921917 0.0185998 0.01916331\n", | |
" 0.01892736 0.02111905 0.02207046 0.02020435 0.0198319 0.02162639\n", | |
" 0.02064871 0.01865528 0.01762004 0.01691159 0.01956065 0.02024382\n", | |
" 0.0199923 0.01937235 0.02005558 0.01712633 0.01082984 0.00818115\n", | |
" 0.00731743 0.00450141 0.00346279 0.00303896 0.00340249 -0.0004496\n", | |
" -0.0022712 -0.00145103 -0.00447958 -0.00425559 0.00084134 0.00476822\n", | |
" 0.0046237 0.00165864 -0.00239663 -0.00576209 -0.00788451 -0.01066755\n", | |
" -0.01293136 -0.0149566 -0.01427019 -0.01078615 -0.0112851 -0.01635988\n", | |
" -0.01565429 -0.01404527 -0.01377257 -0.01402315 -0.0130201 -0.01307726\n", | |
" -0.01457898 -0.01563681 -0.01776797 -0.02001508 -0.02236806 -0.02085457\n", | |
" -0.01757957 -0.01635176 -0.01587423 -0.01455013 -0.01595626 -0.01678569\n", | |
" -0.01659744 -0.01747602 -0.01605981 -0.01414516 -0.0141246 -0.01440929\n", | |
" -0.01218795 -0.00881753 -0.00634015 -0.00460269 -0.00261351 0.0013867\n", | |
" 0.00412664 0.00492677]]\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# Quantizer Encoder:\n", | |
"interpreter = tf.lite.Interpreter(model_path=\"quantizer_encoder.tflite\")\n", | |
"interpreter.allocate_tensors()\n", | |
"\n", | |
"input_details = interpreter.get_input_details()\n", | |
"output_details = interpreter.get_output_details()\n", | |
" \n", | |
"input_data1 = input_data1 = np.array(46, dtype=np.int32)\n", | |
"interpreter.set_tensor(input_details[0]['index'], input_data1)\n", | |
"input_data2 = np.ones(input_details[1]['shape'], dtype=input_details[1]['dtype'])\n", | |
"interpreter.set_tensor(input_details[1]['index'], input_data2)\n", | |
"\n", | |
"interpreter.invoke()\n", | |
"output_data = interpreter.get_tensor(output_details[0]['index'])\n", | |
"print(output_data)" | |
], | |
"metadata": { | |
"id": "4uckvyJomGhz", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"outputId": "f3c8624b-f510-413a-dd08-6ee8c406bdbb" | |
}, | |
"execution_count": 13, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"[[[ 8]]\n", | |
"\n", | |
" [[ 2]]\n", | |
"\n", | |
" [[10]]\n", | |
"\n", | |
" [[ 3]]\n", | |
"\n", | |
" [[ 3]]\n", | |
"\n", | |
" [[13]]\n", | |
"\n", | |
" [[10]]\n", | |
"\n", | |
" [[14]]\n", | |
"\n", | |
" [[ 7]]\n", | |
"\n", | |
" [[15]]\n", | |
"\n", | |
" [[13]]\n", | |
"\n", | |
" [[11]]\n", | |
"\n", | |
" [[ 2]]\n", | |
"\n", | |
" [[ 9]]\n", | |
"\n", | |
" [[10]]\n", | |
"\n", | |
" [[ 8]]\n", | |
"\n", | |
" [[ 9]]\n", | |
"\n", | |
" [[ 8]]\n", | |
"\n", | |
" [[ 0]]\n", | |
"\n", | |
" [[ 3]]\n", | |
"\n", | |
" [[ 1]]\n", | |
"\n", | |
" [[ 7]]\n", | |
"\n", | |
" [[ 0]]\n", | |
"\n", | |
" [[10]]\n", | |
"\n", | |
" [[ 6]]\n", | |
"\n", | |
" [[ 2]]\n", | |
"\n", | |
" [[ 9]]\n", | |
"\n", | |
" [[ 3]]\n", | |
"\n", | |
" [[10]]\n", | |
"\n", | |
" [[ 6]]\n", | |
"\n", | |
" [[ 9]]\n", | |
"\n", | |
" [[14]]\n", | |
"\n", | |
" [[ 2]]\n", | |
"\n", | |
" [[ 3]]\n", | |
"\n", | |
" [[ 2]]\n", | |
"\n", | |
" [[15]]\n", | |
"\n", | |
" [[11]]\n", | |
"\n", | |
" [[ 7]]\n", | |
"\n", | |
" [[11]]\n", | |
"\n", | |
" [[12]]\n", | |
"\n", | |
" [[ 4]]\n", | |
"\n", | |
" [[ 4]]\n", | |
"\n", | |
" [[ 2]]\n", | |
"\n", | |
" [[ 1]]\n", | |
"\n", | |
" [[15]]\n", | |
"\n", | |
" [[ 1]]]\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# Quantizer Decoder:\n", | |
"interpreter = tf.lite.Interpreter(model_path=\"quantizer_decoder.tflite\")\n", | |
"interpreter.allocate_tensors()\n", | |
"\n", | |
"input_details = interpreter.get_input_details()\n", | |
"output_details = interpreter.get_output_details()\n", | |
" \n", | |
"input_data = np.ones(input_details[0]['shape'], dtype=input_details[0]['dtype'])\n", | |
"interpreter.set_tensor(input_details[0]['index'], input_data)\n", | |
"\n", | |
"interpreter.invoke()\n", | |
"output_data = interpreter.get_tensor(output_details[0]['index'])\n", | |
"print(output_data)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "JQP4Zj0-mJDX", | |
"outputId": "ed143bbc-ba05-4e6a-8d66-60d57b0d2295" | |
}, | |
"execution_count": 14, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"[[[ -4.5538135 -11.002248 -6.820051 -3.6767974 5.06488\n", | |
" -7.873829 -13.55117 5.04562 1.9314957 -3.8195474\n", | |
" 3.6042008 -0.61495376 -11.631951 -1.7749367 -1.1156042\n", | |
" -9.27972 -5.8166113 -0.3170489 -3.693872 4.0628657\n", | |
" -6.0007935 1.948705 2.5064638 -6.142925 4.946123\n", | |
" -5.8321514 -6.8565793 3.6480958 7.260978 6.4876394\n", | |
" -5.930319 -1.4357114 1.9028568 3.6161294 6.387984\n", | |
" -9.472618 0.52568716 5.187463 -10.826073 1.5956416\n", | |
" 7.2309413 -14.874 3.3517106 3.176524 -2.2192888\n", | |
" -13.208431 0.7741723 -14.748411 3.5711458 6.267479\n", | |
" -0.5936305 10.177328 1.0493128 -16.71469 -1.1094774\n", | |
" -6.930537 9.157076 -6.1565385 -24.085472 -7.414675\n", | |
" -1.4969167 -11.924402 -22.591938 -1.0943412 ]]]\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"######################################\n", | |
"# ONNX INFERENCE TESTS #\n", | |
"######################################" | |
], | |
"metadata": { | |
"id": "vOHtEIWRlrQi" | |
}, | |
"execution_count": 15, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"!pip install onnxruntime onnx" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "2IxGUkLkmnrg", | |
"outputId": "fd0fcafb-8828-422f-f0d7-0f9ea2f02dcf" | |
}, | |
"execution_count": 16, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", | |
"Collecting onnxruntime\n", | |
" Downloading onnxruntime-1.13.1-cp37-cp37m-manylinux_2_27_x86_64.whl (4.5 MB)\n", | |
"\u001b[K |████████████████████████████████| 4.5 MB 5.2 MB/s \n", | |
"\u001b[?25hRequirement already satisfied: onnx in /usr/local/lib/python3.7/dist-packages (1.12.0)\n", | |
"Collecting coloredlogs\n", | |
" Downloading coloredlogs-15.0.1-py2.py3-none-any.whl (46 kB)\n", | |
"\u001b[K |████████████████████████████████| 46 kB 3.0 MB/s \n", | |
"\u001b[?25hRequirement already satisfied: protobuf in /usr/local/lib/python3.7/dist-packages (from onnxruntime) (3.19.6)\n", | |
"Requirement already satisfied: flatbuffers in /usr/local/lib/python3.7/dist-packages (from onnxruntime) (1.12)\n", | |
"Requirement already satisfied: numpy>=1.21.6 in /usr/local/lib/python3.7/dist-packages (from onnxruntime) (1.21.6)\n", | |
"Requirement already satisfied: sympy in /usr/local/lib/python3.7/dist-packages (from onnxruntime) (1.7.1)\n", | |
"Requirement already satisfied: packaging in /usr/local/lib/python3.7/dist-packages (from onnxruntime) (21.3)\n", | |
"Requirement already satisfied: typing-extensions>=3.6.2.1 in /usr/local/lib/python3.7/dist-packages (from onnx) (4.1.1)\n", | |
"Collecting humanfriendly>=9.1\n", | |
" Downloading humanfriendly-10.0-py2.py3-none-any.whl (86 kB)\n", | |
"\u001b[K |████████████████████████████████| 86 kB 2.5 MB/s \n", | |
"\u001b[?25hRequirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/local/lib/python3.7/dist-packages (from packaging->onnxruntime) (3.0.9)\n", | |
"Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.7/dist-packages (from sympy->onnxruntime) (1.2.1)\n", | |
"Installing collected packages: humanfriendly, coloredlogs, onnxruntime\n", | |
"Successfully installed coloredlogs-15.0.1 humanfriendly-10.0 onnxruntime-1.13.1\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"import onnx\n", | |
"import onnxruntime as ort" | |
], | |
"metadata": { | |
"id": "ir67FPCNmmJE" | |
}, | |
"execution_count": 17, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# Encoder:\n", | |
"onnx_model = onnx.load(\"soundstream_encoder.onnx\")\n", | |
"onnx.checker.check_model(onnx_model)\n", | |
"ort_sess = ort.InferenceSession(\"soundstream_encoder.onnx\")\n", | |
"outputs = ort_sess.run(None, {\"serving_default_input_audio:0\": np.ones([1,320], dtype=np.float32)})\n", | |
"print(outputs[0])" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "twaiqlqwmci8", | |
"outputId": "c090f353-ccac-45e4-c2f5-d445e7ec2214" | |
}, | |
"execution_count": 18, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"[[[ -0.526983 7.1142707 28.193592 -2.107932 0.526983\n", | |
" -13.701559 1.3174576 12.647593 -6.8507795 16.863457\n", | |
" 14.755525 28.193592 -10.803152 -16.072983 2.634915\n", | |
" -11.330135 3.6888812 15.282508 -22.396778 12.911084\n", | |
" -13.701559 -14.228541 13.438067 -0.526983 -1.5809491\n", | |
" -11.857118 17.65393 -5.0063386 4.479356 11.593626\n", | |
" 11.593626 5.533322 -22.133287 -2.3714237 -2.3714237\n", | |
" 3.4253898 -10.012677 0.2634915 0. -17.39044\n", | |
" -1.8444406 -37.415794 -5.26983 -6.8507795 11.857118\n", | |
" 28.193592 3.4253898 -23.714235 4.215864 5.0063386\n", | |
" 3.6888812 -4.215864 -10.53966 1.053966 -12.384101\n", | |
" -7.641254 -0.79047453 6.3237963 5.533322 1.3174576\n", | |
" 3.4253898 -1.8444406 4.7428474 -4.215864 ]]]\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# Decoder:\n", | |
"onnx_model = onnx.load(\"lyragan.onnx\")\n", | |
"onnx.checker.check_model(onnx_model)\n", | |
"ort_sess = ort.InferenceSession(\"lyragan.onnx\")\n", | |
"outputs = ort_sess.run(None, {\"serving_default_input_audio:0\": np.ones([1,1,64], dtype=np.float32)})\n", | |
"print(outputs[0])" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "hz4L_CIVmouX", | |
"outputId": "2e874430-a6f9-4cef-d9c2-b3303599ce67" | |
}, | |
"execution_count": 19, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"[[-8.78603831e-02 -8.96447450e-02 -7.41526410e-02 -5.56766093e-02\n", | |
" -3.44530381e-02 -6.63360627e-03 5.45157818e-03 -3.25399474e-03\n", | |
" 8.41886562e-04 1.80834383e-02 2.81563848e-02 3.59890237e-02\n", | |
" 4.79654521e-02 5.53818904e-02 5.19806817e-02 4.62134778e-02\n", | |
" 4.52945940e-02 4.15296368e-02 2.72867382e-02 8.13518930e-03\n", | |
" -4.67668893e-03 -1.69234984e-02 -3.79248559e-02 -6.14025891e-02\n", | |
" -7.20688924e-02 -6.89369589e-02 -6.10333309e-02 -5.74388802e-02\n", | |
" -5.29419854e-02 -4.13093343e-02 -2.78023779e-02 -1.71780270e-02\n", | |
" -1.19937873e-02 -1.32062370e-02 -1.43266441e-02 -1.10671483e-02\n", | |
" -7.80968508e-03 -5.11691300e-03 -7.59443559e-04 5.81673987e-04\n", | |
" -2.53561535e-03 -7.63167115e-03 -1.58961918e-02 -2.29886025e-02\n", | |
" -2.33201422e-02 -2.37335470e-02 -3.03235278e-02 -3.61473672e-02\n", | |
" -3.59316170e-02 -3.04822791e-02 -2.00813282e-02 -7.33191287e-03\n", | |
" 3.56435566e-03 1.53551651e-02 3.07916868e-02 4.05819081e-02\n", | |
" 4.69575897e-02 5.20043708e-02 5.16493917e-02 4.73929197e-02\n", | |
" 3.82001102e-02 2.35599596e-02 5.48470672e-03 -5.32836420e-03\n", | |
" -8.41718633e-03 -9.97591112e-03 -1.24661541e-02 -1.76003240e-02\n", | |
" -1.86448861e-02 -1.61048565e-02 -1.13287335e-02 -4.52672970e-03\n", | |
" 1.55296386e-03 6.59778062e-03 9.67103150e-03 1.08544920e-02\n", | |
" 4.54421947e-03 -1.70410494e-03 2.32715555e-03 1.31572289e-02\n", | |
" 2.40902435e-02 2.94035450e-02 3.29987034e-02 3.53331044e-02\n", | |
" 3.76870707e-02 3.96493413e-02 4.53663878e-02 5.14294580e-02\n", | |
" 5.37566505e-02 5.52820861e-02 5.18026985e-02 4.06072177e-02\n", | |
" 3.15933824e-02 2.78654583e-02 2.63190605e-02 2.56281439e-02\n", | |
" 1.98706556e-02 1.16695017e-02 9.62696038e-03 5.37514081e-03\n", | |
" 4.99906344e-03 8.30511563e-03 1.80533621e-02 2.82454342e-02\n", | |
" 3.83848511e-02 4.23703380e-02 3.49008292e-02 2.71383356e-02\n", | |
" 1.57604199e-02 6.19349629e-03 3.26611148e-03 -9.30442882e-04\n", | |
" -5.21545904e-03 -4.78502875e-03 -4.53407178e-03 -7.23640341e-03\n", | |
" -9.23160464e-03 -8.40032753e-03 -8.97685625e-03 -4.36844165e-03\n", | |
" 1.70748692e-03 2.14058696e-03 1.82602718e-03 5.02087205e-05\n", | |
" -6.65366091e-03 -9.46108811e-03 -7.96786882e-03 -8.47354811e-03\n", | |
" -9.58133023e-03 -1.34107219e-02 -2.16356274e-02 -2.94692665e-02\n", | |
" -3.56754586e-02 -4.08203155e-02 -4.08261754e-02 -3.36489901e-02\n", | |
" -2.62474362e-02 -1.87950004e-02 -1.09926155e-02 -6.29933318e-03\n", | |
" -4.16524382e-03 -1.15837975e-04 3.56010068e-03 8.87184404e-03\n", | |
" 1.58671308e-02 2.19953749e-02 2.58011371e-02 2.20749900e-02\n", | |
" 1.27845947e-02 1.98838254e-03 -4.53401823e-03 -1.07485428e-02\n", | |
" -1.18736858e-02 -9.82334092e-03 -6.38689846e-03 -4.41749860e-03\n", | |
" -7.13862246e-04 -4.70964296e-04 -3.58961639e-04 4.51970613e-03\n", | |
" 1.04813036e-02 1.48361512e-02 1.94961801e-02 2.19572410e-02\n", | |
" 2.33739149e-02 2.51796395e-02 2.31111683e-02 2.03998238e-02\n", | |
" 2.09858380e-02 2.21219603e-02 2.15797517e-02 2.16250084e-02\n", | |
" 1.96940508e-02 1.46621242e-02 1.37130255e-02 1.59010589e-02\n", | |
" 1.37475142e-02 7.58483540e-03 2.76241102e-03 2.51690228e-03\n", | |
" 1.22081651e-03 -1.50780729e-03 -4.23990190e-03 -7.10084802e-03\n", | |
" -9.01450776e-03 -5.95254311e-03 -3.26524279e-03 -3.36339255e-03\n", | |
" -1.92329916e-03 7.64981902e-04 5.35323424e-03 7.09246797e-03\n", | |
" 4.36811196e-03 1.73694827e-03 1.71215623e-03 -2.01278061e-04\n", | |
" -3.43830534e-03 -7.55951321e-03 -1.21489363e-02 -1.39683308e-02\n", | |
" -1.66570414e-02 -2.33106762e-02 -2.81793438e-02 -2.73525883e-02\n", | |
" -2.45292615e-02 -2.19969265e-02 -2.13010907e-02 -2.00810432e-02\n", | |
" -1.81633923e-02 -1.56169171e-02 -1.57907922e-02 -2.02808883e-02\n", | |
" -2.55093705e-02 -2.76825409e-02 -2.55845226e-02 -2.01770663e-02\n", | |
" -1.55732809e-02 -1.31602939e-02 -8.92986078e-03 -5.24604134e-03\n", | |
" -4.30906750e-03 -2.80041806e-03 1.45429093e-03 9.12745204e-03\n", | |
" 1.42082991e-02 1.84554067e-02 2.06126086e-02 1.75724588e-02\n", | |
" 1.22621339e-02 7.76508078e-03 4.07998031e-03 1.24615105e-03\n", | |
" 4.42731986e-03 7.77005870e-03 7.50282966e-03 7.91654363e-03\n", | |
" 9.43497568e-03 1.05141113e-02 1.61081832e-02 2.07653884e-02\n", | |
" 2.25174893e-02 2.45743133e-02 2.82955710e-02 2.70224735e-02\n", | |
" 2.20676772e-02 1.77177899e-02 1.35146054e-02 1.37537112e-02\n", | |
" 1.29568623e-02 1.14114890e-02 1.23078208e-02 1.22004710e-02\n", | |
" 9.06963367e-03 6.20834529e-03 6.35901419e-03 7.39675621e-03\n", | |
" 9.69654508e-03 1.10509088e-02 1.15082311e-02 1.02010900e-02\n", | |
" 9.11349524e-03 6.58605155e-03 1.18087244e-03 -2.17097462e-03\n", | |
" -2.45999568e-03 -2.64171860e-03 -1.45856605e-03 -1.03563245e-04\n", | |
" 3.27362749e-03 3.21705011e-03 3.91679863e-03 7.88526796e-03\n", | |
" 7.84339290e-03 8.46199039e-03 1.32532641e-02 1.49746472e-02\n", | |
" 1.18331714e-02 7.64336763e-03 2.65435013e-03 -7.27235747e-04\n", | |
" -3.23089445e-03 -6.44667400e-03 -9.05980635e-03 -1.10910470e-02\n", | |
" -1.19190188e-02 -1.02170715e-02 -1.10188667e-02 -1.40324300e-02\n", | |
" -1.15340836e-02 -9.02152434e-03 -9.28238500e-03 -1.01469075e-02\n", | |
" -9.75957699e-03 -1.02766203e-02 -1.05560692e-02 -1.10816536e-02\n", | |
" -1.28789926e-02 -1.46962246e-02 -1.87258236e-02 -1.82429589e-02\n", | |
" -1.43891275e-02 -1.18854614e-02 -8.33609607e-03 -3.16748931e-03\n", | |
" -2.71609076e-03 -3.33306752e-03 -3.78310983e-03 -6.18698588e-03\n", | |
" -6.03363616e-03 -4.53859987e-03 -4.86662006e-03 -4.93459450e-03\n", | |
" -2.41347193e-03 1.38246210e-03 2.81016692e-03 3.77319683e-03\n", | |
" 5.48856519e-03 8.96212086e-03 1.19406031e-02 1.22503871e-02]]\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# Quantizer Encoder:\n", | |
"onnx_model = onnx.load(\"quantizer_encoder.onnx\")\n", | |
"onnx.checker.check_model(onnx_model)\n", | |
"ort_sess = ort.InferenceSession(\"quantizer_encoder.onnx\")\n", | |
"outputs = ort_sess.run(None, {\"encode_input_frames:0\":np.ones([1,1,64], dtype=np.float32), \"encode_num_quantizers:0\":np.array([46], dtype=np.int32)})\n", | |
"print(outputs[0])" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "MNAs8GA3mp1L", | |
"outputId": "5948d7fb-141c-4273-9684-cbcd7ddc056a" | |
}, | |
"execution_count": 20, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"[[[ 8]]\n", | |
"\n", | |
" [[ 2]]\n", | |
"\n", | |
" [[10]]\n", | |
"\n", | |
" [[ 3]]\n", | |
"\n", | |
" [[ 3]]\n", | |
"\n", | |
" [[13]]\n", | |
"\n", | |
" [[10]]\n", | |
"\n", | |
" [[14]]\n", | |
"\n", | |
" [[ 7]]\n", | |
"\n", | |
" [[15]]\n", | |
"\n", | |
" [[13]]\n", | |
"\n", | |
" [[11]]\n", | |
"\n", | |
" [[ 2]]\n", | |
"\n", | |
" [[ 9]]\n", | |
"\n", | |
" [[10]]\n", | |
"\n", | |
" [[ 8]]\n", | |
"\n", | |
" [[ 9]]\n", | |
"\n", | |
" [[ 8]]\n", | |
"\n", | |
" [[ 0]]\n", | |
"\n", | |
" [[ 3]]\n", | |
"\n", | |
" [[ 1]]\n", | |
"\n", | |
" [[ 7]]\n", | |
"\n", | |
" [[ 0]]\n", | |
"\n", | |
" [[10]]\n", | |
"\n", | |
" [[ 6]]\n", | |
"\n", | |
" [[ 2]]\n", | |
"\n", | |
" [[ 9]]\n", | |
"\n", | |
" [[ 3]]\n", | |
"\n", | |
" [[10]]\n", | |
"\n", | |
" [[ 6]]\n", | |
"\n", | |
" [[ 9]]\n", | |
"\n", | |
" [[14]]\n", | |
"\n", | |
" [[ 2]]\n", | |
"\n", | |
" [[ 3]]\n", | |
"\n", | |
" [[ 2]]\n", | |
"\n", | |
" [[15]]\n", | |
"\n", | |
" [[11]]\n", | |
"\n", | |
" [[ 7]]\n", | |
"\n", | |
" [[11]]\n", | |
"\n", | |
" [[12]]\n", | |
"\n", | |
" [[ 4]]\n", | |
"\n", | |
" [[ 4]]\n", | |
"\n", | |
" [[ 2]]\n", | |
"\n", | |
" [[ 1]]\n", | |
"\n", | |
" [[15]]\n", | |
"\n", | |
" [[ 1]]]\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# Quantizer Decoder:\n", | |
"onnx_model = onnx.load(\"quantizer_decoder.onnx\")\n", | |
"onnx.checker.check_model(onnx_model)\n", | |
"ort_sess = ort.InferenceSession(\"quantizer_decoder.onnx\")\n", | |
"outputs = ort_sess.run(None, {\"decode_encoding_indices:0\": np.ones([46,1,1], dtype=np.int32)})\n", | |
"print(outputs[0])" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "MIOOTTkzmrX_", | |
"outputId": "2a0ea58d-e224-4e0a-b553-60a88d77f40c" | |
}, | |
"execution_count": 21, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"[[[ -4.5538135 -11.002248 -6.820051 -3.6767974 5.06488\n", | |
" -7.873829 -13.55117 5.04562 1.9314957 -3.8195474\n", | |
" 3.6042008 -0.61495376 -11.631951 -1.7749367 -1.1156042\n", | |
" -9.27972 -5.8166113 -0.3170489 -3.693872 4.0628657\n", | |
" -6.0007935 1.948705 2.5064638 -6.142925 4.946123\n", | |
" -5.8321514 -6.8565793 3.6480958 7.260978 6.4876394\n", | |
" -5.930319 -1.4357114 1.9028568 3.6161294 6.387984\n", | |
" -9.472618 0.52568716 5.187463 -10.826073 1.5956416\n", | |
" 7.2309413 -14.874 3.3517106 3.176524 -2.2192888\n", | |
" -13.208431 0.7741723 -14.748411 3.5711458 6.267479\n", | |
" -0.5936305 10.177328 1.0493128 -16.71469 -1.1094774\n", | |
" -6.930537 9.157076 -6.1565385 -24.085472 -7.414675\n", | |
" -1.4969167 -11.924402 -22.591938 -1.0943412 ]]]\n" | |
] | |
} | |
] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment