Skip to content

Instantly share code, notes, and snippets.

@josephrocca
Last active November 19, 2022 01:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save josephrocca/401efe82bf18ffe93d5f3deca7ed7515 to your computer and use it in GitHub Desktop.
Save josephrocca/401efe82bf18ffe93d5f3deca7ed7515 to your computer and use it in GitHub Desktop.
lyra-v2-soundstream-tflite-to-onnx.ipynb
Display the source blob
Display the rendered blob
Raw
{
"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