{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Neural Demapper Training and TensorRT Export\n", "\n", "![Neural Demapper Basics](../../../doc/source/figs/tutorial_nn_demapper_basic.png)\n", " \n", "This first part of the tutorial covers training and implementation of a neural network (NN)-based demapper using Sionna. We keep the neural network architecture straightforward to focus on efficient inference and the integration in the OAI stack.\n", " \n", "While we use demapping as our example since it is a simple and well-understood task, neural networks could potentially replace many signal processing blocks like channel estimation or equalization.\n", "The main focus here is demonstrating how to integrate neural network (NN) components into the physical layer's signal processing pipeline.\n", "\n", "An important aspect is that OAI does not provide an estimate of the noise variance as required for *textbook*-style a posteriori probability (APP) demappers but provides a scaled version of the magnitude of the channel estimates. This will be explained in the following.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Python Imports" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Import the required libraries\n", "import os # Configure which GPU\n", "if os.getenv(\"CUDA_VISIBLE_DEVICES\") is None:\n", " gpu_num = 0 # Use \"\" to use the CPU\n", " os.environ[\"CUDA_VISIBLE_DEVICES\"] = f\"{gpu_num}\"\n", "\n", "# Set the TF log level to only show errors\n", "os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'\n", "\n", "import numpy as np\n", "import tensorflow as tf\n", "\n", "# Import Sionna\n", "import sionna as sn\n", "\n", "# For plotting\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "\n", "# For saving complex Python data structures efficiently\n", "import pickle\n", "\n", "# For the implementation of the neural receiver\n", "from tensorflow.keras import Model\n", "from tensorflow.keras.layers import Dense\n", "\n", "# For ONNX / TensorRT export\n", "import tf2onnx\n", "import onnx\n", "\n", "# Set seed for reproducible results\n", "sn.phy.config.seed = 42" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Background: APP-Demapping\n", "\n", "We assume a sequence of `modulation order` bits $b$ which are mapped to a complex-valued QAM symbol. At the receiver, a noisy version of this symbol $y$ is observed and the task of the demapper is to calculate the individual a posteriori probabilities (APP) that each bit was 0 or 1.\n", "\n", "In this tutorial, we will use 16-QAM modulation as example. While the demapper can be extended to other modulation orders in a straightforward manner, we focus on 16-QAM for clarity.\n", "Note that with Gray-labeling, it is possible to use a higher-order demapper (e.g., 64-QAM) to demap lower-order modulations (e.g., 16-QAM) by discarding unused bits. However, this introduces unnecessary computational complexity and is not explored in this tutorial.\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAm0AAAJwCAYAAADbQ1b7AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAWjZJREFUeJzt3Xl4VOX9/vF7AlnYJiEsGYIsQZBFEAQaDLWCPwNBEMUFAVFCZFEKIsSKKyJuWLACKkppBWzrglihVRGILFIlAgaibFKBYFpgghiSsGaG5Pn9wZepQxLIxEwmJ3m/rivX5ZzznJnPeT45w+2ZOSc2Y4wRAAAAKrWgQBcAAACASyO0AQAAWAChDQAAwAIIbQAAABZAaAMAALAAQhsAAIAFENoAAAAsgNAGAABgAYQ2AAAACyC0AcBF9O7dW7179/Y8PnDggGw2mxYvXlyur9OyZUuNHDmyXJ+zPK1fv142m03r168PdClAtUVoA/CL7Nu3T/fdd59atWqlsLAw2e12/frXv9bcuXN1+vTpgNa2YsUKPf300wGt4ec2btyop59+Wjk5OYEuxWPx4sWy2Wyen7CwMF1xxRWaMGGCsrKyyuU1KlsfAKuqGegCAFjXJ598osGDBys0NFQjRoxQx44d5XK59MUXX+jhhx/Wzp07tWDBgoDVt2LFCs2bN6/SBIaNGzdq+vTpGjlypCIiIrzW7dmzR0FBgfv/6GeeeUYxMTE6c+aMvvjiC73xxhtasWKFduzYodq1a/+i565sfQCsitAGoEwyMjI0dOhQtWjRQmvXrlWTJk0868aPH6+9e/fqk08+CWCF1hIaGhrQ17/xxhvVvXt3SdLo0aPVoEEDvfzyy/rHP/6hYcOGBbQ2AOfw8SiAMpk5c6ZOnDihN9980yuwnde6dWs9+OCDnsdnz57Vs88+q8svv1yhoaFq2bKlHn/8ceXn53tt17JlS91000364osvFBsbq7CwMLVq1Up/+ctfvMa53W5Nnz5dbdq0UVhYmBo0aKBrr71WKSkpkqSRI0dq3rx5kuT18d95hYWFmjNnjq688kqFhYUpKipK9913n44dO+bzXHz77bcaOXKk5yNih8Ohe++9Vz/99JNnzNNPP62HH35YkhQTE+Op58CBA579vvA7bfv379fgwYMVGRmp2rVr65prrikShM9/1+z999/X888/r8suu0xhYWG64YYbtHfvXp/35bz/9//+n6Rz4fxili5dqm7duqlWrVpq2LCh7r77bh08eNCz/lJ9AFB6nGkDUCYfffSRWrVqpZ49e5Zq/OjRo/XWW2/pjjvu0EMPPaRNmzZpxowZ2r17t5YtW+Y1du/evbrjjjs0atQoJSYmauHChRo5cqS6deumK6+8UtK5EDRjxgyNHj1asbGxysvL09dff62tW7eqT58+uu+++3To0CGlpKTor3/9a5F67rvvPi1evFhJSUmaOHGiMjIy9Nprr2nbtm368ssvFRwcXOq5SElJ0f79+5WUlCSHw+H5WHjnzp366quvZLPZdNttt+nf//633n33Xc2ePVsNGzaUJDVq1KjY58zKylLPnj116tQpTZw4UQ0aNNBbb72lm2++WR988IFuvfVWr/EvvviigoKC9Lvf/U65ubmaOXOmhg8frk2bNpV6P35u3759kqQGDRqUOOb8/P3qV7/SjBkzlJWVpblz5+rLL7/Utm3bFBERcck+APCBAQAf5ebmGknmlltuKdX49PR0I8mMHj3aa/nvfvc7I8msXbvWs6xFixZGktmwYYNn2ZEjR0xoaKh56KGHPMs6d+5sBgwYcNHXHT9+vCnube5f//qXkWTefvttr+UrV64ssrxXr16mV69enscZGRlGklm0aJFn2alTp4q8xrvvvltkP2bNmmUkmYyMjCLjW7RoYRITEz2PJ02aZCSZf/3rX55lx48fNzExMaZly5amoKDAGGPMunXrjCTTvn17k5+f7xk7d+5cI8ls37696MT8zKJFi4wk89lnn5kff/zR/Oc//zHvvfeeadCggalVq5b573//6/U669atM8YY43K5TOPGjU3Hjh3N6dOnPc/38ccfG0nmqaee8iwrqQ8AfMPHowB8lpeXJ0mqV69eqcavWLFCkpScnOy1/KGHHpKkIh/5dejQQb/5zW88jxs1aqS2bdtq//79nmURERHauXOnvv/+e5/rX7p0qcLDw9WnTx8dPXrU89OtWzfVrVtX69at8+n5atWq5fnvM2fO6OjRo7rmmmskSVu3bvW5PuncnMXGxuraa6/1LKtbt67Gjh2rAwcOaNeuXV7jk5KSFBIS4nl8fv5+PmcXEx8fr0aNGqlZs2YaOnSo6tatq2XLlqlp06bFjv/666915MgR/fa3v1VYWJhn+YABA9SuXTu+zwj4AR+PAvCZ3W6XJB0/frxU43/44QcFBQWpdevWXssdDociIiL0ww8/eC1v3rx5keeoX7++1/fNnnnmGd1yyy264oor1LFjR/Xr10/33HOPrrrqqkvW8/333ys3N1eNGzcudv2RI0dKs1se2dnZmj59ut57770i2+bm5vr0XOf98MMP6tGjR5Hl7du396zv2LGjZ/mFc1a/fn1JKvV39ObNm6crrrhCNWvWVFRUlNq2bXvRq1nP96xt27ZF1rVr105ffPFFqV4XQOkR2gD4zG63Kzo6Wjt27PBpu9J+Ab1GjRrFLjfGeP77uuuu0759+/SPf/xDq1ev1p///GfNnj1b8+fP1+jRoy/6/IWFhWrcuLHefvvtYteX9D2zktx5553auHGjHn74YXXp0kV169ZVYWGh+vXrp8LCQp+eq6xKM2cXExsb67l6FEDlRGgDUCY33XSTFixYoNTUVMXFxV10bIsWLVRYWKjvv//ec6ZIOvdl+5ycHLVo0aJMNURGRiopKUlJSUk6ceKErrvuOj399NOe0FZSSLz88sv12Wef6de//rXXR5tlcezYMa1Zs0bTp0/XU0895Vle3Me2vlw12aJFC+3Zs6fI8u+++86zPpDOv/6ePXs8V5qet2fPHq/6uFoUKB98pw1AmUyZMkV16tTR6NGji71z/r59+zR37lxJUv/+/SVJc+bM8Rrz8ssvSzr3PShf/fx2GtK573u1bt3a6xYiderUkaQif4HgzjvvVEFBgZ599tkiz3v27Fmf/mLB+TNcF57RunBfL1ZPcfr376/NmzcrNTXVs+zkyZNasGCBWrZsqQ4dOpS6Rn/o3r27GjdurPnz53vN+aeffqrdu3d79dSX/QZQMs60ASiTyy+/XO+8846GDBmi9u3be/1FhI0bN2rp0qWe+4517txZiYmJWrBggXJyctSrVy9t3rxZb731lgYNGqTrr7/e59fv0KGDevfurW7duikyMlJff/21PvjgA02YMMEzplu3bpKkiRMnKiEhQTVq1NDQoUPVq1cv3XfffZoxY4bS09PVt29fBQcH6/vvv9fSpUs1d+5c3XHHHaWqw26367rrrtPMmTPldrvVtGlTrV69utj7m52v54knntDQoUMVHBysgQMHekLNzz366KN69913deONN2rixImKjIzUW2+9pYyMDP39738P6F9PkKTg4GD9/ve/V1JSknr16qVhw4Z5bvnRsmVLTZ482TO2pD4A8FGAr14FYHH//ve/zZgxY0zLli1NSEiIqVevnvn1r39tXn31VXPmzBnPOLfbbaZPn25iYmJMcHCwadasmXnssce8xhhz7tYXxd3K48Jbbzz33HMmNjbWREREmFq1apl27dqZ559/3rhcLs+Ys2fPmgceeMA0atTI2Gy2IredWLBggenWrZupVauWqVevnunUqZOZMmWKOXToUImvW9wtP/773/+aW2+91URERJjw8HAzePBgc+jQISPJTJs2zes1n332WdO0aVMTFBTkdfuPC2/5YYwx+/btM3fccYeJiIgwYWFhJjY21nz88cdeY87fimPp0qVey4urszjnb/mxZcuWi4678JYf5y1ZssRcffXVJjQ01ERGRprhw4d7bhNy3qX6AKB0bMaU8luqAAAACBi+0wYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABurnsJhYWFOnTokOrVq8efYgEAAOXOGKPjx48rOjr6ojfOJrRdwqFDh9SsWbNAlwEAAKq4//znP7rssstKXE9ou4R69epJOjeRdrs9wNVYh9vt1urVqz1/HggVi/kPHOY+sJj/wGL+yyYvL0/NmjXzZI6SENou4fxHona7ndDmA7fbrdq1a8tut3PgBgDzHzjMfWAx/4HF/P8yl/oaFhciAAAAWAChDQAAwAIIbQAAABZAaAMAALAAQhsAAIAFENoAAAAsgNAGAABgAYQ2AAAACyC0AQAAWAChDQAAwAIIbQAAABZAaAMAALAAQhsAAIAFENoAAAAsgNAGAABgAYQ2AAAACyC0AQAAWAChDQAAwAIIbQAAABZAaAMAALAAQhsAAIAFENoAAAAsgNAGAABgAYQ2AAAACyC0AQAAWAChDQAAwAIIbQAAABZAaAMAALAAQhsAAIAFENoAAAAsgNAGAABgAYQ2AAAACyC0AQAAWAChDQAAwAIIbQAAABZAaAMAALAAQhsAAIAFENoAAAAsgNAGAABgAYQ2AAAACyC0AQAAWAChDQAAwAIIbQAAABZAaAMAALAAQhsAAIAFENoAAAAsgNAGAABgAYQ2AAAACyC0AQAAWAChDQAAwAIIbQAAABZAaAMAALAAQhsAAIAFENoAAAAsgNAGAABgAYQ2AAAACyC0AQAAWAChDQAAwAIIbQAAABZAaAMAALAAQhsAAIAFENoAAAAsgNAGAABgAYQ2AAAACyC0AQAAWAChDQAAwAIIbQAAABZAaAMAALAAQhsAAIAFENoAAAAsgNAGAABgAZYKbRs2bNDAgQMVHR0tm82m5cuXX3Kb9evXq2vXrgoNDVXr1q21ePFiv9cJAABQ3iwV2k6ePKnOnTtr3rx5pRqfkZGhAQMG6Prrr1d6eromTZqk0aNHa9WqVX6uFAAAoHzVDHQBvrjxxht14403lnr8/PnzFRMToz/84Q+SpPbt2+uLL77Q7NmzlZCQ4K8yAQAAyp2lQpuvUlNTFR8f77UsISFBkyZNKnGb/Px85efnex7n5eVJktxut9xut1/qrIrOzxVzFhjMf+Aw94HF/AcW8182pZ2vKh3anE6noqKivJZFRUUpLy9Pp0+fVq1atYpsM2PGDE2fPr3I8tWrV6t27dp+q7WqSklJKdW4nTt3atmyZdq3b5+OHTumRx99VNdcc41nvTFG7777rlJSUnTy5Em1a9dO999/v6Kjoz1jli5dqq+//loZGRmqWbOm3nnnnSKv86c//Um7d+9WZmamLrvsMs2ZM+cX72NlVtr5rwjl0ePjx4/rT3/6k7Zs2SKbzaa4uDiNHj3acyy7XC698cYb2rdvn/773/+qe/fuevzxxyt8X6XKNfcVbcWKFVq2bJlycnLUsmVLjRkzRldccYWkcz1atGiRvvjiC7ndbnXp0kX333+/IiIiPNv/+OOPmj9/vrZv365atWrp+uuv1z333KMaNWpIkrKzs7Vo0SLt27dPhw8f1oABAzR69GivGqrz/FeES/X4jjvuuGiPL/VeXJmO5Ypw6tSpUo2r0qGtLB577DElJyd7Hufl5alZs2bq27ev7HZ7ACuzFrfbrZSUFPXp00fBwcGXHB8UFKTjx49rypQpuvPOO9WtWzf179/fs37WrFlatWqV3nzzTbVs2VJPP/20Zs2apW+++UZhYWGSpC1btqhLly46ePCgFi1a5LX9eSkpKerbt682b96s7du3FzumKvB1/itCefR44MCBysnJUUpKitxut8aMGaPly5frr3/9q6Rz33v97LPPdOedd2rZsmUKDQ2t8B5XxrmvSO+//74WL16sefPm6Ve/+pVeffVVvfDCC9qxY4caN26sCRMmaMeOHfrggw8UHh6uBx98UH/84x/1+eefS5IKCgrUvXt3ORwOffHFF3I6nbr33nt1xRVX6LnnnpMkHThwQFu3btXIkSP1yiuvKCYmxtPn6j7/FeFiPa5fv75uv/32i/ZYuvR7cWU4livS+U/1LslYlCSzbNmyi475zW9+Yx588EGvZQsXLjR2u73Ur5Obm2skmdzc3DJUWX25XC6zfPly43K5fN72wt4WFhYah8NhZs2a5VmWk5NjQkNDzbvvvltk+0WLFpnw8PCLvsa0adNM586dfa7NKn7J/FeEsvR4165dRpLZsmWLZ8ynn35qbDabOXjwYJHXSExMNLfccovf9qEklX3u/S02NtaMHz/e87igoMBER0ebGTNmmJycHBMcHGyWLl3qWb97924jyaSmphpjjFmxYoUJCgoyTqfTM+aNN94wdrvd5OfnF3m9Xr16eb3PV/f5rwgX6/GPP/5oatas6fXefGGPf64078WBOpYrUmmzhqWuHvVVXFyc1qxZ47UsJSVFcXFxAaoIZZGRkSGn0+n1/cTw8HD16NFDqampAawM5aU0PU5NTVVERIS6d+/uGRMfH6+goCBt2rSpwmtGUS6XS2lpaV59DAoKUnx8vFJTU5WWlia32+21vl27dmrevLlXnzt16uT11ZaEhATl5eVp586dFbczKNalerx161adPXtWN9xwg2f9hT1G2VkqtJ04cULp6elKT0+XdO6NPj09XZmZmZLOfbQ5YsQIz/j7779f+/fv15QpU/Tdd9/p9ddf1/vvv6/JkycHonyUkdPplKRiv594fh2srTQ9djqdaty4sdf6mjVrKjIykt+DSuLo0aMqKCgosY9Op1MhISFe3236+Xqp5O8in1+HwCpNj2vWrHnRHqPsLPWdtq+//lrXX3+95/H5754lJiZq8eLFOnz4sCfASVJMTIw++eQTTZ48WXPnztVll12mP//5z9zuo5IoKDTanJGtI8fPqHG9MMXGRKpGkC3QZaEc0eOq7+c9tp06Fuhy4Af0uPKwVGjr3bu3jDElri/urx307t1b27Zt82NVKIuVOw5r+ke7dDj3jGdZk/AwTRvYochYh8MhScrKylKTJk08y7OystSlSxe/14qyKe8eOxwOHTlyxGu7s2fPKjs727M9KtaFPTYFbikoSJ9u3u31NZSsrCw5HA45HA65XC7l5OR4nYk5v1461+fNmzd7vU5WVpZnHSpWWXp8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Hh6utWvXauvWrbLZbLLZbNq2bZvWrl2rs2fPasmSJercubO+/PJLf9QLAABQLfl8ps3hcOiuu+7Sa6+9pqCgc5mvsLBQDz74oOrVq6f33ntP999/vx555BF98cUX5V4wAABAdeTzmbY333xTkyZN8gQ2SQoKCtIDDzygBQsWyGazacKECdqxY0e5FgoAAFCd+Rzazp49q++++67I8u+++04FBQWSpLCwMG7/AQAAUI58/nj0nnvu0ahRo/T444/rV7/6lSRpy5YteuGFFzRixAhJ0ueff64rr7yyfCsFAACoxnwObbNnz1ZUVJRmzpyprKwsSVJUVJQmT56sRx55RJLUt29f9evXr3wrBQAAqMZ8Dm01atTQE088oSeeeEJ5eXmSJLvd7jWmefPm5VMdAAAAJJUhtP3chWENAAAA/lGm0PbBBx/o/fffV2Zmplwul9e6rVu3lkthAAAA+B+frx595ZVXlJSUpKioKG3btk2xsbFq0KCB9u/frxtvvNEfNQIAAFR7Poe2119/XQsWLNCrr76qkJAQTZkyRSkpKZo4caJyc3P9USMAAEC153Noy8zMVM+ePSVJtWrV0vHjxyWduxXIu+++W77VAQAAQFIZQpvD4VB2drakc1eJfvXVV5KkjIwMGWPKtzoAAABIKkNo+3//7//pn//8pyQpKSlJkydPVp8+fTRkyBDdeuut5V4gAAAAynD16IIFC1RYWChJGj9+vBo0aKCNGzfq5ptv1n333VfuBQIAAKAMoS0oKMjrj8UPHTpUQ4cOLdeiAAAA4K1M92k7c+aMvv32Wx05csRz1u28m2++uVwKAwAAwP/4HNpWrlypESNG6OjRo0XW2Ww2FRQUlEthAAAA+B+fL0R44IEHNHjwYB0+fFiFhYVePwQ2AAAA//A5tGVlZSk5OVlRUVH+qAcAAADF8Dm03XHHHVq/fr0fSgEAAEBJfP5O22uvvabBgwfrX//6lzp16qTg4GCv9RMnTiy34gAAAHCOz6Ht3Xff1erVqxUWFqb169fLZrN51tlsNkIbAACAH/gc2p544glNnz5djz76qNf92gAAAOA/Pqcul8ulIUOGENgAAAAqkM/JKzExUUuWLPFHLQAAACiBzx+PFhQUaObMmVq1apWuuuqqIhcivPzyy+VWHAAAAM7xObRt375dV199tSRpx44dXut+flECAAAAyo/PoW3dunX+qAMAAAAXwdUEAAAAFlDqM2233XZbqcZ9+OGHZS4GAAAAxSv1mbbw8PBS/QBlsWHDBg0cOFDR0dGy2Wxavny51/oPP/xQffv2VYMGDWSz2ZSenl7kORYsWKDevXvLbrfLZrMpJyenyJjs7GwNHz5cdrtdERERGjVqlE6cOOGfnYKX8ujxmTNnNH78eDVo0EB169bV7bffrqysLK8xmZmZGjBggGrXrq3GjRvr4Ycf1tmzZ/24Z7jQvHnz1LJlS4WFhalHjx7avHmzZ115HafffvutfvOb3ygsLEzNmjXTzJkz/b1b+JmL9XjVqlWKj4+/aI+ff/559ezZU7Vr11ZERESxr8GxXFSpz7QtWrTIn3Wgmjt58qQ6d+6se++9t9izuidPntS1116rO++8U2PGjCn2OU6dOqV+/fqpX79+euyxx4odM3z4cB0+fFgpKSlyu91KSkrS2LFj9c4775Tr/qCo8ujx5MmT9cknn2jp0qUKDw/XhAkTdNttt+nLL7+UdO7q9gEDBsjhcGjjxo06fPiwRowYoeDgYL3wwgt+3T+cs2TJEiUnJ2v+/Pnq0aOH5syZo4SEBO3Zs0eNGzcul+M0Ly9Pffv2VXx8vObPn6/t27fr3nvvVUREhJKSkipyd6uli/W4fv36ys/PV9++fXXjjTeW2GOXy6XBgwcrLi5Ob775ZpH1HMslMLio3NxcI8nk5uYGuhRLcblcZvny5cblcvm8rSSzbNmyYtdlZGQYSWbbtm0lbr9u3TojyRw7dsxr+a5du4wks2XLFs+yTz/91NhsNnPw4EGf66zMfsn8V4Sy9DgnJ8cEBwebpUuXepbt3r3bSDKpqanGGGNWrFhhgoKCjNPp9Ix54403jN1uN/n5+eW+H8Wp7HPvb7GxsWb8+PGexwUFBSY6OtrMmDHDa9wvOU5ff/11U79+fa+ePvLII6Zt27bVfv4rwsV6/PP5L6nHP7do0SITHh5eZHllOJYrUmmzBhcioNpITU1VRESEunfv7lkWHx+voKAgbdq0KYCVoTTS0tLkdrsVHx/vWdauXTs1b95cqampks71uFOnToqKivKMSUhIUF5ennbu3FnhNVc3LpdLaWlpXj0KCgpSfHy8p0eXUprjNDU1Vdddd51CQkI8Y86f6Tl27Fg57Q2KUx49Lg2O5eIR2lBtOJ1ONW7c2GtZzZo1FRkZKafTGaCqUFpOp1MhISFFvv8SFRXl6Z/T6fR6kz+//vw6+NfRo0dVUFBQbA9KO/+lOU7pc+CUR49Lgx4Xz+f7tAHlpaDQaHNGto4cP6PG9cIUGxOpGkHcoLkqocdV3897bDvFWa6qiB5XHoQ2BMTKHYc1/aNdOpx7xrOsSXiYpg3s4LfXdDgcOnLkiNeys2fPKjs7Ww6Hw2+vW12Vd48dDodcLpdycnK8zrZlZWV5+udwOLyuYju//vw6lK8Le2wK3FJQkD7dvFtxcXGecT/v0aWU5jh1OBxFrhr+eZ8zMjLKvE/w5o8elwbHcvH4eBQVbuWOwxr3t61e/5hLkjP3jMb9bavfXjcuLk45OTlKS0vzLFu7dq0KCwvVo0cPv71udeSPHnfr1k3BwcFas2aNZ9mePXuUmZnp+ccjLi5O27dv9/pHPyUlRXa7XR06+O9/CKqj4npsqxGskKjWmvOXZVq547AkqbCwUGvWrPH6B/5iSnOcxsXFacOGDXK73Z4xKSkpatu2rerXr18euwf5r8elwbFcPEIbKlRBodH0j3bJXLC80HVa+Vn7lZ+1X5K0b/9+paenKzMzU9K5+zalp6dr165dks79Y52enu713Qan06n09HTt3btX0rm/k5uenq7s7GxJUvv27dWvXz+NGTNGmzdv1pdffqkJEyZo6NChio6O9vOeVx/+6nF4eLhGjRql5ORkrVu3TmlpaUpKSlJcXJyuueYaSVLfvn3VoUMH3XPPPfrmm2+0atUqPfnkkxo/frxCQ0MrZgKqgZJ6LEn2Xw3S8W9WacL0Odqxc5fGjRunkydPem7FUR7H6V133aWQkBCNGjVKO3fu1JIlSzR37lwlJydXyP5XB7+kx8eOHbtoj6Vz92A7f/wXFBQoPT1d6enpnvvxcSyXoIKuZrUsbvlRNiVddr9x71HT4pGPi/xEDXvBSCryk5iYaIw5d1l4ceunTZvmee5p06YVO2bRokWeMT/99JMZNmyYqVu3rrHb7SYpKckcP368AmakYgXytgf+7PHp06fNb3/7W1O/fn1Tu3Ztc+utt5rDhw97vf6BAwfMjTfeaGrVqmUaNmxoHnroIeN2uyts/6vDLSdK6vH5n/rx95ka9kYmODjExMbGmq+++sqzbXkdp99884259tprTWhoqGnatKl58cUXjTHVY/4rQll77HK5zJAhQy7Z48TExGLHrFu3zjMm0MdyRSpt1rAZY4oL0vg/eXl5Cg8PV25urux2e6DLsQy3260VK1aof//+Cg4O9iz/R/pBPfhe+iW3nzu0i27p0tSPFVZtJc1/RajuPQ7k3FeUytzj6jD/FaGsPWb+y6a0WYOPR1GhGtcLK9dxqHzocdVHj6s+elw5EdpQoWJjItUkPEwl3fTBpnNXGMbGRFZkWShH9Ljqo8dVHz2unAhtqFA1gmyeWz5c+GZw/vG0gR24l5eF0eOqjx5XffS4ciK0ocL169hEb9zdVY5w79PqjvAwvXF3V/Xr2CRAlaG80OOqjx5XffS48uHmugiIfh2bqE8HB3fLr8LocdVHj6s+ely5ENoQMDWCbIq7vEGgy4Af0eOqjx5XffS48uDjUQAAAAsgtAEAAFgAoQ0AAMACCG0AAAAWQGgDAACwAEIbAACABRDaAAAALIDQBgAAYAGENgAAAAsgtAEAAFgAoQ0AAMACCG0AAAAWQGgDAACwAEIbAACABRDaAAAALIDQBgAAYAGENgAAAAsgtAEAAFgAoQ0AAMACCG0AAAAWQGgDAACwAEIbAACABRDaAAAALIDQBgAAYAGWCW3Z2dkaPny47Ha7IiIiNGrUKJ04ceKi2/Tu3Vs2m83r5/7776+gigEAAMpPzUAXUFrDhw/X4cOHlZKSIrfbraSkJI0dO1bvvPPORbcbM2aMnnnmGc/j2rVr+7tUAACAcmeJ0LZ7926tXLlSW7ZsUffu3SVJr776qvr376+XXnpJ0dHRJW5bu3ZtORyOiioVAADALywR2lJTUxUREeEJbJIUHx+voKAgbdq0SbfeemuJ27799tv629/+JofDoYEDB2rq1KkXPduWn5+v/Px8z+O8vDxJktvtltvtLoe9qR7OzxVzFhjMf+Aw94HF/AcW8182pZ0vS4Q2p9Opxo0bey2rWbOmIiMj5XQ6S9zurrvuUosWLRQdHa1vv/1WjzzyiPbs2aMPP/ywxG1mzJih6dOnF1m+evVqPlotg5SUlECXUK0x/4HD3AcW8x9YzL9vTp06VapxAQ1tjz76qH7/+99fdMzu3bvL/Pxjx471/HenTp3UpEkT3XDDDdq3b58uv/zyYrd57LHHlJyc7Hmcl5enZs2aqW/fvrLb7WWupbpxu91KSUlRnz59FBwcHOhyqh3mP3CY+8Bi/gOL+S+b85/qXUpAQ9tDDz2kkSNHXnRMq1at5HA4dOTIEa/lZ8+eVXZ2tk/fV+vRo4ckae/evSWGttDQUIWGhhZZHhwczC9gGTBvgcX8Bw5zH1jMf2Ax/74p7VwFNLQ1atRIjRo1uuS4uLg45eTkKC0tTd26dZMkrV27VoWFhZ4gVhrp6emSpCZNmpSpXgAAgECxxH3a2rdvr379+mnMmDHavHmzvvzyS02YMEFDhw71XDl68OBBtWvXTps3b5Yk7du3T88++6zS0tJ04MAB/fOf/9SIESN03XXX6aqrrgrk7gAAAPjMEqFNOncVaLt27XTDDTeof//+uvbaa7VgwQLPerfbrT179ni+zBcSEqLPPvtMffv2Vbt27fTQQw/p9ttv10cffRSoXQAAACgzS1w9KkmRkZEXvZFuy5YtZYzxPG7WrJk+//zziigNAADA7yxzpg0AAKA6I7QBAABYAKENAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABCGyqFDRs2aODAgYqOjpbNZtPy5cu91n/44Yfq27evGjRoIJvNpvT09CLPsWDBAvXu3Vt2u102m005OTlFxjz//PPq2bOnateurYiICL/sC4pXHj0+c+aMxo8frwYNGqhu3bq6/fbblZWV5TVm4sSJ6tatm0JDQ9WlSxf/7RBKNG/ePLVs2VJhYWHq0aOHNm/e7FlXmuM0Oztbw4cPl91uV0REhEaNGqUTJ0541p85c0YjR45Up06dVLNmTQ0aNKgC9go/d7Eer1q1SvHx8b/4vZhjuShCGyqFkydPqnPnzpo3b16J66+99lr9/ve/L/E5Tp06pX79+unxxx8vcYzL5dLgwYM1bty4X1wzfFMePZ48ebI++ugjLV26VJ9//rkOHTqk2267rci4e++9V0OGDCm32lF6S5YsUXJysqZNm6atW7eqc+fOSkhI0JEjRySV7jgdPny4du7cqZSUFH388cfasGGDxo4d61lfUFCgWrVqaeLEiYqPj/f7PsHbpXqcn5+vvn37lst7McfyBQwuKjc310gyubm5gS7FUlwul1m+fLlxuVw+byvJLFu2rNh1GRkZRpLZtm1biduvW7fOSDLHjh0rccyiRYtMeHi4z7VZxS+Z/4pQlh7n5OSY4OBgs3TpUs+y3bt3G0kmNTW1yPNMmzbNdO7cuRyrLp3KPvf+Fhsba8aPH+95XFBQYKKjo82MGTO8xpV0nO7atctIMlu2bPEs+/TTT43NZjMHDx4s8nqJiYnmlltu8Tyu7vNfES7W45/Pf3m9FwfqWK5Ipc0anGkDYAlpaWlyu91eZ1batWun5s2bKzU1NYCV4TyXy6W0tDSvHgUFBSk+Pr7UPUpNTVVERIS6d+/uWRYfH6+goCBt2rSp3GuGb8qjxyg7QhsAS3A6nQoJCSny/ZeoqCg5nc7AFAUvR48eVUFBgaKioryW+9Ijp9Opxo0bey2rWbOmIiMj6XMlUB49RtnVDHQBqL4KCo02Z2TryPEzalwvTLExkaoRZAt0WShH9Ljq+3mPbaeOBboc+AE9rjwIbQiIlTsOa/pHu3Q494xnWZPwME0b2CGAVaE8lXePHQ6HXC6XcnJyvM62ZWVlyeFw/NJyUQYX9tgUuKWgIH26ebfi4uI843zpkcPh8Hyh/byzZ88qOzubPgeAP3qMsuPjUVS4lTsOa9zftnr9Yy5JztwzGve3rQGqCuXJHz3u1q2bgoODtWbNGs+yPXv2KDMz0+sfD1SM4npsqxGskKjWmvOXZVq547AkqbCwUGvWrCl1j+Li4pSTk6O0tDTPsrVr16qwsFA9evQo353ARfmrxyg7zrShQhUUGk3/aJfMBcsLXad19thhz+N9+/crPT1dkZGRat68ubKzs5WZmalDhw5JOvePtXTu/8rP/9+d0+mU0+nU3r17JUnbt29XvXr11Lx5c0VGRkqSMjMzPc9VUFDguRdY69atVbduXT/uefXhrx6Hh4dr1KhRSk5OVmRkpOx2ux544AHFxcXpmmuu8Tzv3r17deLECTmdTp0+fdrT4w4dOigkJMSv+15dlNRjSbL/apCOfjJbE6bP0fKnE/XqK3N18uRJJSUlSbr0cdq+fXv169dPY8aM0fz58+V2uzVhwgQNHTpU0dHRntfZtWuXXC6XsrOzdfz4cU+fr7zySn/vfrXwS3p87Ngxpaen/+L3Yo7lYlTQ1ayWxS0/yqaky+437j1qWjzycZGfqGEvGElFfhITE40x5y4LL279tGnTPM89bdq0YscsWrTIMyYxMbHYMevWrfP/pFSgQN72wJ89Pn36tPntb39r6tevb2rXrm1uvfVWc/jwYa/X79WrV7HPk5GRUSH7Xx1uOVFSj8//1I+/z9SwNzLBwSEmNjbWfPXVV55tS3Oc/vTTT2bYsGGmbt26xm63m6SkJHP8+HGvGlq0aFHs81SH+a8IZe2xy+UyQ4YMKZf34kAfyxWptFnDZowpLkjj/+Tl5Sk8PFy5ubmy2+2BLscy3G63VqxYof79+ys4ONiz/B/pB/Xge+mX3H7u0C66pUtTP1ZYtZU0/xWhuvc4kHNfUSpzj6vD/FeEsvaY+S+b0mYNvtOGCtW4Xli5jkPlQ4+rPnpc9dHjyonQhgoVGxOpJuFhKummDzadu8IwNiayIstCOaLHVR89rvroceVEaEOFqhFk89zy4cI3g/OPpw3swL28LIweV330uOqjx5UToQ0Vrl/HJnrj7q5yhHufVneEh+mNu7uqX8cmAaoM5YUeV330uOqjx5UPt/xAQPTr2ER9Oji4W34VRo+rPnpc9dHjysUyoe3555/XJ598ovT0dIWEhCgnJ+eS2xhjNG3aNP3pT39STk6Ofv3rX+uNN95QmzZt/F8wLqlGkE1xlzcIdBnwI3pc9dHjqo8eVx6W+XjU5XJp8ODBGjduXKm3mTlzpl555RXNnz9fmzZtUp06dZSQkKAzZ85cemMAAIBKxDJn2qZPny5JWrx4canGG2M0Z84cPfnkk7rlllskSX/5y18UFRWl5cuXa+jQof4qFQAAoNxZJrT5KiMjQ06nU/Hx8Z5l4eHh6tGjh1JTU0sMbfn5+crPz/c8zsvLk3TuhoFut9u/RVch5+eKOQsM5j9wmPvAYv4Di/kvm9LOV5UNbU6nU5IUFRXltTwqKsqzrjgzZszwnNX7udWrV6t27drlW2Q1kJKSEugSqjXmP3CY+8Bi/gOL+ffNqVOnSjUuoKHt0Ucf1e9///uLjtm9e7fatWtXQRVJjz32mJKTkz2P8/Ly1KxZM/Xt25c/Y+UDt9utlJQU9enThz9lEgDMf+Aw94HF/AcW81825z/Vu5SAhraHHnpII0eOvOiYVq1alem5HQ6HJCkrK0tNmvzvXjJZWVnq0qVLiduFhoYqNDS0yPLg4GB+AcuAeQss5j9wmPvAYv4Di/n3TWnnKqChrVGjRmrUqJFfnjsmJkYOh0Nr1qzxhLS8vDxt2rTJpytQAQAAKgPL3PIjMzNT6enpyszMVEFBgdLT05Wenq4TJ054xrRr107Lli2TJNlsNk2aNEnPPfec/vnPf2r79u0aMWKEoqOjNWjQoADtBQAAQNlY5kKEp556Sm+99Zbn8dVXXy1JWrdunXr37i1J2rNnj3Jzcz1jpkyZopMnT2rs2LHKycnRtddeq5UrVyoszPtPcgAAAFR2lgltixcvvuQ92owxXo9tNpueeeYZPfPMM36sDAAAwP8s8/EoAABAdUZoAwAAsABCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALqBnoAio7Y4wkKS8vL8CVWIvb7dapU6eUl5en4ODgQJdT7TD/gcPcBxbzH1jMf9mczxjnM0dJCG2XcPz4cUlSs2bNAlwJAACoyo4fP67w8PAS19vMpWJdNVdYWKhDhw6pXr16stlsgS7HMvLy8tSsWTP95z//kd1uD3Q51Q7zHzjMfWAx/4HF/JeNMUbHjx9XdHS0goJK/uYaZ9ouISgoSJdddlmgy7Asu93OgRtAzH/gMPeBxfwHFvPvu4udYTuPCxEAAAAsgNAGAABgAYQ2+EVoaKimTZum0NDQQJdSLTH/gcPcBxbzH1jMv39xIQIAAIAFcKYNAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2lBunn/+efXs2VO1a9dWREREqbYxxuipp55SkyZNVKtWLcXHx+v777/3b6FVUHZ2toYPHy673a6IiAiNGjVKJ06cuOg2vXv3ls1m8/q5//77K6hia5s3b55atmypsLAw9ejRQ5s3b77o+KVLl6pdu3YKCwtTp06dtGLFigqqtGryZf4XL15c5Pc8LCysAqutOjZs2KCBAwcqOjpaNptNy5cvv+Q269evV9euXRUaGqrWrVtr8eLFfq+zKiO0ody4XC4NHjxY48aNK/U2M2fO1CuvvKL58+dr06ZNqlOnjhISEnTmzBk/Vlr1DB8+XDt37lRKSoo+/vhjbdiwQWPHjr3kdmPGjNHhw4c9PzNnzqyAaq1tyZIlSk5O1rRp07R161Z17txZCQkJOnLkSLHjN27cqGHDhmnUqFHatm2bBg0apEGDBmnHjh0VXHnV4Ov8S+fuzv/z3/MffvihAiuuOk6ePKnOnTtr3rx5pRqfkZGhAQMG6Prrr1d6eromTZqk0aNHa9WqVX6utAozQDlbtGiRCQ8Pv+S4wsJC43A4zKxZszzLcnJyTGhoqHn33Xf9WGHVsmvXLiPJbNmyxbPs008/NTabzRw8eLDE7Xr16mUefPDBCqiwaomNjTXjx4/3PC4oKDDR0dFmxowZxY6/8847zYABA7yW9ejRw9x3331+rbOq8nX+S/t+BN9IMsuWLbvomClTppgrr7zSa9mQIUNMQkKCHyur2jjThoDJyMiQ0+lUfHy8Z1l4eLh69Oih1NTUAFZmLampqYqIiFD37t09y+Lj4xUUFKRNmzZddNu3335bDRs2VMeOHfXYY4/p1KlT/i7X0lwul9LS0rx+Z4OCghQfH1/i72xqaqrXeElKSEjgd7wMyjL/knTixAm1aNFCzZo10y233KKdO3dWRLnVHr/75Y8/GI+AcTqdkqSoqCiv5VFRUZ51uDSn06nGjRt7LatZs6YiIyMvOo933XWXWrRooejoaH377bd65JFHtGfPHn344Yf+Ltmyjh49qoKCgmJ/Z7/77rtit3E6nfyOl5OyzH/btm21cOFCXXXVVcrNzdVLL72knj17aufOnbrssssqouxqq6Tf/by8PJ0+fVq1atUKUGXWxZk2XNSjjz5a5Eu8F/6U9GaJX8bfcz927FglJCSoU6dOGj58uP7yl79o2bJl2rdvXznuBRBYcXFxGjFihLp06aJevXrpww8/VKNGjfTHP/4x0KUBPuNMGy7qoYce0siRIy86plWrVmV6bofDIUnKyspSkyZNPMuzsrLUpUuXMj1nVVLauXc4HEW+hH327FllZ2d75rg0evToIUnau3evLr/8cp/rrQ4aNmyoGjVqKCsry2t5VlZWiXPtcDh8Go+SlWX+LxQcHKyrr75ae/fu9UeJ+JmSfvftdjtn2cqI0IaLatSokRo1auSX546JiZHD4dCaNWs8IS0vL0+bNm3y6QrUqqq0cx8XF6ecnBylpaWpW7dukqS1a9eqsLDQE8RKIz09XZK8AjS8hYSEqFu3blqzZo0GDRokSSosLNSaNWs0YcKEYreJi4vTmjVrNGnSJM+ylJQUxcXFVUDFVUtZ5v9CBQUF2r59u/r37+/HSiGd+92/8PY2/O7/QoG+EgJVxw8//GC2bdtmpk+fburWrWu2bdtmtm3bZo4fP+4Z07ZtW/Phhx96Hr/44osmIiLC/OMf/zDffvutueWWW0xMTIw5ffp0IHbBsvr162euvvpqs2nTJvPFF1+YNm3amGHDhnnW//e//zVt27Y1mzZtMsYYs3fvXvPMM8+Yr7/+2mRkZJh//OMfplWrVua6664L1C5YxnvvvWdCQ0PN4sWLza5du8zYsWNNRESEcTqdxhhj7rnnHvPoo496xn/55ZemZs2a5qWXXjK7d+8206ZNM8HBwWb79u2B2gVL83X+p0+fblatWmX27dtn0tLSzNChQ01YWJjZuXNnoHbBso4fP+55X5dkXn75ZbNt2zbzww8/GGOMefTRR80999zjGb9//35Tu3Zt8/DDD5vdu3ebefPmmRo1apiVK1cGahcsj9CGcpOYmGgkFflZt26dZ4wks2jRIs/jwsJCM3XqVBMVFWVCQ0PNDTfcYPbs2VPxxVvcTz/9ZIYNG2bq1q1r7Ha7SUpK8grLGRkZXr3IzMw01113nYmMjDShoaGmdevW5uGHHza5ubkB2gNrefXVV03z5s1NSEiIiY2NNV999ZVnXa9evUxiYqLX+Pfff99cccUVJiQkxFx55ZXmk08+qeCKqxZf5n/SpEmesVFRUaZ///5m69atAaja+tatW1fse/z5+U5MTDS9evUqsk2XLl1MSEiIadWqldf7P3xnM8aYgJziAwAAQKlx9SgAAIAFENoAAAAsgNAGAABgAYQ2AAAACyC0AQAAWAChDQAAwAIIbQAAABZAaAMAALAAQhsA/EIjR470/C1MAPAXQhuAKmvkyJGy2Wyy2WwKDg5WTEyMpkyZojNnzlRoHevXr/fUYbPZFBUVpdtvv1379+8vl+fNyckpn0IBVGqENgBVWr9+/XT48GHt379fs2fP1h//+EdNmzYtILXs2bNHhw4d0tKlS7Vz504NHDhQBQUFZXout9tdztUBqOwIbQCqtNDQUDkcDjVr1kyDBg1SfHy8UlJSPOsLCws1Y8YMxcTEqFatWurcubM++OADz/qCggKNGjXKs75t27aaO3dumWpp3LixmjRpouuuu05PPfWUdu3apb1792rLli3q06ePGjZsqPDwcPXq1Utbt2712tZms+mNN97QzTffrDp16mjMmDG6/vrrJUn169eXzWbTyJEjy1QXAGuoGegCAKCi7NixQxs3blSLFi08y2bMmKG//e1vmj9/vtq0aaMNGzbo7rvvVqNGjdSrVy8VFhbqsssu09KlS9WgQQNt3LhRY8eOVZMmTXTnnXeWuZZatWpJklwul44fP67ExES9+uqrMsboD3/4g/r376/vv/9e9erV82zz9NNP68UXX9ScOXNUo0YN3Xzzzbr99tu1Z88e2e12z3MCqJoIbQCqtI8//lh169bV2bNnlZ+fr6CgIL322muSpPz8fL3wwgv67LPPFBcXJ0lq1aqVvvjiC/3xj39Ur169FBwcrOnTp3ueLyYmRqmpqXr//ffLHNoOHz6sl156SU2bNlXbtm3VqVMnr/ULFixQRESEPv/8c910002e5XfddZeSkpI8jzMyMiSdO4MXERFRploAWAehDUCVdv311+uNN97QyZMnNXv2bNWsWVO33367JGnv3r06deqU+vTp47WNy+XS1Vdf7Xk8b948LVy4UJmZmTp9+rRcLpe6dOnicy2XXXaZjDE6deqUOnfurL///e8KCQlRVlaWnnzySa1fv15HjhxRQUGBTp06pczMTK/tu3fv7vsEAKgyCG0AqrQ6deqodevWkqSFCxeqc+fOevPNNzVq1CidOHFCkvTJJ5+oadOmXtuFhoZKkt577z397ne/0x/+8AfFxcWpXr16mjVrljZt2uRzLf/6179kt9vVuHFjr489ExMT9dNPP2nu3Llq0aKFQkNDFRcXJ5fLVWRfAFRfhDYA1UZQUJAef/xxJScn66677lKHDh0UGhqqzMxM9erVq9htvvzyS/Xs2VO//e1vPcv27dtXptePiYkp9mPML7/8Uq+//rr69+8vSfrPf/6jo0ePXvL5QkJCJKnMV6ACsBauHgVQrQwePFg1atTQvHnzVK9ePf3ud7/T5MmT9dZbb2nfvn3aunWrXn31Vb311luSpDZt2ujrr7/WqlWr9O9//1tTp07Vli1byrWmNm3a6K9//at2796tTZs2afjw4aW6qKBFixay2Wz6+OOP9eOPP3rOHAKomghtAKqVmjVrasKECZo5c6ZOnjypZ599VlOnTtWMGTPUvn179evXT5988oliYmIkSffdd59uu+02DRkyRD169NBPP/3kddatPLz55ps6duyYunbtqnvuuUcTJ05U48aNL7ld06ZNNX36dD366KOKiorShAkTyrUuAJWLzRhjAl0EAAAALo4zbQAAABZAaAMAALAAQhsAAIAFENoAAAAsgNAGAABgAYQ2AAAACyC0AQAAWAChDQAAwAIIbQAAABZAaAMAALAAQhsAAIAF/H/0Rx+/rV1T+wAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Let's visualize all possible symbols for a 16-QAM\n", "NUM_BITS_PER_SYMBOL = 4\n", "mapper = sn.phy.mapping.Mapper(num_bits_per_symbol=NUM_BITS_PER_SYMBOL,\n", " constellation_type=\"qam\")\n", "demapper = sn.phy.mapping.Demapper(demapping_method=\"app\",\n", " num_bits_per_symbol=NUM_BITS_PER_SYMBOL,\n", " constellation_type=\"qam\")\n", "mapper.constellation.show();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The above constellation diagram uses Gray labeling as used in the 5G standard.\n", "\n", "After transmission over a noise channel the received symbols can be visualized." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Binary source to generate uniform i.i.d. bits\n", "binary_source = sn.phy.mapping.BinarySource()\n", "\n", "# AWGN channel\n", "awgn_channel = sn.phy.channel.AWGN()\n", "\n", "BATCH_SIZE = 128 # How many examples are processed by Sionna in parallel\n", "EBN0_DB = 17.0 # Eb/N0 in dB\n", "\n", "no = sn.phy.utils.ebnodb2no(ebno_db=EBN0_DB,\n", " num_bits_per_symbol=NUM_BITS_PER_SYMBOL,\n", " coderate=1.0) # Coderate set to 1 as we do uncoded transmission here\n", "\n", "bits = binary_source([BATCH_SIZE, 1200]) # Blocklength\n", "x = mapper(bits)\n", "y = awgn_channel(x, no)\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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RoHgSZaI1CwS33k8T0rDYDWKSM0nnT+pP24fneN1IQJHzIiIKBrwO08ZGKxGEal1AL0FqiJeCRIRUbTgd578WIU7ikRyq0QiIiKiUGCwGmUitVUiERERUSgwDSAKMQeHiIiI1ILBapRiDg4RERGpAdMAiIiIiEixGKwSERERkWIxWCUiIiIixWKwSkRERESKxWCViIiIiBSLwSoRERERKRaDVSIiIiJSLAarRERERKRYDFaJiIiISLEYrBIRERGRYjFYJSIiIiLFYrBKRERERIrFYJWIiIiIFIvBKhEREREpFoNVIiIiIlIsBqtEREREpFgMVomIiIhIsRisEhEREZFiMVglIiIiIsVisEpEREREisVglYiIiIgUi8EqERERESkWg1UiIiIiUiwGq0RERESkWAxWiYiIiEixGKwSERERkWIxWCUiIiIixWKwSkRERESKxWCViIiIiBSLwSoRERERKRaDVSIiIiJSLAarRERERKRYDFaJiIiISLEYrBIRERGRYjFYJSIiIiLFYrBKRERERIrFYJWIiIiIFIvBKhEREREpFoNVIiIiIlIsBqtEREREpFgMVomIiIhIsRisEhEREZFiMVglIiIiIsVisEpEREREisVglYiIiIgUi8EqERERESlWjNwNIKLws1gFbC2vwbETLchKjseInAwY9Dq5m0VEROQXg1UijSsoqcSiNaWorG+x35adGo8Fk3MxIS9bxpYRERH5xzQAIg0rKKnEzOU7nAJVAKiqb8HM5TtQUFIpU8uIiJTHYhVQVFaNVcWHUVRWDYtVkLtJBI6sEmmWxSpg0ZpSeDrVCgB0ABatKcW4XFNIUwKYckBEasRZKOVisEqkUVvLa9xGVB0JACrrW7C1vAajencOyWvyZE9EaiTOQrle3IuzUC/dPJTnMBkxDYBIo46d8B6oBnOcP0w5ICI18jcLBdhmofylBDCFIHwiEqy+8MIL6NWrF+Lj43H++edj69atXo996623oNPpnP6Lj4+PRDM1R5yOBWyjbPzgRJesZGmfG6nH+RKqk73j8/GkT0SREMgslDcFJZW44KmNuPHVLXjg3WLc+OoWXPDURl6kh0jY0wDee+89zJkzB8uWLcP555+P5557Dpdffjl++eUXZGVleXxMSkoKfvnlF/vPOh3z3QIlTsfWnGzGP0cAd/xnGzI6JXA6NoqMyMlA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a64BYCuMf+655+Lpp5/G//73PxQXF2Pz5s145ZVXMG3aNHTt2hULFy50e+77778f48aNAwB8/PHHGDBgAJ5//nkUFhZi586d+Oyzz7BgwQL069cPr7zyitNjBwwYgGeeeQaAre5rXl4eHnroIRQUFGDnzp0oKirCihUr8Kc//Qk9evTAzTffjLq6uqD/DmIqwK+//oonnngCADB8+HCvW8ECthX6//nPf6DT6VBZWYnhw4dj5syZWL16NXbs2IHvvvsOH330ER5++GH07t0bV155JQ4ePOj0HIMGDcL9998PwFYybPjw4Xjrrbewfft2bNy4ETNnzsStt96K4cOHB/27ERF1BOvpapigMfX19QIAob6+PqDHNTc3C6WlpUJzc3OYWhacdotV+HbfceGTnYeEb/cdF9ot1oAeb7FYhNraWsFisYSphcHbtGmTAFtxA2HBggV+j9+6dav9+PHjx9tvb2trE2bOnCnodDr7/d7+y8nJ8fjcjY2NwrXXXuv38d7a+corrwiJiYl+Hx8bGyvs3bvX6bHl5eX2+998802ff4OGhgYhISHB6TmfffZZSe/x6tWrhYyMDL9t1Ov1wsaNG90e39bWJkydOtXn37asrCyg91RN5DxHtLW1CZ988onQ1tYW8demyOB7rH18j50FEq9xZFXheKV42nnnnWcfAf3iiy/si3mMRiNefPFF/PDDD/jjH/+IAQMGIDU1FQaDAampqRg8eDDuvPNOfPjhh17zShMTE/HBBx9g48aNuOWWW5CTk4OEhATExsaiR48emDx5Ml5++WX85S9/8fj4GTNmYP/+/Vi0aBFGjx6NzMxMxMTEICkpCWeffTZ+//vfY9myZTh8+LDPUVB/kpOTMXnyZPvPBoPBvh2rP5MnT0Z5eTmeeeYZjBkzBl26dIHRaERCQgJycnJw5ZVX4tlnn0VFRQUuvfRSt8cbjUZ89NFHePvtt3HhhRciNTUViYmJ6N+/Px555BFs374dZ511VtC/GxERkSc6QRC0U1ketrzE1NRU1NfXIyUlRfLjWlpaUF5ejpycHMTHa2eVvdVqRUNDA1JSUqDX89pEi/geR4ac5wiz2Yx169Zh4sSJbju5kTbwPdY+vsfOAonX+M1GRERERIrFYJWIiIiIFIvBKhEREREpFoNVIiIiIlIsBqtEREREpFgMVomIiIhIsRisEhEREZFiMVglIiIiIsVisEpEREREisVglYiIiIgUi8EqERERESkWg1UiIiIiUqyIBKsvvPACevXqhfj4eJx//vnYunWrz+M/+OAD9OvXD/Hx8RgwYADWrVsXiWYSERERkcKEPVh97733MGfOHCxYsAA7duzAoEGDcPnll+PYsWMej//2229x44034s4778TOnTtx9dVX4+qrr0ZJSUm4m0pEREREChP2YPXZZ5/FjBkzMH36dOTm5mLZsmVITEzEG2+84fH4559/HhMmTMCDDz6I/v37Y/HixRg6dCiWLl0a7qYSERERkcLEhPPJ29rasH37dsybN89+m16vx9ixY1FUVOTxMUVFRZgzZ47TbZdffjk++eQTj8e3traitbXV/nNDQwMAwGw2w2w2S26r2WyGIAiwWq2wWq2SH6d0giDY/6+l34tO43scGVarFYIgwGw2w2AwRPS1xXNZIOc0Uhe+x9rH99hZIH+HsAarx48fh8ViQZcuXZxu79KlC37++WePj6mqqvJ4fFVVlcfjn3jiCSxatMjt9i+++AKJiYmS2xoTEwOTyYSTJ0+ira1N8uPU4sSJE3I3gcKM73F4tbW1obm5GZs3b0Z7e7ssbVi/fr0sr0uRw/dY+/ge2zQ1NUk+NqzBaiTMmzfPaSS2oaEBPXr0wPjx45GSkiL5eVpaWvDrr7+iU6dOiI+PD0dTZSEIAk6cOIHk5GTodDq5m0NhwPc4MlpaWpCQkICLLroo4ucIs9mM9evXY9y4cTAajRF9bYoMvsfax/fYmTgTLkVYg9XMzEwYDAYcPXrU6fajR4/CZDJ5fIzJZAro+Li4OMTFxbndbjQaA+oMFosFOp0Oer0eer12KnqJ08Li70baw/c4MvR6PXQ6XcDnllCS87UpMvgeax/fY5tA/gZh/WaLjY3FsGHD8OWXX9pvs1qt+PLLLzFq1CiPjxk1apTT8YBtyNzb8UQUGr169YJOp8Ptt98ud1PC4q233oJOp4NOp0NFRYXczSEiIonCngYwZ84c3HbbbRg+fDhGjBiB5557Do2NjZg+fToA4NZbb0W3bt3wxBNPAAAeeOABXHzxxfjXv/6FSZMm4d1338X333+PV155JdxNpQioqKhATk5Oh59HXFRERERE2hb2OcPrr78ezzzzDB577DEMHjwYxcXFKCgosC+iOnjwICorK+3H/+53v0N+fj5eeeUVDBo0CB9++CE++eQT5OXlhbupRORFRUWFfVTyrbfe8nnsV199ZT/2q6++ikj7iIhIuyKywGrWrFmYNWuWx/s8fZn94Q9/wB/+8Icwt4rk0K1bN+zatcvr/QMGDAAADB8+HG+++WakmkUAp8aJiEiRVF8NgNTFaDRKGiVPSkriaDoRERGFPw2AiIiIiChYDFZJNS655BLodDpccsklAIC9e/di1qxZ6Nu3LxITE91WeVdWVuLFF1/Etddei759+yIpKQlxcXHo1q0brrrqKrz33ns+d3zylHv5/vvv47LLLsMZZ5yBhIQEnHPOOXjooYdQU1Pjs+179uzBH//4R+Tl5SE5ORmxsbHo2rUrBg8ejDvuuAPvvfee005sgOc80ZUrV2L8+PHIyspCUlISBg0ahKVLlzrtBCIIAvLz83HJJZcgKysLiYmJGDp0KJYtW+ZzYZq3agA6nc5pUdz06dPt7RL/W7hwob29l156qf3YSy+91O1YbzmvmzZtwm233YazzjoLiYmJSElJwYABA/Dggw/iyJEjPv++AFBbW4u5c+eiX79+SEhIQFZWFsaOHYsPPvjA72OJiEjBBI2pr68XAAj19fUBPa65uVkoLS0Vmpubw9QyeVgsFqG2tlawWCxyN0USAAIA4eKLL3a77+KLL7bf98knnwhJSUn248X/ysvLBUEQhPb2dkGv17vd7/rfuHHjhBMnTnhsy6ZNm+zHffnll8LNN9/s9Xn69OkjVFZWenye999/X4iNjfXbll27djk9rry83H7fm2++KcycOdPrYydPniy0tbUJLS0twrXXXuv1uBkzZnj92/fs2VMAINx2220e3xNf/y1YsMCpvb7+e/PNN52ev7m5Wbjhhht8PiYpKUlYvXq117aXlpYKXbt29fr46dOnC2+++aZbPwmEnOeItrY24ZNPPhHa2toi/toUGXyPtY/vsbNA4jXmrJLqHDx4EDfffDMSExMxf/58XHjhhTAYDNi2bRs6deoE4HRpqzFjxuCKK67AgAEDcMYZZ+DEiRPYv38/Xn31VRQVFWH9+vW4//778Z///Mfna86fPx/ffvstrr76atx6663o2bMnjh49ihdeeAFr167Fvn37MHv2bKxYscLpcUePHsX06dPR1taGrKwszJo1CyNHjkRmZiaam5uxb98+/O9//8Mnn3zi8/WXLVuG7777DhMnTsRdd92Fnj174tdff8UTTzyB7777DmvWrMGbb76JkpISfPjhh5g2bRqmTZuG7Oxs7N27FwsXLsTPP/+MV199FVOnTsWECRMk/7137dqFI0eO4PLLLwcA/P3vf8dVV13ldExWVhbS09Oxa9cubNu2DXfccQcA4I033sB5553ndGz37t3t/xYEAddeey3Wrl0LAJg8eTKuu+46nHXWWdDr9di6dSv+9a9/4eDBg7j22mtRWFiI4cOHOz1fQ0MDLr/8cvvo6/XXX4/bbrsNWVlZ2LNnD5599ln734aIiFQo7KFzhHFk1ZkWR1YBCF27dhUOHDjg9XmsVquwd+9en6/12GOPCQAEnU4n7Nmzx+1+x5FVAMLf//53j68zfvx4AYAQExMjHDt2zOn+119/3evIqaOmpiahqanJ6TbXkco///nPbo9rbGy0j4h27txZ0Ol0wnPPPed2XGVlpZCcnCwAEKZMmeKxDd5GVl3b4joy6srx77Zp0yafx77yyisCAMFoNAqfffaZx2NqamqEc889VwAgjB492u3+//u//7O/3uOPP+52f1tbm/09Ev/jyCopDd9j7eN77CyQeI05q0pntQDlXwO7PrT932qRu0WK8OSTT+LMM8/0er9Op0OfPn18Psdjjz2GzMxMCIKA1atX+zx22LBheOSRRzy+zpw5cwAA7e3tKCoqcrq/qqoKAJCenu6zukFCQgISEhK83t+jRw/885//dLs9MTERt956KwCguroa559/Ph544AG340wmE6655hoAwNdff+31dSJJEAQ89dRTAIA//elPXkd709PT8fTTTwMACgsLsXfvXvt9bW1teP311wEAAwcOxNy5c90ebzQa8frrr3N7QyIilWIagJKVrgYKHgYaHBaXpHQFJjwF5E6Rr10yi42NDbgOr9VqRVVVFU6cOOG0GKl79+44fvw4fvjhB5+PnzZtGnQ6ncf7hg0bZv/3/v37ne7Lzs4GYFv8s2rVKrfpc6mmTp3qNdgaOHCg/d/XX3+91+cYNGiQvS11dXVIS0sLqi2hUlpairKyMgDAtdde6/PYiy66yP7voqIi9O3bFwCwfft21NbWAgBuu+02r+9R9+7dMX78eHu6ARERqQeDVaUqXQ28fytss5YOGiptt1/336gNWPv27Yv4+Hi/xwmCgHfeeQevv/46vvvuOzQ3N3s9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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Let's visualize the received symbols\n", "plt.figure(figsize=(8,8))\n", "plt.axes().set_aspect(1.0)\n", "plt.grid(True)\n", "plt.scatter(tf.math.real(y), tf.math.imag(y), label='Received')\n", "plt.scatter(tf.math.real(x), tf.math.imag(x), label='Transmitted')\n", "plt.legend(fontsize=20);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The task of the demapper is now to calculate the a posterior probabilities (APP) $p(b_i=1|y)$ and $p(b_i=0|y)$ that the $i$-th bit was 0 or 1 given the received symbol $y$.\n", "Typically, this is done by calculating log likelihood ratios (LLRs), i.e., logits instead of working in the probability domain.\n", "\n", "For the $i$-th bit the LLR is defined as\n", "$LLR(b_i) = \\log[ \\frac{p(b_i=1)}{p(b_i=0)}]$\n", "\n", "One can show that the optimal APP demapping rule for an AWGN channel and the $i$-th bit can be computed as\n", " $$LLR(i) = \\ln\\left(\\frac{\\Pr\\left(b_i=1\\lvert y\\right)}{\\Pr\\left(b_i=0\\lvert y\\right)}\\right) =\\ln\\left(\\frac{\n", " \\sum_{c\\in\\mathcal{C}_{i,1}} \\Pr\\left(c\\right)\n", " \\exp\\left(-\\frac{1}{N_o}\\left|y-c\\right|^2\\right)\n", " }{\n", " \\sum_{c\\in\\mathcal{C}_{i,0}} \\Pr\\left(c\\right)\n", " \\exp\\left(-\\frac{1}{N_o}\\left|y-c\\right|^2\\right)\n", " }\\right)$$\n", "\n", "Note that simplifications such as *max-log* demapping exist.\n", "\n", "From the above equation, we see that the neural demapper requires the received complex-valued symbol $y$ and the noise variance $N_0$ as input. It returns `modulation order` LLRs. We can use the Sionna APP demapper as a reference implementation to verify the performance of the neural demapper." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Original bits: [[0 0 0 1]]\n", "Complex-valued symbol: [[0.31622776+0.94868326j]]\n", "Received noisy symbol: [[0.6098989+0.91612023j]]\n", "LLRs after demapping: [[-15.877348 -30.353184 -0.5706413 7.1762133]]\n" ] } ], "source": [ "bits = np.array([[0,0,0,1]])\n", "print(\"Original bits:\", bits)\n", "x = mapper(bits)\n", "print(\"Complex-valued symbol:\", x.numpy())\n", "# Add some noise\n", "no = 0.05 # Noise variance\n", "y = awgn_channel(x, no)\n", "print(\"Received noisy symbol: \", y.numpy())\n", "llr = demapper(y, no)\n", "print(\"LLRs after demapping:\", llr.numpy())\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If the sign of the LLR is positive, the value of the associated bit is more likely a \"1\".\n", "Consequently, negative LLRs are associated to a bit value of \"0\". The magnitude of the LLRs represents their reliability.\n", "This soft-information can be used by the forward error correction (FEC) decoder to recover from transmission errors.\n", "\n", "The above equations are the optimal demapping rule for an AWGN channel. However, implementing the optimal demapper for unknown channels remains a challenge." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Understanding the OAI Data Structure\n", "\n", "Before we can start to train our neural demapper, we need to understand the OAI data structure and align the Sionna setup for training.\n", "For this, we use the captured data from the [previous tutorial](../data_acquisition/index.rst)." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "data_in.shape: (856554, 2, 2)\n", "data_out.shape: (856554, 4)\n", "First 5 input symbols: [[[-13 -18]\n", " [ 28 28]]\n", "\n", " [[ 47 32]\n", " [ 28 28]]\n", "\n", " [[ 15 -18]\n", " [ 28 28]]\n", "\n", " [[ 17 9]\n", " [ 28 28]]\n", "\n", " [[ 40 -43]\n", " [ 27 27]]]\n", "First 5 output symbols: [[-13 -18 15 10]\n", " [ 47 32 -19 -4]\n", " [ 15 -18 13 10]\n", " [ 17 9 11 19]\n", " [ 40 -43 -13 -16]]\n" ] } ], "source": [ "import sys\n", "sys.path.append('../../../')\n", "\n", "MAX_LINES = 1000000 # Stop after this many imported lines\n", "\n", "# Depends on config that was used for data capture\n", "fn_input = '../../../logs/demapper_in.txt'\n", "fn_output = '../../../logs/demapper_out.txt'\n", "\n", "# Read training data from data dump\n", "def read_training_data(in_file, element_shape):\n", " with open(in_file) as f:\n", " lines = f.readlines()\n", " result = None\n", " i = 0\n", " while i < len(lines):\n", " try:\n", " i = lines.index('QAM16\\n', i)\n", " except ValueError as e:\n", " break\n", " num = int(lines[i+1])\n", " #if num > 30:\n", " # print(num)\n", " data = np.fromstring(' '.join(lines[i+2:i+2+num]), sep=' ', dtype=np.int16).reshape(num, *element_shape)\n", " if result is None:\n", " result = data\n", " else:\n", " result = np.concatenate((result, data))\n", " i += 2 + num\n", " if i>MAX_LINES:\n", " break\n", " return result\n", "\n", "def int16_to_float16(symbols_i):\n", " return np.ldexp(symbols_i.astype(np.float32), -8).astype(np.float16)\n", "\n", "def float16_to_int16(llrs_h):\n", " return np.rint(np.ldexp(llrs_h.astype(np.float32), 8)).astype(np.int16)\n", "\n", "def norm_int16_to_float16(symbols_i, magnitudes):\n", " args = symbols_i.astype(np.float32)\n", " if magnitudes is not None:\n", " args = args / magnitudes.astype(np.float32)\n", " return np.ldexp(args, 7).astype(np.float16)\n", "\n", "data_in = read_training_data(fn_input, (2, 2))\n", "data_out = read_training_data(fn_output, (4,))\n", "assert(data_in.shape[0] == data_out.shape[0])\n", "\n", "print(\"data_in.shape: \", data_in.shape)\n", "print(\"data_out.shape: \", data_out.shape)\n", "\n", "print(\"First 5 input symbols:\", data_in[0:5,:])\n", "print(\"First 5 output symbols:\", data_out[0:5,:])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "OAI uses integer representations of the input/output symbols. It requires scaling to be compatible with Sionna. \n", "\n", "The second input values are the resulting channel estimation magnitudes and can be used for re-scaling.\n", "After re-scaling, the QAM symbols are scaled such that the first decision boundary equals to 1.0, i.e., the QAM constellation does not have unit power.\n", "We will now re-scale the recorded symbols and compare the resulting LLRs to the Sionna reference." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Avg. power after norm: 1.0407250648843098\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = data_in[:10000,...]\n", "# OAI uses h as decision region between inner and outer bits\n", "# We scale the received symbols y back such that y_n = y / h\n", "y_n = x[:,0,0]/x[:,1,0] + 1.j*x[:,0,1]/x[:,1,1]\n", "\n", "# This normalizes the first decision bound to 1,\n", "# i.e., the center between inner and out constellation points.\n", "# In the Sionna definition (i.e., power normalized QAM),\n", "# the inner/outer points are at 0.3162278 and 0.9486833, respectively.\n", "# Thus we need to scale y_n by s = 0.9486833 - 0.3162278\n", "s = 0.9486833 - 0.3162278 # outer - inner constellation point\n", "y = y_n * s\n", "\n", "# Calculate average power of received symbols after normalization\n", "avg_power = np.mean(np.abs(y)**2)\n", "\n", "# Keep in mind there is some noise variance\n", "print(\"Avg. power after norm:\", avg_power)\n", "\n", "# And plot results\n", "plt.scatter(y.real, y.imag, label=\"OAI normalized\")\n", "plt.title(\"Received QAM symbols (OAI)\")\n", "plt.ylabel(\"imaginary part\")\n", "plt.xlabel(\"real part\");\n", "plt.gca().set_aspect('equal', adjustable='box');\n", "\n", "# Overlay with Sionna constellations\n", "c = sn.phy.mapping.Constellation(\"qam\", 4).points.numpy()\n", "plt.scatter(c.real, c.imag, label=\"Sionna QAM-16\")\n", "plt.legend();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As can be seen, after normalization the received data symbols match well to the Sionna QAM constellation.\n", "\n", "Using the Sionna demapper as reference allows to compare the calculated LLRs with the recorded dataset to verify that also the outputs are correctly scaled.\n", "Note that OAI uses a heuristic demapper, i.e., the captured LLRs are not the ones we expect from APP demapping." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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1BTx8fHSvNTUVGRkZECtVgMA1Go1zp49i5ycHKlNXFwclEolvLy8qtMXIiIiqiG0GkEJCQnBxo0bsWPHDtSqVUu6ZsTW1haWlpawtbXFyJEjERYWBnt7eyiVSowbNw5qtRodO3YEAPTq1QteXl4YOnQoFi1ahKysLEyfPh0hISEcJSEiIiIAWgaU1atXAwC6deumMT86OhrDhw8HAERERMDIyAiBgYEoKCiAn58fVq1aJbU1NjbGrl27MHbsWKjValhbWyM4OBhz586tXk+I6NlS9+i7AiKiStEqoAghntnGwsICkZGRiIyMrLCNh4cHYmNjtdk1ERERvUSqdJEsERE95vGRqSb++quDqAbhywKJiIhIdhhQiIiISHYYUIiIiEh2GFCIiIhIdhhQiIiISHYYUIiIyjFy3WmMXHda32UQvbQYUIiIiEh2GFCIiIhIdhhQiIiISHYYUIiIiEh2GFCIiIhIdhhQiIiISHYYUIhIp3oaJaKnUaK+yyAiA8eAQkRERLLDgEJERESyw4BCREREssOAQkRERLLDgEJERESyw4BCREREssOAQkRERLLDgEJERESyw4BCREREssOAQkRERLLDgEJERESyw4BCREREssOAQkRERLJjou8CiIieB75RmciwcQSFiIiIZIcBhYiIiGSHAYWIiIhkhwGFiIiIZIcBhYiIiGSHd/EQkcHynLpb3yUQ0XPCERQiIiKSHY6gEJGGketO62Q7jz+HJL7EWyfbJKKXh9YjKEePHkXfvn3h6uoKhUKB7du3aywXQmDmzJlwcXGBpaUlfH19cfHiRY02N2/eRFBQEJRKJezs7DBy5EjcuXOnWh0hIiKimkPrgHL37l20bt0akZGR5S5ftGgRli9fjjVr1uDkyZOwtraGn58fHjx4ILUJCgrC+fPnERcXh127duHo0aMYPXp01XtBRCQXqXseTURULVqf4vH394e/v3+5y4QQWLZsGaZPn47+/fsDANavXw9nZ2ds374d7777LlJSUrB3716cPn0a7dq1AwCsWLECffr0wZIlS+Dq6lqN7hAREVFNoNOLZNPS0pCVlQVfX19pnq2tLXx8fJCQkAAASEhIgJ2dnRROAMDX1xdGRkY4efJkudstKChAfn6+xkREVJ6eRol8Dw9RDaDTgJKVlQUAcHZ21pjv7OwsLcvKyoKTk5PGchMTE9jb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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "demapper = sn.phy.mapping.Demapper(\"app\", \"qam\", 4)\n", "\n", "y_tf = tf.constant(y, tf.complex64)\n", "# avg_power is signal power ps + no where ps = 1\n", "ps = 1. # Signal power\n", "no = tf.constant(avg_power-ps, tf.float32)\n", "\n", "llr = -1* demapper(y_tf, no) # Flip sign due to Sionna's logit definition\n", "\n", "# Scale llrs\n", "llr_ = llr.numpy()\n", "\n", "llr_ref = np.reshape(llr_.astype(int), (-1,4))\n", "\n", "llr_oai = data_out[:llr_ref.shape[0],...]\n", "\n", "# And plot distributions\n", "r = np.arange(-100, 100, 1)\n", "\n", "for bit_idx in range(4):\n", " plt.figure()\n", " plt.hist(llr_ref[:,bit_idx], bins=r, label=\"Sionna APP\")\n", "\n", " plt.hist(llr_oai[:,bit_idx], bins=r, alpha=0.3, label=\"OAI demapper\")\n", " plt.legend();\n", " plt.title(f\"LLR distribution bit index {bit_idx}\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The observed mismatch can be justified by the fact that OAI uses a heuristic demapper implementation.\n", "\n", "The noise variance estimation itself is not available and the demapper must rely on the scaled channel magnitudes." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Neural Demapper\n", "\n", "The neural demapper must be operable with the OAI data structure as analyzed above. Further, we assume a fixed and static constellation, which means the network will learn the Gray labeling implicitly from the training data.\n", "\n", "For this implementation, we create a simple neural demapper using the *Keras* Model framework. The architecture consists of a basic 3-layer multilayer perceptron (MLP). While this architecture is intentionally kept simple for demonstration purposes, there is room for architectural optimization in real-world applications." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "class NeuralDemapper(Model): # Inherits from Keras Layer\n", "\n", " def __init__(self, num_bits_per_symbol,):\n", " \"\"\"Neural demapper using a simple 3-layer MLP\n", "\n", " Inputs\n", " ------\n", " [y_i, y_q] or [y_i, y_q, h_i, h_q]\n", " list of tensors:\n", "\n", " y_i: [batch_size, 1, 1], tf.float32\n", " Real part of the received IQ symbols.\n", "\n", " y_q: [batch_size, 1, 1], tf.float32\n", " Imaginary part of the received IQ symbols.\n", "\n", " optional:\n", " h_i: [batch_size, 1, 1], tf.float32\n", " Real part of the estimated channel magnitude.\n", "\n", " h_q: [batch_size, 1, 1], tf.float32\n", " Real part of the estimated channel magnitude.\n", "\n", " Outputs\n", " -------\n", " llr: [batch_size, num_bits_per_symbol], tf.float32\n", " LLRs for each bit of a symbol.\n", "\n", " \"\"\"\n", " super().__init__()\n", "\n", " # We are using three layers, this is not optimized but also not needed for this project\n", " self.dense_1 = Dense(32, 'relu', name='dense_1')\n", " self.dense_2 = Dense(32, 'relu', input_shape=(32,), name='dense_2')\n", "\n", " # The last layer has no activation and therefore outputs logits, i.e., LLRs\n", " self.dense_3 = Dense(num_bits_per_symbol, None,\n", " input_shape=(32,), name='dense_3')\n", "\n", " def call(self, inputs, training=None):\n", "\n", " # Supports either a list of inputs or already concatenated version\n", " nn_input = tf.concat(inputs, axis=-1) if isinstance(inputs, list) else inputs\n", " z = self.dense_1(nn_input, training=training)\n", " z = self.dense_2(z, training=training)\n", " llr = self.dense_3(z, training=training) # [batch size, 1, num_bits_per_symbol]\n", "\n", " return llr\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As demapping is a binary classification task of the `modulation order` logits, we use the binary cross entropy (BCE) loss and average over the individual bits." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model: \"neural_demapper\"\n", "_________________________________________________________________\n", " Layer (type) Output Shape Param # \n", "=================================================================\n", " dense_1 (Dense) multiple 96 \n", " \n", " dense_2 (Dense) multiple 1056 \n", " \n", " dense_3 (Dense) multiple 132 \n", " \n", "=================================================================\n", "Total params: 1284 (5.02 KB)\n", "Trainable params: 1284 (5.02 KB)\n", "Non-trainable params: 0 (0.00 Byte)\n", "_________________________________________________________________\n" ] } ], "source": [ "NUM_BITS_PER_SYMBOL = 4 # 16-QAM\n", "\n", "# Init components\n", "neural_demapper_synthetic = NeuralDemapper(NUM_BITS_PER_SYMBOL)\n", "\n", "# Binary classification problem -> train on BCE loss\n", "bce = tf.keras.losses.BinaryCrossentropy(from_logits=True)\n", "\n", "# Use ADAM optimizer\n", "optimizer = tf.keras.optimizers.Adam(1e-2)\n", "\n", "# Dummy run to init the Keras model\n", "neural_demapper_synthetic([tf.ones((1,1)),tf.ones((1,1))])\n", "\n", "neural_demapper_synthetic.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Blind Demapping & Training with Synthetic Data\n", "\n", "To simplify the training procedure, we use synthetic training data from Sionna.\n", "\n", "We draw random payload bits, map them to QAM symbol and simulate the transmission over an AWGN channel.\n", "As this synthetic data generation procedure is so fast, we generate new training data in each iteration of the training loop.\n", "\n", "As noise variance estimates are not available, we train the neural demapper with only two inputs (real and imaginary part of the received symbol, respectively).\n", "This obviously does not allow to reproduce exact APP estimates, but intuitively the demapper learns an average noise variance over all possible input SNRs. Keep in mind that the LDPC decoder is implemented as *min-sum* decoder which is know to be robust against mis-scaling of the LLRs.\n", "\n", "To improve the neural demapper performance, in the next section we introduce another version which is trained on recorded data from the OAI testbed.\n", "This version takes as input also the channel estimates.\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING: All log messages before absl::InitializeLog() is called are written to STDERR\n", "I0000 00:00:1743700295.518774 2480569 device_compiler.h:186] Compiled cluster using XLA! This line is logged at most once for the lifetime of the process.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:5 out of the last 5 calls to triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has reduce_retracing=True option that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/guide/function#controlling_retracing and https://www.tensorflow.org/api_docs/python/tf/function for more details.\n", "WARNING:tensorflow:6 out of the last 6 calls to triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has reduce_retracing=True option that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/guide/function#controlling_retracing and https://www.tensorflow.org/api_docs/python/tf/function for more details.\n", "0/10000 Loss: 7.06E-01\n", "500/10000 Loss: 4.17E-01\n", "1000/10000 Loss: 4.25E-01\n", "1500/10000 Loss: 4.32E-01\n", "2000/10000 Loss: 4.40E-01\n", "2500/10000 Loss: 4.26E-01\n", "3000/10000 Loss: 4.36E-01\n", "3500/10000 Loss: 4.27E-01\n", "4000/10000 Loss: 4.45E-01\n", "4500/10000 Loss: 4.29E-01\n", "5000/10000 Loss: 4.41E-01\n", "5500/10000 Loss: 4.45E-01\n", "6000/10000 Loss: 4.24E-01\n", "6500/10000 Loss: 4.27E-01\n", "7000/10000 Loss: 4.29E-01\n", "7500/10000 Loss: 4.17E-01\n", "8000/10000 Loss: 4.18E-01\n", "8500/10000 Loss: 4.22E-01\n", "9000/10000 Loss: 4.26E-01\n", "9500/10000 Loss: 4.27E-01\n" ] } ], "source": [ "BATCH_SIZE = 1024\n", "NUM_TRAINING_ITERATIONS = 10000\n", "\n", "# Scaling factor for QAM symbols to be compatible with the OAI demapper\n", "qam16_threshold_mag = 2 * 0.3162278\n", "\n", "@tf.function(jit_compile=False)\n", "def training_step():\n", " # we train with a randomized noise variance\n", " no = tf.random.uniform([BATCH_SIZE,1], minval=0., maxval=1.,\n", " dtype=tf.float32)\n", " # Draw random bits\n", " bits = binary_source([BATCH_SIZE, NUM_BITS_PER_SYMBOL])\n", "\n", " # Map to QAM symbols\n", " x = mapper(bits)\n", "\n", " # Transmit over Gaussian channel\n", " y = awgn_channel(x, no)\n", "\n", " # Split real and imaginary part and scale back to OAI\n", " qxr = tf.math.real(y) * (1.0 / qam16_threshold_mag)\n", " qxi = tf.math.imag(y) * (1.0 / qam16_threshold_mag)\n", "\n", " llr = neural_demapper_synthetic([qxr, qxi], training=True)\n", " loss = bce(bits, -llr) # Note: OAI uses flipped logits definition\n", " return loss\n", "\n", "# Training loop\n", "for i in range(NUM_TRAINING_ITERATIONS):\n", " with tf.GradientTape() as tape:\n", " loss = training_step()\n", " gradient = tape.gradient(loss, tape.watched_variables())\n", " optimizer.apply_gradients(zip(gradient, tape.watched_variables()));\n", " # Print progress\n", " if i % 500 == 0:\n", " print(f\"{i}/{NUM_TRAINING_ITERATIONS} Loss: {loss:.2E}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's have a look at the outputs after training." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Original bits: [[0 1 1 1]]\n", "Complex-valued symbol: [[0.94868326-0.94868326j]]\n", "Received noisy symbol: [[0.9949063-0.77518046j]]\n", "tf.Tensor([[0.9949063-0.77518046j]], shape=(1, 1), dtype=complex64)\n", "LLRs Reference: tf.Tensor([[-4.562538 3.3838053 1.1041325 0.36931008]], shape=(1, 4), dtype=float32)\n", "LLRs NRX : tf.Tensor([[-3.5805306 2.8586419 1.3626295 0.46617085]], shape=(1, 4), dtype=float32)\n" ] } ], "source": [ "bits = np.array([[0,1,1,1]])\n", "print(\"Original bits:\", bits)\n", "x = mapper(bits)\n", "print(\"Complex-valued symbol:\", x.numpy())\n", "# Add some noise\n", "no = tf.constant([[0.4,]]) # Noise variance\n", "y = awgn_channel(x, no)\n", "print(\"Received noisy symbol: \", y.numpy())\n", "print(y)\n", "llr_ref = demapper(y, no)\n", "llr_nn = -neural_demapper_synthetic([tf.math.real(y) / qam16_threshold_mag,\n", " tf.math.imag(y) / qam16_threshold_mag])\n", "print(\"LLRs Reference:\", llr_ref)\n", "print(\"LLRs NRX :\", llr_nn)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As can be seen, the outputs of the neural demapper are close to the (optimal) Sionna reference APP-demapper. " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Save weights for synthetic demapper\n", "fn = \"../models/neural_demapper_weights_y2\"\n", "\n", "weights = neural_demapper_synthetic.get_weights()\n", "with open(fn, 'wb') as f:\n", " pickle.dump(weights, f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Improved Demapping & Training with Captured Data\n", "\n", "To improve the performance of the neural demapper, we now also take OAI's channel estimates into account. Thus, the demapper has two complex-valued inputs (i.e., 4 real-valued), the received symbol and the channel estimate. Both are scaled integers as described earlier. Note that the scaled channel estimates of OAI that are provided to the demapper share the same real and imaginary component. Thus, 3 inputs would be sufficient, but we keep the same data structure and feed 4 inputs to the neural demapper.\n", "\n", "The following code snippets can be used to train with recorded data from the [previous tutorial](../data_acquisition/index.rst).\n", "\n", "In case of real-world data, we can use the mean squared error (MSE) loss and interpret the task as a regression problem. In this case, the labels are the outputs of the OAI demapper. Note that this includes erroneous decisions in the training data. A better approach is to use the corrected labels either by transmitting a known sequence or by using the LDPC decoder for error correction [Schibisch2018]. However, this is beyond the scope of this tutorial." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training data size: 856554\n" ] } ], "source": [ "###########################################################################\n", "# The following code is only relevant if training is done on captured data!\n", "###########################################################################\n", "\n", "# Depends on config that was used for data capture\n", "fn_input = '../../../logs/demapper_in.txt'\n", "fn_output = '../../../logs/demapper_out.txt'\n", "\n", "# Requires data dump from the previous tutorial\n", "demapper_in_data = read_training_data(fn_input, (2, 2))\n", "demapper_out_data = read_training_data(fn_output, (4,))\n", "assert(demapper_in_data.shape[0] == demapper_out_data.shape[0])\n", "\n", "print(\"Training data size: \", demapper_out_data.shape[0])\n", "\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model: \"neural_demapper_1\"\n", "_________________________________________________________________\n", " Layer (type) Output Shape Param # \n", "=================================================================\n", " dense_1 (Dense) multiple 160 \n", " \n", " dense_2 (Dense) multiple 1056 \n", " \n", " dense_3 (Dense) multiple 132 \n", " \n", "=================================================================\n", "Total params: 1348 (5.27 KB)\n", "Trainable params: 1348 (5.27 KB)\n", "Non-trainable params: 0 (0.00 Byte)\n", "_________________________________________________________________\n" ] } ], "source": [ "# Regression loss for training on captured data\n", "rge = tf.keras.losses.MeanSquaredError()\n", "\n", "# Use ADAM optimizer\n", "optimizer = tf.keras.optimizers.Adam(1e-2)\n", "\n", "# Init new receiver\n", "neural_demapper_capture = NeuralDemapper(NUM_BITS_PER_SYMBOL)\n", "\n", "# Dummy run to init the Keras model\n", "# Note that we now have 4 inputs as we do not scale automatically\n", "neural_demapper_capture([tf.ones((1,4))])\n", "\n", "neural_demapper_capture.summary()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0/10000 Loss: 1.42E-01\n", "500/10000 Loss: 1.50E-05\n", "1000/10000 Loss: 7.88E-06\n", "1500/10000 Loss: 5.17E-05\n", "2000/10000 Loss: 1.25E-05\n", "2500/10000 Loss: 2.97E-06\n", "3000/10000 Loss: 1.49E-06\n", "3500/10000 Loss: 1.22E-05\n", "4000/10000 Loss: 7.39E-05\n", "4500/10000 Loss: 1.31E-06\n", "5000/10000 Loss: 1.01E-06\n", "5500/10000 Loss: 1.81E-05\n", "6000/10000 Loss: 6.59E-07\n", "6500/10000 Loss: 6.77E-05\n", "7000/10000 Loss: 4.81E-06\n", "7500/10000 Loss: 1.07E-04\n", "8000/10000 Loss: 3.10E-06\n", "8500/10000 Loss: 1.40E-05\n", "9000/10000 Loss: 4.12E-05\n", "9500/10000 Loss: 7.80E-06\n" ] } ], "source": [ "@tf.function(jit_compile=False)\n", "def training_step():\n", " # Train on captured data\n", " if True:\n", " i = np.random.randint(0, demapper_in_data.shape[0] - BATCH_SIZE)\n", " llr_ref = demapper_out_data[i:i+BATCH_SIZE]\n", " y_no = demapper_in_data[i:i+BATCH_SIZE]\n", "\n", " llr_ref = int16_to_float16(llr_ref)\n", " y_no = int16_to_float16(y_no)\n", "\n", " llr = neural_demapper_capture(y_no.reshape(-1, 4), training=True)\n", " loss = rge(llr_ref, llr)\n", " return loss\n", "\n", "# Training loop\n", "for i in range(NUM_TRAINING_ITERATIONS):\n", " with tf.GradientTape() as tape:\n", " loss = training_step()\n", " gradient = tape.gradient(loss, tape.watched_variables())\n", " optimizer.apply_gradients(zip(gradient, tape.watched_variables()));\n", " # Print progress\n", " if i % 500 == 0:\n", " print(f\"{i}/{NUM_TRAINING_ITERATIONS} Loss: {loss:.2E}\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Save weights of captured demapper\n", "fn = \"../models/neural_demapper_weights_y4\"\n", "\n", "weights = neural_demapper_capture.get_weights()\n", "with open(fn, 'wb') as f:\n", " pickle.dump(weights, f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that this implementation of the demapper has four inputs instead of the two normalized inputs from the synthetic demapper.\n", "However, due to the lack of ground truth information, the training data is only as good as the OAI heuristic demapper.\n", "\n", "One could use the LDPC decoder to reconstruct improved labels as done in [Schibisch2018]. However, this is beyond the scope of this tutorial." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Export TensorRT Engine\n", "\n", "We can now export the model including its weights such that it can be loaded in [TensorRT](https://developer.nvidia.com/tensorrt).\n", "\n", "TensorRT is a toolset to achieve high-performance deep learning inference. As input it requires the [ONNX](https://onnx.ai/) export of a trained model." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "synthetic = True\n", "\n", "if synthetic:\n", " num_inputs = 2 # 2xfloat16\n", "else:\n", " num_inputs = 4 # 4xfloat16\n", "\n", "fn = f\"../models/neural_demapper_weights_y{num_inputs}\"\n", "\n", "# Load weights via pickle\n", "with open(fn, 'rb') as f:\n", " weights = pickle.load(f)\n", "neural_demapper = NeuralDemapper(NUM_BITS_PER_SYMBOL)\n", "\n", "# Dummy run to init layers\n", "neural_demapper([tf.ones((1,num_inputs))])\n", "\n", "# And load weights\n", "neural_demapper.set_weights(weights)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now convert the model to the ONNX file format and build the TensorRT engine.\n", "\n", "Note that you may need to fix the `trtexec` path (requires restart the Jupyter notebook) via `export PATH=$PATH:/usr/src/tensorrt/bin`." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bs_max = 512 # max batch size for inference\n", "\n", "# We use dynamic shapes for the batch_dim\n", "input_signature =[tf.TensorSpec([None,num_inputs], tf.float16, name=\"y\")]\n", "\n", "\n", "onnx_model, _ = tf2onnx.convert.from_keras(\n", " neural_demapper,\n", " input_signature=input_signature\n", ")\n", "onnx.checker.check_model(onnx_model)\n", "\n", "# And save the ONNX model\n", "onnx.save(onnx_model, f\"../models/neural_demapper.{num_inputs}xfloat16.onnx\")\n", "\n", "# And build trtengine\n", "trt_command = f'/usr/src/tensorrt/bin/trtexec --fp16'\n", "trt_command += f' --onnx=model/neural_demapper.{num_inputs}xfloat16.onnx'\n", "trt_command += f' --saveEngine=model/neural_demapper.{num_inputs}xfloat16.plan'\n", "trt_command += f' --preview=+profileSharing0806'\n", "trt_command += f' --inputIOFormats=fp16:chw'\n", "trt_command += f' --outputIOFormats=fp16:chw'\n", "\n", "trt_command += f\" --minShapes=y:1x{num_inputs}\"\n", "trt_command += f\" --optShapes=y:{64}x{num_inputs}\"\n", "trt_command += f\" --maxShapes=y:{bs_max}x{num_inputs}\"\n", "\n", "# And run the command\n", "os.system(trt_command)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The TensorRT engine is now exported and can be used by the neural demapper plugin.\n", "The next part of this tutorial will explain the CUDA integration of the engine." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "python3", "version": "3.10.12" } }, "nbformat": 4, "nbformat_minor": 4 }