{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Date Converter\n", "\n", "We will be translating from one date format to another. In order to do this we need to connect two set of LSTMs (RNNs). The diagram looks as follows: Each set respectively sharing weights (i.e. each of the 4 green cells have the same weights and similarly with the blue cells). The first is a many to one LSTM, which summarises the question at the last hidden layer (and cell memory).\n", "\n", "The second set (blue) is a Many to Many LSTM which has different weights to the first set of LSTMs. The input is simply the answer sentence while the output is the same sentence shifted by one. Ofcourse during testing time there are no inputs for the `answer` and is only used during training.\n", " \n", "\n", "**20th January 2017 => 20th January 2009**\n", "\n", "\n", "## References:\n", "1. Plotting Tensorflow graph: https://stackoverflow.com/questions/38189119/simple-way-to-visualize-a-tensorflow-graph-in-jupyter/38192374#38192374\n", "2. The generation process was taken from: https://github.com/datalogue/keras-attention/blob/master/data/generate.py\n", "3. 2014 paper with 2000+ citations: https://arxiv.org/pdf/1409.3215.pdf" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: faker in /root/miniconda3/lib/python3.6/site-packages\r\n", "Requirement already satisfied: babel in /root/miniconda3/lib/python3.6/site-packages\r\n", "Requirement already satisfied: email-validator==1.0.2 in /root/miniconda3/lib/python3.6/site-packages (from faker)\r\n", "Requirement already satisfied: six in /root/miniconda3/lib/python3.6/site-packages (from faker)\r\n", "Requirement already satisfied: python-dateutil>=2.4 in /root/miniconda3/lib/python3.6/site-packages (from faker)\r\n", "Requirement already satisfied: pytz>=0a in /root/miniconda3/lib/python3.6/site-packages (from babel)\r\n", "Requirement already satisfied: idna>=2.0.0 in /root/miniconda3/lib/python3.6/site-packages (from email-validator==1.0.2->faker)\r\n", "Requirement already satisfied: dnspython>=1.15.0 in /root/miniconda3/lib/python3.6/site-packages (from email-validator==1.0.2->faker)\r\n" ] } ], "source": [ "!pip install faker babel" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEABALDBoYFhsaGRoeHRsfICYlISIiIiUlJSIlLicxMC0n\nLTA1PVBCNThLOS0tRWFFS1NWW1xbMkFlbWRYbVBZW1cBERISGRYZLxsbMFc9NzZXV1dXV1dXV1dX\nV1dXV1dXV1dXY1dXV1dXV1dXV1dXV1dfV11XV2FXV1dXWldXV1djV//AABEIAWgB4AMBIgACEQED\nEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAABAUBAgMGB//EAEgQAAIBAgIEBwoNAwQDAQEAAAABAgMR\nBCEFEhMxFkFRU5GT0RQiMlJUYXGSsdIGFTM0QmNyc4Gho7LBI2KCJEPh8LPC8aKD/8QAGQEBAQEB\nAQEAAAAAAAAAAAAAAAECAwQF/8QAIxEBAAIDAAMAAgIDAAAAAAAAAAERAhIxAyEyFGFBUQQiQv/a\nAAwDAQACEQMRAD8A+fgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+oVfgtoyFtaio33XqVfeNn8EtHJ22H6lX3i5xGDjUtrxbt\nuN3Ru76ruYnb+G/9KjtqGPwW0a5OKopyW9bSr7x04H6Ps3sEkt7dSol+4t4YOKm5qL1nvZKUHq2V\nr781dGouvbnjf/Sgj8DMA1dUE197V94zwKwPk66yr2l1Ww+vFJzcXnnC0d6a4723nD4sjz1b115v\nN5iqq+BWB8nXW1feHArA+TrrKvaW9bR8Jw1HKW5q91rWclLf+CN8ThI1Uk5SjZ3Ti81lbK+4Cl4F\nYHyddbV94zwKwPk66yr2lk9Fwe+pOStlrNPite7V/wDvot0oYBQldVaj35SldZ8nIBUcCsD5Ousq\n9o4FYHyddZV7S3qYCEpuevJOTTdmleytZ5Xf4kinBRSzbtyu4Hn5/A3ARzeH/Uq+8ceC2jr22GfJ\ntal/3HpdktVxvvd83fMibGd9yt6M+m5JWFNwU0f5P+pU94cFNH+T/qVPeLCei7tvWqK7bdpcrb/k\n64fBunrWc3d376V7ZWyKiq4KaP8AJ/1KnvDgpo/yf9Sp7xd7KXINnLkApOCmj/J/1KnvDgpo/wAn\n/Uqe8XezlyDZy5AKTgpo/wAn/Uqe8OCmj/J/1KnvF3s5chpPDt2yeTvk/aBTy+Cmjkr7D9Sp7xhf\nBXR73Ye//wDSp7xdSpS4kc6uElOKTcovPONlvTXn5Sfyqq4KaP8AJv1KnvDgpo/yf9Sp7xO+Knzl\nb115uw6xwFmn310mldrdnx7+P2chUVnBTR/k/wCpU94cFNH+TfqVPeLKro9ybbc1fkaXEl/COK0P\na2rOolfNa2VuRcgEPgpo/wAn/Uqe8OCmj/Jv1KnvE74p/vq+uvP2nfD4J072c5X8Zp9AFVwU0f5P\n+pU94yvgno/yf9Sp7xdbOXIaQw7imknvvmwKbgto69u58+Ta1L/uM8FNH+TfqVPeLjYzvuVvRn03\nI89GNu+vVXmUkl4Te78SQs0r+Cej/Jv1KnvDgpo/yb9Sp7xYQ0ZbfKpLJrOS401/P5I60cFqbr8X\nIt3o9JUVXBTR/k36lT3hwU0f5N+pU94n/FSTbTqK/EpZX5bcvYa/FH99Xz9+s92/oAhcFNH+TfqV\nPeHBTR/k36lT3iZ8TK91KqnyqSu/SdaOj5RSvKbfG72T/ACu4KaP8m/Uqe8bL4JaP5j9Sp7xbPDt\n235O+/2m+ylbcBTr4I6P5j9Sp7w4IaP8n/Uq+8XMackzpZ8gFFwQ0f5P+pV94cENH+T/AKlX3i9s\n+QWfIBRcENH+T/qVfeHBDR/k/wCpV94vdV8g1HyMCi4IaP8AJ/1KvvETFfBXBRl3tDK3OT949RqP\nkZSaZ0nsKuo4X71Pe087+Yk89Cpfwawt/kFb7yp2mr+DmE5l+vPtO0NPKU1HZtX852+NafHkY9tQ\ngT+DuFSb2PE/pz7SnrYLCJ2UbNLO7nn+Z6iOLjUjLV5LFZWw8I3na942fmfGS3TGFD3HRldKDXI9\nZ7+k9Fo/4PYSpSpTlRzlFN9/U/HjIVJq3FluPQaETjS75Nd93q5FkLJxeWw2hIPEpOlei6jXhPde\n3LfkPUQ+CeAa+Q/Uqe8VuFq/1kr/AO/7W+z8z1lLcatiVPwSwHMfqVPeMw+COAd/6H6lT3i6NqcL\nttIsMpjuZYotThGcZa0ZJNNcae5m+oaRyqN6rtvNaGtZ6zb77K6Sdst/58h31BswOEJVNo076ufE\nrWztZ8u7pZGWKxWrnQTlblWb6d3/AHiLDZjZgQe6MUm/6UZXllnay8+f5+Y6UqtdxvKCUtZZebVV\n+N8dyTsxswOOvW5PyXabbSr4iz/I6bMbMDiqtW+cFb/uZl1avNrc+Pj4jtszGzA57Wp4nH6LR7TC\nq1ebXSddmNmBy16vi8lrfnfMa9W17Z5/x/yddmNmBxU63HFXut27z8Zlzq6qair3zXG1/B12Y2YH\nFzq52XLxf8+jpG1q8cOjN7jtsxswOO0qr6Ce7zcWY2tXPvfRlud+PM7bMbMDm5VbOyV75dn/ACau\npV4o8m9Lfb0+noO2zGzA5bSr4l9+/K++3H6DCqVeOPGrWz9NztsxswOSqVbeCn/3PjMupV8RHTZj\nZgco1Kr+gle34GFOrxxz48l5t2Z22Y2YHOU6ve96t2ds2ma69bLveTi83p9J22Y2YHLaVfE/4/Mb\nWrbwF0nXZjZgc5VqieULrL/vSbU51Na0oq1t/wD3oNtmNmB0BpszGzA6g5bMbMDqDlsxswOoOWzG\nzA2q62q9Xea0XLV77wrvfb8N3msNmNmByoSqOL2itmrfzx7uL8CJXnWVS0b21oaqteLj9Nt8X/ws\ndmNQkw1jNKXTVSvGUNltdX6uMZXd90r7l/yQtL4F1aylON3s4p99ZJ2d+J3zZ6Zw855L4QRqqcFU\njUqSjDOdGpsrtt/R1l5uUlLOd4xjXESl8HpxettU3Z/Ra4jjLQla+6Pp1lYizxM4zSUsZG6btraz\nytuvvtf8yzozqKn39So3JXSm1eOWSy4xTMMUI06EXF99Le2r28xFxedprJLNJNpJkinQ325Fb8De\nnhl30c9SWa5V6Cat4zUqNSu3a2e+x6KOkHFJOnnZcfm/4I9HRMYScrtrfnZL/k6Rpa0r8vsW/wDM\nRiuUoNDDtVlO6ttFO3mu+09bRfeoppYdLNEzR1XLU5N3oLMMSsTvhuP8CJrkrA5634fyIZTYQUUo\nxSUVkklZJGTINAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2O0hSw6TqytrO0Uk5Sk+RJZshcI8\nN9d1FX3QLYFTwjw313UVfdHCPDfW9RV90C2BU8I8N9b1FX3Rwjw31vUVfdAtgVPCPDfXdRV90cI8\nN9d1FX3QLYFTwjw313UVfdHCPDfW9RV90C2BU8I8N9b1FX3Rwjw31vUVfdAtgVPCPDfW9RV90cI8\nN9b1FX3QLYFTwjw31vUVfdHCPDfW9RV90C2BU8I8N9b1FX3Rwjw31vUVfdAtgVPCPDfW9RV90cI8\nN9b1FX3QLYFTwjw31vUVfdHCPDfW9RV90C2PFfCyNPuy8m09nHdJrjeZf8I8N9b1FX3TwPwxqwxW\nkIyg5KGyim5RlC1m75SS5RKwzh5pV1OMpyhBNXlJvN2yX/eQtNvGorrd+aKR1oJKEbKKIeMx01lT\nunxtL8jnEzMtzjEQ9XoyprX83YTIu0UnxN/8Hm9A4zUSU5JXit7L3u2lZ9/DP+5HRl3qVJS71WX/\nAHeawaV7bsor0LecJ46lGDanDWeS75XODxcI2WvHJeMs3xgTauIWvGLaV1J+z/k4z0goVI2j3qeb\n8xEjXpzjO843ytdrev8A6R6leEo+FG/pRjKZhvGIl6lVU1dPIsNETvr/AOP8njcDpGMVqSmrLc7r\noLvQ2mqNPaa0pO+rbUhKfLv1U7CJYmKeqABtkAAGAZAGAAAAAAAAADIGAAAAAAAAAAAAAAAAR+5I\n7fbPOShqRXiq93b05dCJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGTAGQAAAMAZBg\nyBgGTAAAyBgAAAAAAAAAAAAAAOGPqOFGpKO9RdvTYDFXH0oPVlUimt63temxotJ0OcX43RRxikrI\nyeOf8mf6ez8aP7emTvmtwKvQcnapD6MWnFcl1mulfmWh6sctot5csdZoABpkAAFdpHSEsPXoayj3\nPUepKed4VH4N+LVe702ItH4Qx7+pUVqUpuGHUIznUqqPhTsuK/mJmncI6+DxFKMVKU6clFO3hWy3\n+exU6T0PUXcc6UJtUaTpyp0qipTSajnF7t8dwFlV0/howpzU5TVS+ooQnOT1fC71K6txlhRqxnGM\n45xkk1k1kzzWI0Q4UKSp4atrpznrQrxVWlOTu++eUk+MsdF4vEKdPD14qVSOHjOrUT+m5NaqVrcT\nAtwQu7avktT1qXvDu2r5LV9al7wE0ELu2r5LV9al7xju2r5LV9al7wE4EfC4yNXWVpQnG2tCStJX\n3Pkaeea5CQAAAETE6To0nUU5WdKntJ5PKF2rrl3PcRNKachSoVZ0mp1IUVVSaerqydot+k4ae0RP\nEV8PKFtTOFdZZ0tZSt0xt+LIFHQNeOBxlKSUqk0qdJXWdKGULv8AFgXmA0zQxDlGEpa0YqTUoSi3\nF/SSazXnRxl8IaDp1XHaa1Om56s6VSLkuVJq7V+Q46RwGIlXdShaMu4504yulao5JpfkyvwWia7x\nDqOlUhF4WpTvVr7VucmvO7LICxwemKtfD4apSp3lUnCNXWhNKK1daUlfi5HuJmE0zQrVXTpuTa1r\nS1JqDcXaVpWs7ek10BCpDCUqdWm6c6cYws5KV9VJa2RWaPweIp4xOnRnQouU3Wi6sZ0pXTs4R3p3\nz4gPSAjV8TUjK0aE5q29Sgl6M2jn3bV8lqetS94CaCF3bV8lq+tS9474XFRqpuN007SjJWlF8jQH\nYGQBgGTAHB4uG22N/wCpqa9rPwb2vf0kKfwiw0Y0pa0ntYylTUac5SkouzskrnHSNGvTxkcRSo7a\nMqDpSipKLi9ZSUs+Ip8HSr4WrgIbHaVYYaupwUop2c4u6byfEBfVsdWrU6c8DsZQndupUcrRtxaq\ns73vxq1jbQWkZYmlOU1FShUlTbg24TcfpRb4s/yIEdGVY6Nq0pU9epVnOUqcZqNlUqXcdbzJl9Qo\nxpwjCEVGKVkkrJAdAAAAAGDJgAZAAAAAAAAAAAAAAAAAAAiaU+b1fsMlkTSnzer9hknix1Ryds3k\nDhpCiqlCpByUVKLTk9y85XaOxkp1Ix7rp1MvB2Ti5rzO+f4HzYxuLfTnKpp6nQnhVf8AH+S2KnQn\nhVf8f5LY9/i+IfP8v3IADo5gAAGDJgCNg8fSruoqU1LZzcJ24pLiJJA0VSjF4jVil/WluSX0Yk8A\nAZAwAAIMssbDz0J3/Ccbe1k4hVPntP7mp++BOAwDIAwZAAw2RsBj6WJp7SjLWheSv507MktX3lfo\nKnGOHSiklr1dyt/uSAsAZAAAAYINDLGV1xOlRl+N6i9iRPIFH57W+5o/vqgTwAAAAGDnWlCCdSdk\noxd5PijveZ1OWIinTkmk04u6ea3Aa4LFwr0oVab1oTV4vzHYiaIglhaCSSWyhklb6KJgGLg87DHU\nXNxdCnZW1rWco33Nq1uhlo8FS5qHqozsTE49Tri5A7ipc1D1UO4qXNQ9VE3S08EDuKlzUPVRnuOj\nzUPVQ2LTgQIU1TqU9Raqm3GUVu8FtO3LkTpSStdpXdl53yGom1ZBX0aUZxU5pSlLPPO19yXIjEqV\nJO2zh0IzslrEEFYak/8Abj6qHctLm4dCG5acCBLDUkvk4dCNI0qTfycOhDctZAg9y0ubj6qHctLm\n4+qhuWnAg9y0+bj6qHctPm4+qhuWnAg9y0+bj6qNsPHUqqMcoyi3q8SaazXJvLGVlppE0p83q/YZ\nKbPP6XrVq93h6lsPTT2rsrVH4sHbi43uzLlxrHqBpOEZYerGctSLi7y5FykPY1XUoOvOkowl3mom\nnOWq0t+7K+R107h6UqE51YayhFtWdn0nFYXD0KmHaorWnKyes3qvVbuuXc8z5+PH0cuvT6E8Kr/j\n/JbFFo2lUlKpqVdTKN+9Ur7+UnOnioZqpTq2+jKGo3/km7dB7fF8Q8Pl+5ThcqKWPp4uTjFu1Nf1\nKb3xnfwZcTtn5jrPD019CPQjrEOMzSyuLlZCjTf+3HoRv3LT8SPQi6pusLi5X9y0/Ej0I5ulTvbU\nj0Iam7vo3fiPv5ftiTStjhaVrqnHP+1Ge5afNx6ENTdYgru5afiR6EO5afiR9VDU3WIK7uWn4keh\nGlajGEZSglGUU2mstyvZ8q8w1N3efz2n9zU/fAmkKd+6qcrd7sZ3fEu+hx9PQa1rVKjv30Ixi0uJ\nt3z85lqZpPBWzoUl/tw6EYhQpP8A24dCNUmyzFyv7lp83H1UO5qfNx9VDVN4WBB0L83X26v/AJZH\nHZUr22cOhG0cLTSypw9VDU2WQK7uanzcPVQ7lp83D1UNTdYgru5afNw9VDuWnzcPVQ1N1iQaPz2t\n9zR/fVOcqap2nBKLTW7JNXV0+U6QWri603lHY0ld5K6lUvn+K6STFNRNpwuV84qpObmtZKWrFPck\nks7cuZpOlTX+3DoQpNlncXK2NCm/9uPQjPc1Pm49CLqmyxuaVn3kvQ/YQe5qfiR6Ec9nTvbZx6EN\nTZL0V81ofdQ/aiUVywlLm4eqh3LT5uPQhqbqDCYGi8ZWopU41dWLqOKzcXvUcsm+PPjRefFdDxP/\nANS7TWkv9ZWy/wBql+6oTTztZZzl1E+K6Hif/qXaaVsFhqcdacdWK43KfaTyBpfAuvScYtXtJWe5\n6yt+DIkd9q/EU6MtTZ0allNOT1mrxzus5eglUKWEqPVUHGXJJzV7cjvZlHX0VWUo68pxi0oKKjJp\nvVskmnyq5YaN0RVjUcpXUXLWd97ak3kr5clyu2WOFdWM9GUdel3m+b+lLxJec64rQGGqqKlB2jJS\nVpy3rdxnap8pR+2/2SJp0x45QrsJRjsoZfRXG+QVYJOK8+RvhPkofZXsN574+n+GcmWNkuNfmxsY\n8ntNwBpsVyHOlTTbWWTzJCNIb5en+AGyjyfmxso8n5s3AHOUIrf7WaOMbrJ24zetC6/A4bN34/MF\ndowg+L82cqmCp1KsFON1qze9/wBp0pUmt5vH5aH2Z+2JcekdaLQ2G5qL8zbafpTZvpKKWGqJJJKD\nsluRLIulPm9X7LOuXG8ew89ja0adKpOa1oqLut91yFRo90qdRXw6p1NrslaWvq3hr5X3ZZZFxiou\nVOaUVNtNasnZS8zZTaPWHp4iMJU5068m9VTm6ivazad3xLez5+HzL6OX1D12hPCq/wCP8lqVWhfC\nq/4/yWx7fF8Q8Pm+5VcsFShXlKFOMHOCcnFJazvvdt50nTVssjpW+W/w/wDYHeOPPl1woQTinvXE\nddmuT82YpeCvQblZabNcn5s5VIRTjkt+R3NZ74+n+GVGFSXGZ2a5PabgDTZx5PzZo1HiTfSdWsiP\nKlIK2io2zWf4mMTTWynl9CXG+RmI03kzeurUpr+yXsZCnCpo6i60aWp3s6M2++le6cUuP+5jB6Np\nYdypU4tQjGFrybfGSX87pfcT/dA2n8tU9EP5MY9dMuOVWCUW9ytmZpwTSe9cRvU8F+hm0dyOjm12\nceT2jZrkNgBHlBKSWV3ex12a5PaJeEvxNwNNmuT82HTXJ+bNzEldWCOUkmskZSjye05um15ln+Zt\nGk7kWmMVRi6ck1k7Le+VHCroqhWq1sPKH9PZU3lKV++lNPj/ALUS8R4D9Mfajaj89rfc0f3VTOTe\nHHDCYSFJSpwTUYysrtvKy43mbYiCS5FxnWHhVPtv2IVfBZqGZ6xGmuPMzso8n5s2RkqNNlHk9py2\na17ZXsSDT6X4AY2UeT82NmuT82bgDy+GqVFXqPvrK2zlbObvmm+PN2XLc9YVNGVCOKm1qKKpwcXx\nKTc9a3n3FjDE05XtOLsrvPcuU8cu+eW3IYxOIjSjrSu80kkruTe5JcpDxmNxUaUpU8LrSytF1I3e\nfIu0xjMTTdXDPXTUZybd8l/TklfpLJO6uuMW5vK6QrVp1ablF317VI211SSatqvlz/NviPQ6Om5U\nk2285JN8aTaTOOkqEG6TcU26sYt8sc8nyonpWyWSRbdMs4mIinOp8pR+2/2SJpCqeHR+2/2SJp0x\n4zCDhPkofZXsN574+n+GaYT5KH2V7DabV4+n+GcmW5jWzyVzOsuU0pPL8X7QMSlLxcuW5zpN3/H8\niRrI5wsm/wDvEB1MSlYay5TRyWss+JgJTlxR/M4uT1vb5mSjnNd9H8fYBtF5IxH5aH2Z+2JuaR+W\nh9mftiax6sJZF0r83q/ZZKIulPm9X7LOmXJbx7ChrwUoSjJtRazadsvTxHLDYOlRypwjG/Hxv8d7\nOGmcIqtGV60qUVF6zXgtf3EHB7KdWl/WxNRxd4KcJKF7PO+quK586I9PpTNTx63QvhVf8f5LYqdC\n+FV/x/ktT3eL4h4fN9yiVvlv8P8A2ArfLf4f+xhs7w82XWtLwV6DMpWMU33q9BhyWss+J/wVklKV\nso/mcpttr8/MSNZGk7XXpA2g8jITRrUfev0MIKTe5ZdBynOVt1nxcdzunkJbgrlR/gzifk5/Yl7G\nb01kvQaYn5Of2JexgZfzul9xP90DaXy1T0Q/kw/ndL7if7oGZfLVPRD+TEddMuMVPBfoZsty9BrU\neT9BmLyOjmSlbzvkNZTkrWjx8oUlrPPiNwI13rZ//GSIvJGkray/E3uBluxq5Pij+Ziru6PabgRq\nk5NZqz5DtSYrLvX6DdIDnifAfpXtRtR+e1vuaP7qprifAfpX7kbUfntb7mj+6qYybw4xDwqn237E\nZq+CxDwqn237EKjyZqGZ62NZStkldm2suU0jJXefIVGJTlxR/M5pvWJFzTLW/Ag3MN2VzKZrNrL0\nlHnZVsbKMN0b6ilZRus3eW/kUcvOWVGcpQ7+2v3PPWStk+9uaxlFYidR4WrqunGK/pR3qUm+Pzok\nxxcVuw1Zeikl/J4I8dTb0TncUg2rba7n/SzyUo6urqKytv1ta75LFxhvkqf2I+xEKnR2tWEnQ2dO\nnrPv1FOcmrbluSTe8sS446s55bImkP8AZ++h7GTCNjqUpQThZzhOM0m7J24r8WVzTu98dCunyaif\n5pmmHep4dH7b/ZImlPUx/f0v6FfKfif2S85vi9NOmotYbES1pqNlDPPj3nTHjUO+E+Sh9lew1knx\nf9zGDqf0oZS8FcXmNp5td69/J5jllDI934sxC98+U6a39r6DSm7LwXvfF5wNJX4uQ1vN2O+t/a+g\nwnm+9fR5iUMcT/A1zu7nTW/tfQIxu72sKHQ0n4Ufx9huaTTyaztxGlbmkflofYn7Yjaf2y6DhVxW\npVg9nUl3s1aMbvfE1j0hZFdpvG0qdKUJ1IxnUi1CLa1pPzLjNlpKTyjhq7fniorpbIeP0ftITr4h\nRdSEXsorNUuWz42+N+ZHSeN49hTaZpuVCf8AU1Keq9fvNe68xX0NL6jhtMROUPPhpR1lbl/Mt9IQ\nhKhUVRuMHF6zW9LlKjDYmFatSjPFRqarbhCNNw1nqtZt+Zs8GHvH2+hn6y9PU6IxlKLm5VIR1lBq\n8krrPNXLeliKc/AnGX2ZJ+wqdB4amteOpG0VBRTSdlZ5FhX0dRms6cU+KUVqyXnTWaPZ4viHi8v3\nLWv8t/h/7Gs3ycjK/A1MUqtSOJhlFJU5qzc438KVuPoJ+uvFfQd448+XWIefzmM7rPLIzCVklqvo\nMN5p6rtZ8XoFM2y92W+xq5Sub668V9BrJ7u9e/kLRZBu2fmMzvxeczrrxX0GJPWVknnxslDeHH6T\nL3MJAoxT8FehGmK+SqfYl7GZjJpJNPLkNMTP+lPJ+BLi8wG7+d0vuKn7oGZ/LT9EP5I08X/UjV2N\nfvaUo22e+7i73v8A2/ma4HHOveq6VSnrRg9Was1vMR10y4lVN+Xm9piKyd99hKWT719BlT/tfQam\nHNrnffkZnfi5EYv319V2tyG2v/a+gUW560jenfK+/wD4Dlmu9fQba39r6BQ0d8rbjrHcaPPK1s97\nOhVaVfBfoNjEldNcprrvjT/AqMYnwH6V+5G1H57W+5o/uqnHF1LU29WTtbJLPejjiNIbGVbEujXf\n9KC1dS3gOb3349b8jGTeCZDwqn237Eazvnbl/g5YXE7RSnqTjrSvaUbSWSya4jpN3Xgu/oLXpmes\nrdn5jGed2ba68V9BrF2b719ApGZvk33/AINNaZ0cl4r6DW6vfVe7kFDeD5d+ZzW9cnpRvr/2voFt\nZrKy84oaV8YqUHOpCpGEVdtqNkuk328uaq9EfeNfhBQhUwdaM4qS1b2fKtzJ9KCjFRirRSSS5Ety\nOWkOtIe2lzNXoj2jby5mr0R7SeBpBSBtpczV6I9o20uZq9Ee0ngaQUg04TnUjJwcIwbffWvJ2a3J\nvLNk0yCxFKgQjKmtTUlJLJONs1xXz3mdrLmqnQu0nAmsJSDtJc1U6F2jay5qp0LtJwJpBSDtJc1U\n6F2nOvjFTSc4zinJRTernJuyW8sir0/hadWlTVSCklWpWvxXmk/ybGkFO21fN1Ohdo2r5up0LtJo\nGkFIW1fNVOhdo2suaqdC7SaZGkFIO1lzVToXab4eEpT15RcUk1FO13e127btyJZgsYxBQRdKfN6v\n2GSyJpT5vV+wyzxrHqgruShLVajKzs5bl52VGFrd0VqeviaM9m3NRpxabdmt7e7PiLPSFFVKFSDl\nqqUWnLk85UYbEKvWoKVTDrZyvHZNuU3qtW3ZLzHz8OTL6OfYh6/QnhVf8P5LUqtC+FV/w/ktj2+L\n4h4fL9yiYqnLWU4rWyaaVr77pq5z15c3U6F2k4HW3KYtA15c3U6F2jXlzdToXaWALsmsK/XlzVTo\nXaNeXN1OhdpYGGr5DY0hV4fGKrFypxnJKTi2kt8XZrfynXXlzVToXacvg9hadKjNU4KCdetdLLdU\nkl+SS/AtBsaQga8uaqdC7SNpCFWpRnCmqlObtqySXetNPl8xcAbGsK2lOpqx1qc9ayvZLfx8ZmcZ\nzi4KnKOsrOUrJJPe9+bLIDY1hAmv9ZS+4qfvpm2IpyVRzUXKMkk7Wumr8u/eYqfPaf3NT98CcSJp\nZi1frS5up0R7Rry5up0LtLAF2lNIV+vLm6nQu0a0ubqdC7SwA2k0hXupJZ7Op0R7TlhcYq0FUpRl\nOEt0klZ525SyqU1OLjJXjJNNPjT4iv8Ag9h4UsMo04qK16mS3fKSXsSG0msN9eXNVOhdo15c3U6F\n2lgYGxrCBry5up0LtGvLmqnQu0sANpNYV2pOpaOpKMbpycrLJO9kr7zNH59W+5o/vqlgQKPz2t9z\nR/fVJM2sRTM4ShOTUHOMnfvbXTtZpp+gxry5qp0R7ScBaawg68uaqdC7RrvmqnQu0ngWawga75qp\n0LtNKuI1IynKE4xim22lZJb3vLIjaQoQqUakJxUouLunudsxZrCNRxGvCM4QnKMkmmkrNPc95try\n5up0LtN9DUowwlCMEox2cXZbs1dk0uxrCDpr5pW+wyac6qhNOErNSycb7zeM09zTtvsZabA1U07p\nNNrf5jYAAAAAAAESOPg8RLD/AE4wU3utZtpL05MCWDVTTdrq63obSN7XV+S4GxB0v8nD76l/5Iky\nM01dNNeY0qRhUjnaUU09+V07r8wOhk02kfGXSNpGyesrPc77wNwY1lykfGYyFGm6ktZpWyhFyk7u\nyskBJBW4DTEK1R0nTq0aqjr6lWOq3G9tZWbTzLEDJE0p83q/YZLImlPm9X7DJPFx68tpelOdGUYy\npxg4tTc75LlTRjDqvBwVR4fVeXeqSby+jc30lo6OJhqylOOTXeya38q4znR0RThOE9apJwd461SU\nkna17M+dExrT6UxO1vQaE8Kr/h/JbFToXwqv+P8AJbHu8XxDweX7lgyAdHMBgxKaW9pel2A2BpKp\nFb5JX5WZjNPc0/Q7gQtDfJT+/r/+aRPOGEoxpxai7pznL8ZScmulnRVYt2Uk3yXQG4ObrRWTlFP0\no3jJNXTugMgACBWdsbRvulSqpenWg7dF+hk45YnDQqx1Zq6vdZtNPlTWaZH+LVztfrZATQQ/i1c7\nX62Q+LlztfrJATAQ/i1c7X62Q+LVztfrZATG7Zsg6F+bQfjOcl6JTlJfk0Zei4SynOrOPHGVSTi/\nSuMmpWVlkgMgAAAABX08sdUv9KhT1fPqzqX6NaPSWBHxWEhVtrJ3jnGUW4yj6GswO4Ifxaudr9bI\nfFy52v1sgJgIfxcudr9bIfFq52v1sgJhxxk1GlUlJ2ShJt/gcfi5c7X62Q+LKbac3UqWd0pzlKN+\nW25gdNHxccPRTVmqcE159VEkwZA8jDRqdPSVanTvittWVOdu+Xepd6+LeyPoPDXc54apRU1hpRdO\nlTnBuTXeud8tZNenM9qYSA8Z8FsOnXoyhUoxnCnLbQhTqRqSurPatuzkpZ55ntBYAAAAAAA8zVoU\nY6Ym3CCqzw8XSbjm6ic02ny2t+B6YWA8PoqNLXwSpRkscqn+qdnratpbTaPjTdrfhY1q6MpSo1qr\npray0i4udrS1HWUWk+RpvpPdWFgPG47CbL4wpYeDhS/00pQpprvG3tdVLjcVxEfGRounj+4o2wzw\nq1tVNQdXWy1Vy6u/8D3QsB5jSeh8PHuCjGjFU54i84pZSexlnLl3I5aVoYWninHF00sMsOlh1qtw\nUtaWuopfS8E9YGgPEV8PXjQwbantMRReFqN+HFTknCUvOo63SWPwWoz2tWVRP/TQjhYN8ag23L8V\nqdB6YAUvwdoKonjJVHVq1NaKk04qEFN2hGLSssl6bF0EjIA4Yyi6lKcFvlFpek7mAPL66u0+9kt8\nXk0Zc0s210npZ0oy8KKfpSZqsPBZqEU/so8v437ev8n9IWhqMlGc5JrXa1U99kt/5ssjBk9OOOsU\n82WW03IACsouOqSjFauSb76Vr6q5bHGvh23CcVGolG2rN7/7k+UnnCrg6c7NpppWTi3HLkyAi1VT\nnhZNQS1YySTS71rfY6zcaOHcoxSeqty3tqyJCw8FDZ2721rGZUItRTWUWmvStwEDRk4xlKnF3VlJ\nXTWdrS3kSMb0oQ2KUptqNR23338pdSpRclJrON7P07zR4WDgoW71O6zeTvfeBFx1CGvRvGLbnm7L\nPJ7zeu3TqQVPe8nTW7V8bzWJU6UZOLa8F3XpNtVXvbPlAyZAAwZMGQAAAAAAAAAAAAAAAAAAAAAA\nAAAAAwCB8eYPyqh1kO0fHuD8qodZDtAnggfHuD8qodZDtHx7g/KqHWQ7QJ4IHx7g/KqHWQ7R8e4P\nyqh1kO0CeCB8e4Pyqh1kO0fHuD8qodZDtAnggfHuD8qodZDtHx7g/KqHWQ7QLAwQPj3B+VUOsh2j\n49wflVDrIdoE8ED49wflVDrIdo+PcH5VQ6yHaBYAr/j3B+VUOsh2j49wflVDrIdoE8ED49wflVDr\nIdo+PcH5VQ6yHaBPBA+PcH5VQ6yHaYwuk4167jQlGpShF6845rXbyinueV2/wAsDJgAZAAAAAAAA\nAAAAADBkAAAAAAGDIAAAAAAAAAAAAAAAAAAAAAAAAAAAAcu5qfiR9VDuan4kfVR0AHPuen4kfVQ7\nnp+JH1UdQBy7np+JH1UO5qfiR9VHUwBz7mp+JH1UO5qfiR9VHQyBy7mp+JH1UO5qfiR9VHUAcu56\nfiR9VDuen4kfVR1AHLuan4kfVQ7mp+JH1UdQBy7np+JH1UO56fiR9VHUAcu56fiR9VDuen4kfVR1\nAHLuen4kfVRvGKSskkuRGwAwZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByxNXUpzna+rFyty2Vw\nOoPL0fhNiVQhiauCthpRUnOnUU5Rj4zjZOxZ6X0xsMLHEUoqqpOCgtaykptJO/4gWoKjBYzHSqxj\nWwlOnTd9aarKTWWWVs87HPHaaq90Sw2EoKtUgk6jlNQhC+5N8oF2CBozHVKtKU69GWHlBtSUmmsl\n4UXxoqF8I8VUg8RQwTnhVe0nNRqTit8ow5APTAqcXpuEdHyxtJa8dRSSbtfNKz5CGvhDXpOEsZhN\nlSm0lVhUVSMW92tyID0QKfTGlqtGtQo0KMa06ym1eeolqpPfbznfRmJxU3LunDxopJarjUU7vj4s\ngLEHm6OncZWlW2GDhOFOrOnrOso3cXbc0WmhtKLF0nPUdOUZyhUg83GcXZq/GBYAADz2iNPTrYnY\nSlSmpU5TjKnGpG1mlZ629Z70RqVe+AwMorUUsVBWUpPLaSyu3d7i0wWhHSrRrTxFWtOFOVOOvqpK\nLafElnkjaGhKcaFGipS1aNRVIvK7ak5WeW7MCzMmDIAAAAAAAAAAAAAAAAAAADBkAAABgyAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAjaR+b1vu5/tZJNZRTTTV08mnxoDyGB03hqWh6cHVhKo6GoqUWpTlJ\nqyjqrPexpnCyo6Dw9Kq3GUXQUnezj3yvn5j0uH0VhqUtanh6MJcsacYvpSO2Iw1OrHUqwjUg/oyS\nksvMwKrQtTC0b06eNeIlOV0qlaM5btysRMBjKeF0hjadeUabqyhUpym0lOOqk0m+RlxQ0Phac1On\nhqMJrdKNOKa9DSO2LwNGukq1KFRLcpxUrdIEKri6eOwmJjhpqd4VKest2s48T496K3Qmn8LS0dT2\nlSEJUaepOnJpTUoqzWrvzsejo0YU4qEIxhFblFJJfgiPU0Xh51NrKhSlU8dwi5dIHlu5p0vg5UU4\n6rlCU9XxVKpdLoZ3+EOlaFbALC0akK1esoQhCDUne6bbtuSsz1VajGpFwnGM4PJxkk0/SmccLo6h\nRbdKjTpt73CEY+xAeb+EtGHdej4Va8qMVCqnUjNQatGPG+UvtE16GoqNHEKu4LNuopztfe7HfFYC\njWttqVOpbdrxUrX32uYwujqFFt0aNOm2rNwhGLa5MkB43CYXGbLH1sLiZQcMTXtSUItSalnm+Ox6\nP4K0qSwVOdKUpqrepOUraznLwr28+X4FpSoQhfUhGOs3KWqkrye9vlYoYeFOOrThGEbt2ikld73Z\nAdQAB5lfDzR/OT6uRnh5o/nZ9XLsPkgA+t8PNH87Pq5dg4eaP52fVy7D5IAPrfDzR/Oz6uXYOHmj\n+dn1cuw+SAD63w80fzs+rl2Dh5o/nZ9XLsPkgA+t8PNH87Pq5dg4eaP52fVy7D5IAPrfDzR/Oz6u\nXYOHmj+dn1cuw+SAD63w80fzs+rl2Dh5o/nZ9XLsPkgA+t8PNH87Pq5dg4eaP52fVy7D5IAPrfDz\nR/Oz6uXYOHmj+dn1cuw+SAD61w80fzk+rl2Dh5o/nJ9XLsPkoA+tcPNH85Pq5dg4eaP5yfVy7D5K\nAPrXDzR/OT6uXYOHmj+cn1cuw+SgD61w80fzk+rl2Dh5o/nJ9XLsPkoA+tcPNH85Pq5dg4eaP5yf\nVy7D5KAPrXDzR/OT6uXYZ4eaP52fVy7D5IAPrfDzR/Oz6uXYOHmj+dn1cuw+SAD63w80fzs+rl2D\nh5o/nZ9XLsPkgA+t8PNH87Pq5dg4eaP52fVy7D5IAPrfDzR/Oz6uXYOHmj+dn1cuw+SAD63w80fz\ns+rl2Dh5o/nZ9XLsPkgA+t8PNH87Pq5dg4eaP52fVy7D5IAPrfDzR/Oz6uXYOHmj+dn1cuw+SAD6\n3w80fzs+rl2Dh5o/nZ9XLsPkgA+t8PNH87Pq5dg4eaP52fVy7D5IAPrfDzR/Oz6uXYOHmj+dn1cu\nw+SAD63w80fzs+rl2Dh5o/nZ9XLsPkgA+t8PNH87Pq5dg4eaP52fVy7D5IAPrfDzR/Oz6uXYOHmj\n+dn1cuw+SAD63w80fzs+rl2Dh5o/nZ9XLsPkgA+t8PNH87Pq5dhh/DzR/OT6uR8lAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAH//2Q==\n", "text/html": [ "\n", " <iframe\n", " width=\"400\"\n", " height=\"300\"\n", " src=\"https://www.youtube.com/embed/_Sm0q_FckM8\"\n", " frameborder=\"0\"\n", " allowfullscreen\n", " ></iframe>\n", " " ], "text/plain": [ "<IPython.lib.display.YouTubeVideo at 0x7f29cc238550>" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import YouTubeVideo\n", "YouTubeVideo(\"_Sm0q_FckM8\")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Using TensorFlow backend.\n" ] } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "import random\n", "import json\n", "import os\n", "import time\n", "\n", "from faker import Faker\n", "import babel\n", "from babel.dates import format_date\n", "\n", "import tensorflow as tf\n", "\n", "from keras.models import Sequential\n", "from keras.layers import LSTM, Embedding\n", "\n", "import tensorflow.contrib.legacy_seq2seq as seq2seq\n", "from utilities import show_graph\n", "\n", "from sklearn.model_selection import train_test_split" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "fake = Faker()\n", "fake.seed(42)\n", "random.seed(42)\n", "\n", "FORMATS = ['short',\n", " 'medium',\n", " 'long',\n", " 'full',\n", " 'd MMM YYY',\n", " 'd MMMM YYY',\n", " 'dd MMM YYY',\n", " 'd MMM, YYY',\n", " 'd MMMM, YYY',\n", " 'dd, MMM YYY',\n", " 'd MM YY',\n", " 'd MMMM YYY',\n", " 'MMMM d YYY',\n", " 'MMMM d, YYY',\n", " 'dd.MM.YY',\n", " ]\n", "\n", "# change this if you want it to work with only a single language\n", "LOCALES = babel.localedata.locale_identifiers()\n", "LOCALES = [lang for lang in LOCALES if 'en' in str(lang)]" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def create_date():\n", " \"\"\"\n", " Creates some fake dates \n", " :returns: tuple containing \n", " 1. human formatted string\n", " 2. machine formatted string\n", " 3. date object.\n", " \"\"\"\n", " dt = fake.date_object()\n", "\n", " # wrapping this in a try catch because\n", " # the locale 'vo' and format 'full' will fail\n", " try:\n", " human = format_date(dt,\n", " format=random.choice(FORMATS),\n", " locale=random.choice(LOCALES))\n", "\n", " case_change = random.randint(0,3) # 1/2 chance of case change\n", " if case_change == 1:\n", " human = human.upper()\n", " elif case_change == 2:\n", " human = human.lower()\n", "\n", " machine = dt.isoformat()\n", " except AttributeError as e:\n", " return None, None, None\n", "\n", " return human, machine #, dt\n", "\n", "data = [create_date() for _ in range(50000)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "See below what we are trying to do in this lesson. We are taking dates of various formats and converting them into a standard date format:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[('7 07 13', '2013-07-07'),\n", " ('30 JULY 1977', '1977-07-30'),\n", " ('Tuesday, September 14, 1971', '1971-09-14'),\n", " ('18 09 88', '1988-09-18'),\n", " ('31, Aug 1986', '1986-08-31')]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data[:5]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "x = [x for x, y in data]\n", "y = [y for x, y in data]\n", "\n", "u_characters = set(' '.join(x))\n", "char2numX = dict(zip(u_characters, range(len(u_characters))))\n", "\n", "u_characters = set(' '.join(y))\n", "char2numY = #TODO: complete " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pad all sequences that are shorter than the max length of the sequence" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<PAD><PAD><PAD><PAD><PAD><PAD><PAD><PAD><PAD><PAD><PAD><PAD><PAD><PAD><PAD><PAD><PAD>31, Aug 1986\n" ] } ], "source": [ "char2numX['<PAD>'] = len(char2numX)\n", "num2charX = dict(zip(char2numX.values(), char2numX.keys()))\n", "max_len = max([len(date) for date in x])\n", "\n", "x = [[char2numX['<PAD>']]*(max_len - len(date)) +[char2numX[x_] for x_ in date] for date in x]\n", "print(''.join([num2charX[x_] for x_ in x[4]]))\n", "x = np.array(x)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<GO>1986-08-31\n" ] } ], "source": [ "char2numY['<GO>'] = len(char2numY)\n", "num2charY = dict(zip(char2numY.values(), char2numY.keys()))\n", "\n", "y = [[char2numY['<GO>']] + [char2numY[y_] for y_ in date] for date in y]\n", "print(''.join([num2charY[y_] for y_ in y[4]]))\n", "y = np.array(y)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "x_seq_length = len(x[0])\n", "y_seq_length = len(y[0])- 1" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def batch_data(x, y, batch_size):\n", " shuffle = np.random.permutation(len(x))\n", " start = 0\n", "# from IPython.core.debugger import Tracer; Tracer()()\n", " x = x[shuffle]\n", " y = y[shuffle]\n", " while start + batch_size <= len(x):\n", " yield x[start:start+batch_size], y[start:start+batch_size]\n", " start += batch_size" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "epochs = 2\n", "batch_size = 128\n", "nodes = 32\n", "embed_size = 10\n", "\n", "tf.reset_default_graph()\n", "sess = tf.InteractiveSession()\n", "\n", "# Tensor where we will feed the data into graph\n", "inputs = tf.placeholder(tf.int32, (None, x_seq_length), 'inputs')\n", "outputs = tf.placeholder(tf.int32, (None, None), 'output')\n", "targets = tf.placeholder(tf.int32, (None, None), 'targets')\n", "\n", "# Embedding layers\n", "input_embedding = tf.Variable(tf.random_uniform((len(char2numX), embed_size), -1.0, 1.0), name='enc_embedding')\n", "# TODO: create the variable output embedding\n", "output_embedding = \n", "# TODO: Use tf.nn.embedding_lookup to complete the next two lines\n", "date_input_embed = \n", "date_output_embed = \n", "\n", "with tf.variable_scope(\"encoding\") as encoding_scope:\n", " lstm_enc = tf.contrib.rnn.BasicLSTMCell(nodes)\n", " _, last_state = tf.nn.dynamic_rnn(lstm_enc, inputs=date_input_embed, dtype=tf.float32)\n", "\n", "with tf.variable_scope(\"decoding\") as decoding_scope:\n", " # TODO: create the decoder LSTMs, this is very similar to the above\n", " # you will need to set initial_state=last_state from the encoder\n", " lstm_dec = \n", " dec_outputs, _ = \n", "#connect outputs to \n", "logits = tf.contrib.layers.fully_connected(dec_outputs, num_outputs=len(char2numY), activation_fn=None) \n", "with tf.name_scope(\"optimization\"):\n", " # Loss function\n", " loss = tf.contrib.seq2seq.sequence_loss(logits, targets, tf.ones([batch_size, y_seq_length]))\n", " # Optimizer\n", " optimizer = tf.train.RMSPropOptimizer(1e-3).minimize(loss)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[None, None, 32]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dec_outputs.get_shape().as_list()" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[None, 32]" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "last_state[0].get_shape().as_list()" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[None, 29]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "inputs.get_shape().as_list()" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[None, 29, 10]" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "date_input_embed.get_shape().as_list()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Train the graph above:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " <iframe seamless style=\"width:1200px;height:620px;border:0\" srcdoc=\"\n", " <script>\n", " function load() {\n", " document.getElementById("graph0.7926309738308429").pbtxt = 'node {\\n name: "inputs"\\n op: "Placeholder"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n }\\n }\\n }\\n}\\nnode {\\n name: "output"\\n op: "Placeholder"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n }\\n }\\n }\\n}\\nnode {\\n name: "targets"\\n op: "Placeholder"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n }\\n }\\n }\\n}\\nnode {\\n name: "random_uniform/shape"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 2\\n }\\n }\\n tensor_content: "<\\\\000\\\\000\\\\000\\\\n\\\\000\\\\000\\\\000"\\n }\\n }\\n }\\n}\\nnode {\\n name: "random_uniform/min"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: -1.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "random_uniform/max"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 1.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "random_uniform/RandomUniform"\\n op: "RandomUniform"\\n input: "random_uniform/shape"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "seed"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "seed2"\\n value {\\n i: 0\\n }\\n }\\n}\\nnode {\\n name: "random_uniform/sub"\\n op: "Sub"\\n input: "random_uniform/max"\\n input: "random_uniform/min"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "random_uniform/mul"\\n op: "Mul"\\n input: "random_uniform/RandomUniform"\\n input: "random_uniform/sub"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "random_uniform"\\n op: "Add"\\n input: "random_uniform/mul"\\n input: "random_uniform/min"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "enc_embedding"\\n op: "VariableV2"\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 60\\n }\\n dim {\\n size: 10\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "enc_embedding/Assign"\\n op: "Assign"\\n input: "enc_embedding"\\n input: "random_uniform"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "enc_embedding/read"\\n op: "Identity"\\n input: "enc_embedding"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n}\\nnode {\\n name: "random_uniform_1/shape"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 2\\n }\\n }\\n tensor_content: "\\\\r\\\\000\\\\000\\\\000\\\\n\\\\000\\\\000\\\\000"\\n }\\n }\\n }\\n}\\nnode {\\n name: "random_uniform_1/min"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: -1.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "random_uniform_1/max"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 1.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "random_uniform_1/RandomUniform"\\n op: "RandomUniform"\\n input: "random_uniform_1/shape"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "seed"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "seed2"\\n value {\\n i: 0\\n }\\n }\\n}\\nnode {\\n name: "random_uniform_1/sub"\\n op: "Sub"\\n input: "random_uniform_1/max"\\n input: "random_uniform_1/min"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "random_uniform_1/mul"\\n op: "Mul"\\n input: "random_uniform_1/RandomUniform"\\n input: "random_uniform_1/sub"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "random_uniform_1"\\n op: "Add"\\n input: "random_uniform_1/mul"\\n input: "random_uniform_1/min"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "dec_embedding"\\n op: "VariableV2"\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 13\\n }\\n dim {\\n size: 10\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "dec_embedding/Assign"\\n op: "Assign"\\n input: "dec_embedding"\\n input: "random_uniform_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "dec_embedding/read"\\n op: "Identity"\\n input: "dec_embedding"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n}\\nnode {\\n name: "embedding_lookup"\\n op: "Gather"\\n input: "enc_embedding/read"\\n input: "inputs"\\n attr {\\n key: "Tindices"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "Tparams"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n attr {\\n key: "validate_indices"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "embedding_lookup_1"\\n op: "Gather"\\n input: "dec_embedding/read"\\n input: "output"\\n attr {\\n key: "Tindices"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "Tparams"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n attr {\\n key: "validate_indices"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "encoding/transpose/perm"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 3\\n }\\n }\\n tensor_content: "\\\\001\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\002\\\\000\\\\000\\\\000"\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/transpose"\\n op: "Transpose"\\n input: "embedding_lookup"\\n input: "encoding/transpose/perm"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tperm"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/Shape"\\n op: "Shape"\\n input: "encoding/transpose"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/strided_slice/stack"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/strided_slice/stack_1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 2\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/strided_slice/stack_2"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/strided_slice"\\n op: "StridedSlice"\\n input: "encoding/rnn/Shape"\\n input: "encoding/rnn/strided_slice/stack"\\n input: "encoding/rnn/strided_slice/stack_1"\\n input: "encoding/rnn/strided_slice/stack_2"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "begin_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "ellipsis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "end_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "new_axis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "shrink_axis_mask"\\n value {\\n i: 1\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/strided_slice_1/stack"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/strided_slice_1/stack_1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 2\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/strided_slice_1/stack_2"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/strided_slice_1"\\n op: "StridedSlice"\\n input: "encoding/rnn/Shape"\\n input: "encoding/rnn/strided_slice_1/stack"\\n input: "encoding/rnn/strided_slice_1/stack_1"\\n input: "encoding/rnn/strided_slice_1/stack_2"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "begin_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "ellipsis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "end_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "new_axis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "shrink_axis_mask"\\n value {\\n i: 1\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/BasicLSTMCellZeroState/stack/1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 32\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/BasicLSTMCellZeroState/stack"\\n op: "Pack"\\n input: "encoding/rnn/strided_slice"\\n input: "encoding/rnn/BasicLSTMCellZeroState/stack/1"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "axis"\\n value {\\n i: 0\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/BasicLSTMCellZeroState/zeros/Const"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/BasicLSTMCellZeroState/zeros"\\n op: "Fill"\\n input: "encoding/rnn/BasicLSTMCellZeroState/stack"\\n input: "encoding/rnn/BasicLSTMCellZeroState/zeros/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/BasicLSTMCellZeroState/stack_1/1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 32\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/BasicLSTMCellZeroState/stack_1"\\n op: "Pack"\\n input: "encoding/rnn/strided_slice"\\n input: "encoding/rnn/BasicLSTMCellZeroState/stack_1/1"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "axis"\\n value {\\n i: 0\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/BasicLSTMCellZeroState/zeros_1/Const"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/BasicLSTMCellZeroState/zeros_1"\\n op: "Fill"\\n input: "encoding/rnn/BasicLSTMCellZeroState/stack_1"\\n input: "encoding/rnn/BasicLSTMCellZeroState/zeros_1/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/Shape_1"\\n op: "Shape"\\n input: "encoding/transpose"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/strided_slice_2/stack"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/strided_slice_2/stack_1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/strided_slice_2/stack_2"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/strided_slice_2"\\n op: "StridedSlice"\\n input: "encoding/rnn/Shape_1"\\n input: "encoding/rnn/strided_slice_2/stack"\\n input: "encoding/rnn/strided_slice_2/stack_1"\\n input: "encoding/rnn/strided_slice_2/stack_2"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "begin_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "ellipsis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "end_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "new_axis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "shrink_axis_mask"\\n value {\\n i: 1\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/strided_slice_3/stack"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/strided_slice_3/stack_1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 2\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/strided_slice_3/stack_2"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/strided_slice_3"\\n op: "StridedSlice"\\n input: "encoding/rnn/Shape_1"\\n input: "encoding/rnn/strided_slice_3/stack"\\n input: "encoding/rnn/strided_slice_3/stack_1"\\n input: "encoding/rnn/strided_slice_3/stack_2"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "begin_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "ellipsis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "end_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "new_axis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "shrink_axis_mask"\\n value {\\n i: 1\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/stack/1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 32\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/stack"\\n op: "Pack"\\n input: "encoding/rnn/strided_slice_3"\\n input: "encoding/rnn/stack/1"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "axis"\\n value {\\n i: 0\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/zeros/Const"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/zeros"\\n op: "Fill"\\n input: "encoding/rnn/stack"\\n input: "encoding/rnn/zeros/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/time"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/TensorArray"\\n op: "TensorArrayV3"\\n input: "encoding/rnn/strided_slice_2"\\n attr {\\n key: "clear_after_read"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "dynamic_size"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "element_shape"\\n value {\\n shape {\\n unknown_rank: true\\n }\\n }\\n }\\n attr {\\n key: "tensor_array_name"\\n value {\\n s: "encoding/rnn/dynamic_rnn/output_0"\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/TensorArray_1"\\n op: "TensorArrayV3"\\n input: "encoding/rnn/strided_slice_2"\\n attr {\\n key: "clear_after_read"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "dynamic_size"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "element_shape"\\n value {\\n shape {\\n unknown_rank: true\\n }\\n }\\n }\\n attr {\\n key: "tensor_array_name"\\n value {\\n s: "encoding/rnn/dynamic_rnn/input_0"\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/TensorArrayUnstack/Shape"\\n op: "Shape"\\n input: "encoding/transpose"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/TensorArrayUnstack/strided_slice/stack"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/TensorArrayUnstack/strided_slice/stack_1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/TensorArrayUnstack/strided_slice/stack_2"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/TensorArrayUnstack/strided_slice"\\n op: "StridedSlice"\\n input: "encoding/rnn/TensorArrayUnstack/Shape"\\n input: "encoding/rnn/TensorArrayUnstack/strided_slice/stack"\\n input: "encoding/rnn/TensorArrayUnstack/strided_slice/stack_1"\\n input: "encoding/rnn/TensorArrayUnstack/strided_slice/stack_2"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "begin_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "ellipsis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "end_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "new_axis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "shrink_axis_mask"\\n value {\\n i: 1\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/TensorArrayUnstack/range/start"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/TensorArrayUnstack/range/delta"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/TensorArrayUnstack/range"\\n op: "Range"\\n input: "encoding/rnn/TensorArrayUnstack/range/start"\\n input: "encoding/rnn/TensorArrayUnstack/strided_slice"\\n input: "encoding/rnn/TensorArrayUnstack/range/delta"\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3"\\n op: "TensorArrayScatterV3"\\n input: "encoding/rnn/TensorArray_1"\\n input: "encoding/rnn/TensorArrayUnstack/range"\\n input: "encoding/transpose"\\n input: "encoding/rnn/TensorArray_1:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Enter"\\n op: "Enter"\\n input: "encoding/rnn/time"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Enter_1"\\n op: "Enter"\\n input: "encoding/rnn/TensorArray:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Enter_2"\\n op: "Enter"\\n input: "encoding/rnn/BasicLSTMCellZeroState/zeros"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Enter_3"\\n op: "Enter"\\n input: "encoding/rnn/BasicLSTMCellZeroState/zeros_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Merge"\\n op: "Merge"\\n input: "encoding/rnn/while/Enter"\\n input: "encoding/rnn/while/NextIteration"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Merge_1"\\n op: "Merge"\\n input: "encoding/rnn/while/Enter_1"\\n input: "encoding/rnn/while/NextIteration_1"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Merge_2"\\n op: "Merge"\\n input: "encoding/rnn/while/Enter_2"\\n input: "encoding/rnn/while/NextIteration_2"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Merge_3"\\n op: "Merge"\\n input: "encoding/rnn/while/Enter_3"\\n input: "encoding/rnn/while/NextIteration_3"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Less/Enter"\\n op: "Enter"\\n input: "encoding/rnn/strided_slice_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Less"\\n op: "Less"\\n input: "encoding/rnn/while/Merge"\\n input: "encoding/rnn/while/Less/Enter"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/LoopCond"\\n op: "LoopCond"\\n input: "encoding/rnn/while/Less"\\n}\\nnode {\\n name: "encoding/rnn/while/Switch"\\n op: "Switch"\\n input: "encoding/rnn/while/Merge"\\n input: "encoding/rnn/while/LoopCond"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/Merge"\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Switch_1"\\n op: "Switch"\\n input: "encoding/rnn/while/Merge_1"\\n input: "encoding/rnn/while/LoopCond"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/Merge_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Switch_2"\\n op: "Switch"\\n input: "encoding/rnn/while/Merge_2"\\n input: "encoding/rnn/while/LoopCond"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/Merge_2"\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Switch_3"\\n op: "Switch"\\n input: "encoding/rnn/while/Merge_3"\\n input: "encoding/rnn/while/LoopCond"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/Merge_3"\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Identity"\\n op: "Identity"\\n input: "encoding/rnn/while/Switch:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Identity_1"\\n op: "Identity"\\n input: "encoding/rnn/while/Switch_1:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Identity_2"\\n op: "Identity"\\n input: "encoding/rnn/while/Switch_2:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Identity_3"\\n op: "Identity"\\n input: "encoding/rnn/while/Switch_3:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/TensorArrayReadV3/Enter"\\n op: "Enter"\\n input: "encoding/rnn/TensorArray_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_RESOURCE\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/TensorArrayReadV3/Enter_1"\\n op: "Enter"\\n input: "encoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/TensorArrayReadV3"\\n op: "TensorArrayReadV3"\\n input: "encoding/rnn/while/TensorArrayReadV3/Enter"\\n input: "encoding/rnn/while/Identity"\\n input: "encoding/rnn/while/TensorArrayReadV3/Enter_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/shape"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 2\\n }\\n }\\n tensor_content: "*\\\\000\\\\000\\\\000\\\\200\\\\000\\\\000\\\\000"\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/min"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: -0.18786728382110596\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/max"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 0.18786728382110596\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/RandomUniform"\\n op: "RandomUniform"\\n input: "encoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/shape"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "seed"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "seed2"\\n value {\\n i: 0\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/sub"\\n op: "Sub"\\n input: "encoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/max"\\n input: "encoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/min"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/mul"\\n op: "Mul"\\n input: "encoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/RandomUniform"\\n input: "encoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/sub"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform"\\n op: "Add"\\n input: "encoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/mul"\\n input: "encoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/min"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/weights"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 42\\n }\\n dim {\\n size: 128\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/weights/Assign"\\n op: "Assign"\\n input: "encoding/rnn/basic_lstm_cell/weights"\\n input: "encoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/weights/read"\\n op: "Identity"\\n input: "encoding/rnn/basic_lstm_cell/weights"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat/axis"\\n op: "Const"\\n input: "^encoding/rnn/while/Identity"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat"\\n op: "ConcatV2"\\n input: "encoding/rnn/while/TensorArrayReadV3"\\n input: "encoding/rnn/while/Identity_3"\\n input: "encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat/axis"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter"\\n op: "Enter"\\n input: "encoding/rnn/basic_lstm_cell/weights/read"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul"\\n op: "MatMul"\\n input: "encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat"\\n input: "encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "transpose_a"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "transpose_b"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/biases/Initializer/Const"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 128\\n }\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/biases"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 128\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/biases/Assign"\\n op: "Assign"\\n input: "encoding/rnn/basic_lstm_cell/biases"\\n input: "encoding/rnn/basic_lstm_cell/biases/Initializer/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/biases/read"\\n op: "Identity"\\n input: "encoding/rnn/basic_lstm_cell/biases"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter"\\n op: "Enter"\\n input: "encoding/rnn/basic_lstm_cell/biases/read"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd"\\n op: "BiasAdd"\\n input: "encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul"\\n input: "encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "data_format"\\n value {\\n s: "NHWC"\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/split/split_dim"\\n op: "Const"\\n input: "^encoding/rnn/while/Identity"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/split"\\n op: "Split"\\n input: "encoding/rnn/while/basic_lstm_cell/split/split_dim"\\n input: "encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "num_split"\\n value {\\n i: 4\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/add/y"\\n op: "Const"\\n input: "^encoding/rnn/while/Identity"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 1.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/add"\\n op: "Add"\\n input: "encoding/rnn/while/basic_lstm_cell/split:2"\\n input: "encoding/rnn/while/basic_lstm_cell/add/y"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/Sigmoid"\\n op: "Sigmoid"\\n input: "encoding/rnn/while/basic_lstm_cell/add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/mul"\\n op: "Mul"\\n input: "encoding/rnn/while/Identity_2"\\n input: "encoding/rnn/while/basic_lstm_cell/Sigmoid"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/Sigmoid_1"\\n op: "Sigmoid"\\n input: "encoding/rnn/while/basic_lstm_cell/split"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/Tanh"\\n op: "Tanh"\\n input: "encoding/rnn/while/basic_lstm_cell/split:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/mul_1"\\n op: "Mul"\\n input: "encoding/rnn/while/basic_lstm_cell/Sigmoid_1"\\n input: "encoding/rnn/while/basic_lstm_cell/Tanh"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/add_1"\\n op: "Add"\\n input: "encoding/rnn/while/basic_lstm_cell/mul"\\n input: "encoding/rnn/while/basic_lstm_cell/mul_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/Tanh_1"\\n op: "Tanh"\\n input: "encoding/rnn/while/basic_lstm_cell/add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/Sigmoid_2"\\n op: "Sigmoid"\\n input: "encoding/rnn/while/basic_lstm_cell/split:3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/basic_lstm_cell/mul_2"\\n op: "Mul"\\n input: "encoding/rnn/while/basic_lstm_cell/Tanh_1"\\n input: "encoding/rnn/while/basic_lstm_cell/Sigmoid_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3/Enter"\\n op: "Enter"\\n input: "encoding/rnn/TensorArray"\\n attr {\\n key: "T"\\n value {\\n type: DT_RESOURCE\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3"\\n op: "TensorArrayWriteV3"\\n input: "encoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3/Enter"\\n input: "encoding/rnn/while/Identity"\\n input: "encoding/rnn/while/basic_lstm_cell/mul_2"\\n input: "encoding/rnn/while/Identity_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray"\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/add/y"\\n op: "Const"\\n input: "^encoding/rnn/while/Identity"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/add"\\n op: "Add"\\n input: "encoding/rnn/while/Identity"\\n input: "encoding/rnn/while/add/y"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/NextIteration"\\n op: "NextIteration"\\n input: "encoding/rnn/while/add"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/NextIteration_1"\\n op: "NextIteration"\\n input: "encoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/NextIteration_2"\\n op: "NextIteration"\\n input: "encoding/rnn/while/basic_lstm_cell/add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/NextIteration_3"\\n op: "NextIteration"\\n input: "encoding/rnn/while/basic_lstm_cell/mul_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Exit"\\n op: "Exit"\\n input: "encoding/rnn/while/Switch"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Exit_1"\\n op: "Exit"\\n input: "encoding/rnn/while/Switch_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Exit_2"\\n op: "Exit"\\n input: "encoding/rnn/while/Switch_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/while/Exit_3"\\n op: "Exit"\\n input: "encoding/rnn/while/Switch_3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/TensorArrayStack/TensorArraySizeV3"\\n op: "TensorArraySizeV3"\\n input: "encoding/rnn/TensorArray"\\n input: "encoding/rnn/while/Exit_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray"\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/TensorArrayStack/range/start"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/TensorArrayStack/range/delta"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/TensorArrayStack/range"\\n op: "Range"\\n input: "encoding/rnn/TensorArrayStack/range/start"\\n input: "encoding/rnn/TensorArrayStack/TensorArraySizeV3"\\n input: "encoding/rnn/TensorArrayStack/range/delta"\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray"\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/TensorArrayStack/TensorArrayGatherV3"\\n op: "TensorArrayGatherV3"\\n input: "encoding/rnn/TensorArray"\\n input: "encoding/rnn/TensorArrayStack/range"\\n input: "encoding/rnn/while/Exit_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "element_shape"\\n value {\\n shape {\\n dim {\\n size: -1\\n }\\n dim {\\n size: 32\\n }\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/transpose/perm"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 3\\n }\\n }\\n tensor_content: "\\\\001\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\002\\\\000\\\\000\\\\000"\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/transpose"\\n op: "Transpose"\\n input: "encoding/rnn/TensorArrayStack/TensorArrayGatherV3"\\n input: "encoding/rnn/transpose/perm"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tperm"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "decoding/transpose/perm"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 3\\n }\\n }\\n tensor_content: "\\\\001\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\002\\\\000\\\\000\\\\000"\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/transpose"\\n op: "Transpose"\\n input: "embedding_lookup_1"\\n input: "decoding/transpose/perm"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tperm"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/Shape"\\n op: "Shape"\\n input: "decoding/transpose"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/strided_slice/stack"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/strided_slice/stack_1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 2\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/strided_slice/stack_2"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/strided_slice"\\n op: "StridedSlice"\\n input: "decoding/rnn/Shape"\\n input: "decoding/rnn/strided_slice/stack"\\n input: "decoding/rnn/strided_slice/stack_1"\\n input: "decoding/rnn/strided_slice/stack_2"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "begin_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "ellipsis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "end_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "new_axis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "shrink_axis_mask"\\n value {\\n i: 1\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/strided_slice_1/stack"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/strided_slice_1/stack_1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 2\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/strided_slice_1/stack_2"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/strided_slice_1"\\n op: "StridedSlice"\\n input: "decoding/rnn/Shape"\\n input: "decoding/rnn/strided_slice_1/stack"\\n input: "decoding/rnn/strided_slice_1/stack_1"\\n input: "decoding/rnn/strided_slice_1/stack_2"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "begin_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "ellipsis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "end_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "new_axis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "shrink_axis_mask"\\n value {\\n i: 1\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/Shape_1"\\n op: "Shape"\\n input: "decoding/transpose"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/strided_slice_2/stack"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/strided_slice_2/stack_1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/strided_slice_2/stack_2"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/strided_slice_2"\\n op: "StridedSlice"\\n input: "decoding/rnn/Shape_1"\\n input: "decoding/rnn/strided_slice_2/stack"\\n input: "decoding/rnn/strided_slice_2/stack_1"\\n input: "decoding/rnn/strided_slice_2/stack_2"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "begin_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "ellipsis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "end_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "new_axis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "shrink_axis_mask"\\n value {\\n i: 1\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/strided_slice_3/stack"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/strided_slice_3/stack_1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 2\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/strided_slice_3/stack_2"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/strided_slice_3"\\n op: "StridedSlice"\\n input: "decoding/rnn/Shape_1"\\n input: "decoding/rnn/strided_slice_3/stack"\\n input: "decoding/rnn/strided_slice_3/stack_1"\\n input: "decoding/rnn/strided_slice_3/stack_2"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "begin_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "ellipsis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "end_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "new_axis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "shrink_axis_mask"\\n value {\\n i: 1\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/stack/1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 32\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/stack"\\n op: "Pack"\\n input: "decoding/rnn/strided_slice_3"\\n input: "decoding/rnn/stack/1"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "axis"\\n value {\\n i: 0\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/zeros/Const"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/zeros"\\n op: "Fill"\\n input: "decoding/rnn/stack"\\n input: "decoding/rnn/zeros/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/time"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/TensorArray"\\n op: "TensorArrayV3"\\n input: "decoding/rnn/strided_slice_2"\\n attr {\\n key: "clear_after_read"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "dynamic_size"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "element_shape"\\n value {\\n shape {\\n unknown_rank: true\\n }\\n }\\n }\\n attr {\\n key: "tensor_array_name"\\n value {\\n s: "decoding/rnn/dynamic_rnn/output_0"\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/TensorArray_1"\\n op: "TensorArrayV3"\\n input: "decoding/rnn/strided_slice_2"\\n attr {\\n key: "clear_after_read"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "dynamic_size"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "element_shape"\\n value {\\n shape {\\n unknown_rank: true\\n }\\n }\\n }\\n attr {\\n key: "tensor_array_name"\\n value {\\n s: "decoding/rnn/dynamic_rnn/input_0"\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/TensorArrayUnstack/Shape"\\n op: "Shape"\\n input: "decoding/transpose"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/TensorArrayUnstack/strided_slice/stack"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/TensorArrayUnstack/strided_slice/stack_1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/TensorArrayUnstack/strided_slice/stack_2"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/TensorArrayUnstack/strided_slice"\\n op: "StridedSlice"\\n input: "decoding/rnn/TensorArrayUnstack/Shape"\\n input: "decoding/rnn/TensorArrayUnstack/strided_slice/stack"\\n input: "decoding/rnn/TensorArrayUnstack/strided_slice/stack_1"\\n input: "decoding/rnn/TensorArrayUnstack/strided_slice/stack_2"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "begin_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "ellipsis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "end_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "new_axis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "shrink_axis_mask"\\n value {\\n i: 1\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/TensorArrayUnstack/range/start"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/TensorArrayUnstack/range/delta"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/TensorArrayUnstack/range"\\n op: "Range"\\n input: "decoding/rnn/TensorArrayUnstack/range/start"\\n input: "decoding/rnn/TensorArrayUnstack/strided_slice"\\n input: "decoding/rnn/TensorArrayUnstack/range/delta"\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3"\\n op: "TensorArrayScatterV3"\\n input: "decoding/rnn/TensorArray_1"\\n input: "decoding/rnn/TensorArrayUnstack/range"\\n input: "decoding/transpose"\\n input: "decoding/rnn/TensorArray_1:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Enter"\\n op: "Enter"\\n input: "decoding/rnn/time"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Enter_1"\\n op: "Enter"\\n input: "decoding/rnn/TensorArray:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Enter_2"\\n op: "Enter"\\n input: "encoding/rnn/while/Exit_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Enter_3"\\n op: "Enter"\\n input: "encoding/rnn/while/Exit_3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Merge"\\n op: "Merge"\\n input: "decoding/rnn/while/Enter"\\n input: "decoding/rnn/while/NextIteration"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Merge_1"\\n op: "Merge"\\n input: "decoding/rnn/while/Enter_1"\\n input: "decoding/rnn/while/NextIteration_1"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Merge_2"\\n op: "Merge"\\n input: "decoding/rnn/while/Enter_2"\\n input: "decoding/rnn/while/NextIteration_2"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Merge_3"\\n op: "Merge"\\n input: "decoding/rnn/while/Enter_3"\\n input: "decoding/rnn/while/NextIteration_3"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Less/Enter"\\n op: "Enter"\\n input: "decoding/rnn/strided_slice_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Less"\\n op: "Less"\\n input: "decoding/rnn/while/Merge"\\n input: "decoding/rnn/while/Less/Enter"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/LoopCond"\\n op: "LoopCond"\\n input: "decoding/rnn/while/Less"\\n}\\nnode {\\n name: "decoding/rnn/while/Switch"\\n op: "Switch"\\n input: "decoding/rnn/while/Merge"\\n input: "decoding/rnn/while/LoopCond"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/Merge"\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Switch_1"\\n op: "Switch"\\n input: "decoding/rnn/while/Merge_1"\\n input: "decoding/rnn/while/LoopCond"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/Merge_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Switch_2"\\n op: "Switch"\\n input: "decoding/rnn/while/Merge_2"\\n input: "decoding/rnn/while/LoopCond"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/Merge_2"\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Switch_3"\\n op: "Switch"\\n input: "decoding/rnn/while/Merge_3"\\n input: "decoding/rnn/while/LoopCond"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/Merge_3"\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Identity"\\n op: "Identity"\\n input: "decoding/rnn/while/Switch:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Identity_1"\\n op: "Identity"\\n input: "decoding/rnn/while/Switch_1:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Identity_2"\\n op: "Identity"\\n input: "decoding/rnn/while/Switch_2:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Identity_3"\\n op: "Identity"\\n input: "decoding/rnn/while/Switch_3:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/TensorArrayReadV3/Enter"\\n op: "Enter"\\n input: "decoding/rnn/TensorArray_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_RESOURCE\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/TensorArrayReadV3/Enter_1"\\n op: "Enter"\\n input: "decoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/TensorArrayReadV3"\\n op: "TensorArrayReadV3"\\n input: "decoding/rnn/while/TensorArrayReadV3/Enter"\\n input: "decoding/rnn/while/Identity"\\n input: "decoding/rnn/while/TensorArrayReadV3/Enter_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/shape"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 2\\n }\\n }\\n tensor_content: "*\\\\000\\\\000\\\\000\\\\200\\\\000\\\\000\\\\000"\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/min"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: -0.18786728382110596\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/max"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 0.18786728382110596\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/RandomUniform"\\n op: "RandomUniform"\\n input: "decoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/shape"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "seed"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "seed2"\\n value {\\n i: 0\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/sub"\\n op: "Sub"\\n input: "decoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/max"\\n input: "decoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/min"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/mul"\\n op: "Mul"\\n input: "decoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/RandomUniform"\\n input: "decoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/sub"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform"\\n op: "Add"\\n input: "decoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/mul"\\n input: "decoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform/min"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/weights"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 42\\n }\\n dim {\\n size: 128\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/weights/Assign"\\n op: "Assign"\\n input: "decoding/rnn/basic_lstm_cell/weights"\\n input: "decoding/rnn/basic_lstm_cell/weights/Initializer/random_uniform"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/weights/read"\\n op: "Identity"\\n input: "decoding/rnn/basic_lstm_cell/weights"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat/axis"\\n op: "Const"\\n input: "^decoding/rnn/while/Identity"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat"\\n op: "ConcatV2"\\n input: "decoding/rnn/while/TensorArrayReadV3"\\n input: "decoding/rnn/while/Identity_3"\\n input: "decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat/axis"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter"\\n op: "Enter"\\n input: "decoding/rnn/basic_lstm_cell/weights/read"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul"\\n op: "MatMul"\\n input: "decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat"\\n input: "decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "transpose_a"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "transpose_b"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/biases/Initializer/Const"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 128\\n }\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/biases"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 128\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/biases/Assign"\\n op: "Assign"\\n input: "decoding/rnn/basic_lstm_cell/biases"\\n input: "decoding/rnn/basic_lstm_cell/biases/Initializer/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/biases/read"\\n op: "Identity"\\n input: "decoding/rnn/basic_lstm_cell/biases"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter"\\n op: "Enter"\\n input: "decoding/rnn/basic_lstm_cell/biases/read"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd"\\n op: "BiasAdd"\\n input: "decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul"\\n input: "decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "data_format"\\n value {\\n s: "NHWC"\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/split/split_dim"\\n op: "Const"\\n input: "^decoding/rnn/while/Identity"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/split"\\n op: "Split"\\n input: "decoding/rnn/while/basic_lstm_cell/split/split_dim"\\n input: "decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "num_split"\\n value {\\n i: 4\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/add/y"\\n op: "Const"\\n input: "^decoding/rnn/while/Identity"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 1.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/add"\\n op: "Add"\\n input: "decoding/rnn/while/basic_lstm_cell/split:2"\\n input: "decoding/rnn/while/basic_lstm_cell/add/y"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/Sigmoid"\\n op: "Sigmoid"\\n input: "decoding/rnn/while/basic_lstm_cell/add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/mul"\\n op: "Mul"\\n input: "decoding/rnn/while/Identity_2"\\n input: "decoding/rnn/while/basic_lstm_cell/Sigmoid"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/Sigmoid_1"\\n op: "Sigmoid"\\n input: "decoding/rnn/while/basic_lstm_cell/split"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/Tanh"\\n op: "Tanh"\\n input: "decoding/rnn/while/basic_lstm_cell/split:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/mul_1"\\n op: "Mul"\\n input: "decoding/rnn/while/basic_lstm_cell/Sigmoid_1"\\n input: "decoding/rnn/while/basic_lstm_cell/Tanh"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/add_1"\\n op: "Add"\\n input: "decoding/rnn/while/basic_lstm_cell/mul"\\n input: "decoding/rnn/while/basic_lstm_cell/mul_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/Tanh_1"\\n op: "Tanh"\\n input: "decoding/rnn/while/basic_lstm_cell/add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/Sigmoid_2"\\n op: "Sigmoid"\\n input: "decoding/rnn/while/basic_lstm_cell/split:3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/basic_lstm_cell/mul_2"\\n op: "Mul"\\n input: "decoding/rnn/while/basic_lstm_cell/Tanh_1"\\n input: "decoding/rnn/while/basic_lstm_cell/Sigmoid_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3/Enter"\\n op: "Enter"\\n input: "decoding/rnn/TensorArray"\\n attr {\\n key: "T"\\n value {\\n type: DT_RESOURCE\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3"\\n op: "TensorArrayWriteV3"\\n input: "decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3/Enter"\\n input: "decoding/rnn/while/Identity"\\n input: "decoding/rnn/while/basic_lstm_cell/mul_2"\\n input: "decoding/rnn/while/Identity_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/add/y"\\n op: "Const"\\n input: "^decoding/rnn/while/Identity"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/add"\\n op: "Add"\\n input: "decoding/rnn/while/Identity"\\n input: "decoding/rnn/while/add/y"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/NextIteration"\\n op: "NextIteration"\\n input: "decoding/rnn/while/add"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/NextIteration_1"\\n op: "NextIteration"\\n input: "decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/NextIteration_2"\\n op: "NextIteration"\\n input: "decoding/rnn/while/basic_lstm_cell/add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/NextIteration_3"\\n op: "NextIteration"\\n input: "decoding/rnn/while/basic_lstm_cell/mul_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Exit"\\n op: "Exit"\\n input: "decoding/rnn/while/Switch"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Exit_1"\\n op: "Exit"\\n input: "decoding/rnn/while/Switch_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Exit_2"\\n op: "Exit"\\n input: "decoding/rnn/while/Switch_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/while/Exit_3"\\n op: "Exit"\\n input: "decoding/rnn/while/Switch_3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/TensorArrayStack/TensorArraySizeV3"\\n op: "TensorArraySizeV3"\\n input: "decoding/rnn/TensorArray"\\n input: "decoding/rnn/while/Exit_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/TensorArrayStack/range/start"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/TensorArrayStack/range/delta"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/TensorArrayStack/range"\\n op: "Range"\\n input: "decoding/rnn/TensorArrayStack/range/start"\\n input: "decoding/rnn/TensorArrayStack/TensorArraySizeV3"\\n input: "decoding/rnn/TensorArrayStack/range/delta"\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/TensorArrayStack/TensorArrayGatherV3"\\n op: "TensorArrayGatherV3"\\n input: "decoding/rnn/TensorArray"\\n input: "decoding/rnn/TensorArrayStack/range"\\n input: "decoding/rnn/while/Exit_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "element_shape"\\n value {\\n shape {\\n dim {\\n size: -1\\n }\\n dim {\\n size: 32\\n }\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/transpose/perm"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 3\\n }\\n }\\n tensor_content: "\\\\001\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\002\\\\000\\\\000\\\\000"\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/transpose"\\n op: "Transpose"\\n input: "decoding/rnn/TensorArrayStack/TensorArrayGatherV3"\\n input: "decoding/rnn/transpose/perm"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tperm"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/weights/Initializer/random_uniform/shape"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/weights"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 2\\n }\\n }\\n tensor_content: " \\\\000\\\\000\\\\000\\\\r\\\\000\\\\000\\\\000"\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/weights/Initializer/random_uniform/min"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/weights"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: -0.3651483654975891\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/weights/Initializer/random_uniform/max"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/weights"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 0.3651483654975891\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/weights/Initializer/random_uniform/RandomUniform"\\n op: "RandomUniform"\\n input: "fully_connected/weights/Initializer/random_uniform/shape"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/weights"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "seed"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "seed2"\\n value {\\n i: 0\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/weights/Initializer/random_uniform/sub"\\n op: "Sub"\\n input: "fully_connected/weights/Initializer/random_uniform/max"\\n input: "fully_connected/weights/Initializer/random_uniform/min"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/weights"\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/weights/Initializer/random_uniform/mul"\\n op: "Mul"\\n input: "fully_connected/weights/Initializer/random_uniform/RandomUniform"\\n input: "fully_connected/weights/Initializer/random_uniform/sub"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/weights"\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/weights/Initializer/random_uniform"\\n op: "Add"\\n input: "fully_connected/weights/Initializer/random_uniform/mul"\\n input: "fully_connected/weights/Initializer/random_uniform/min"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/weights"\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/weights"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/weights"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 32\\n }\\n dim {\\n size: 13\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/weights/Assign"\\n op: "Assign"\\n input: "fully_connected/weights"\\n input: "fully_connected/weights/Initializer/random_uniform"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/weights"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/weights/read"\\n op: "Identity"\\n input: "fully_connected/weights"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/weights"\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/biases/Initializer/Const"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/biases"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 13\\n }\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/biases"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/biases"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 13\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/biases/Assign"\\n op: "Assign"\\n input: "fully_connected/biases"\\n input: "fully_connected/biases/Initializer/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/biases"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/biases/read"\\n op: "Identity"\\n input: "fully_connected/biases"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/biases"\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/Shape"\\n op: "Shape"\\n input: "decoding/rnn/transpose"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/Rank"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 3\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/axes"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 2\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/GreaterEqual/y"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/GreaterEqual"\\n op: "GreaterEqual"\\n input: "fully_connected/Tensordot/axes"\\n input: "fully_connected/Tensordot/GreaterEqual/y"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/Cast"\\n op: "Cast"\\n input: "fully_connected/Tensordot/GreaterEqual"\\n attr {\\n key: "DstT"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "SrcT"\\n value {\\n type: DT_BOOL\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/mul"\\n op: "Mul"\\n input: "fully_connected/Tensordot/Cast"\\n input: "fully_connected/Tensordot/axes"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/Less/y"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/Less"\\n op: "Less"\\n input: "fully_connected/Tensordot/axes"\\n input: "fully_connected/Tensordot/Less/y"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/Cast_1"\\n op: "Cast"\\n input: "fully_connected/Tensordot/Less"\\n attr {\\n key: "DstT"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "SrcT"\\n value {\\n type: DT_BOOL\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/add"\\n op: "Add"\\n input: "fully_connected/Tensordot/axes"\\n input: "fully_connected/Tensordot/Rank"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/mul_1"\\n op: "Mul"\\n input: "fully_connected/Tensordot/Cast_1"\\n input: "fully_connected/Tensordot/add"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/add_1"\\n op: "Add"\\n input: "fully_connected/Tensordot/mul"\\n input: "fully_connected/Tensordot/mul_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/range/start"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/range/delta"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/range"\\n op: "Range"\\n input: "fully_connected/Tensordot/range/start"\\n input: "fully_connected/Tensordot/Rank"\\n input: "fully_connected/Tensordot/range/delta"\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/ListDiff"\\n op: "ListDiff"\\n input: "fully_connected/Tensordot/range"\\n input: "fully_connected/Tensordot/add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "out_idx"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/Gather"\\n op: "Gather"\\n input: "fully_connected/Tensordot/Shape"\\n input: "fully_connected/Tensordot/ListDiff"\\n attr {\\n key: "Tindices"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "Tparams"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "validate_indices"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/Gather_1"\\n op: "Gather"\\n input: "fully_connected/Tensordot/Shape"\\n input: "fully_connected/Tensordot/add_1"\\n attr {\\n key: "Tindices"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "Tparams"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "validate_indices"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/Const"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/Prod"\\n op: "Prod"\\n input: "fully_connected/Tensordot/Gather"\\n input: "fully_connected/Tensordot/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/Const_1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/Prod_1"\\n op: "Prod"\\n input: "fully_connected/Tensordot/Gather_1"\\n input: "fully_connected/Tensordot/Const_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/concat/axis"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/concat"\\n op: "ConcatV2"\\n input: "fully_connected/Tensordot/Gather_1"\\n input: "fully_connected/Tensordot/Gather"\\n input: "fully_connected/Tensordot/concat/axis"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/concat_1/axis"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/concat_1"\\n op: "ConcatV2"\\n input: "fully_connected/Tensordot/ListDiff"\\n input: "fully_connected/Tensordot/add_1"\\n input: "fully_connected/Tensordot/concat_1/axis"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/stack"\\n op: "Pack"\\n input: "fully_connected/Tensordot/Prod"\\n input: "fully_connected/Tensordot/Prod_1"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "axis"\\n value {\\n i: 0\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/transpose"\\n op: "Transpose"\\n input: "decoding/rnn/transpose"\\n input: "fully_connected/Tensordot/concat_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tperm"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/Reshape"\\n op: "Reshape"\\n input: "fully_connected/Tensordot/transpose"\\n input: "fully_connected/Tensordot/stack"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/transpose_1/perm"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 2\\n }\\n }\\n tensor_content: "\\\\000\\\\000\\\\000\\\\000\\\\001\\\\000\\\\000\\\\000"\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/transpose_1"\\n op: "Transpose"\\n input: "fully_connected/weights/read"\\n input: "fully_connected/Tensordot/transpose_1/perm"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tperm"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/Reshape_1/shape"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 2\\n }\\n }\\n tensor_content: " \\\\000\\\\000\\\\000\\\\r\\\\000\\\\000\\\\000"\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/Reshape_1"\\n op: "Reshape"\\n input: "fully_connected/Tensordot/transpose_1"\\n input: "fully_connected/Tensordot/Reshape_1/shape"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/MatMul"\\n op: "MatMul"\\n input: "fully_connected/Tensordot/Reshape"\\n input: "fully_connected/Tensordot/Reshape_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "transpose_a"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "transpose_b"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/Const_2"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 13\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/concat_2/axis"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot/concat_2"\\n op: "ConcatV2"\\n input: "fully_connected/Tensordot/Gather"\\n input: "fully_connected/Tensordot/Const_2"\\n input: "fully_connected/Tensordot/concat_2/axis"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/Tensordot"\\n op: "Reshape"\\n input: "fully_connected/Tensordot/MatMul"\\n input: "fully_connected/Tensordot/concat_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/BiasAdd"\\n op: "BiasAdd"\\n input: "fully_connected/Tensordot"\\n input: "fully_connected/biases/read"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "data_format"\\n value {\\n s: "NHWC"\\n }\\n }\\n}\\nnode {\\n name: "optimization/ones"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 128\\n }\\n dim {\\n size: 10\\n }\\n }\\n float_val: 1.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/Shape"\\n op: "Shape"\\n input: "fully_connected/BiasAdd"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/strided_slice/stack"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 2\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/strided_slice/stack_1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 3\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/strided_slice/stack_2"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/strided_slice"\\n op: "StridedSlice"\\n input: "optimization/sequence_loss/Shape"\\n input: "optimization/sequence_loss/strided_slice/stack"\\n input: "optimization/sequence_loss/strided_slice/stack_1"\\n input: "optimization/sequence_loss/strided_slice/stack_2"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "begin_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "ellipsis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "end_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "new_axis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "shrink_axis_mask"\\n value {\\n i: 1\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/Reshape/shape/0"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: -1\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/Reshape/shape"\\n op: "Pack"\\n input: "optimization/sequence_loss/Reshape/shape/0"\\n input: "optimization/sequence_loss/strided_slice"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "axis"\\n value {\\n i: 0\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/Reshape"\\n op: "Reshape"\\n input: "fully_connected/BiasAdd"\\n input: "optimization/sequence_loss/Reshape/shape"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/Reshape_1/shape"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: -1\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/Reshape_1"\\n op: "Reshape"\\n input: "targets"\\n input: "optimization/sequence_loss/Reshape_1/shape"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/SparseSoftmaxCrossEntropyWithLogits/Shape"\\n op: "Shape"\\n input: "optimization/sequence_loss/Reshape_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits"\\n op: "SparseSoftmaxCrossEntropyWithLogits"\\n input: "optimization/sequence_loss/Reshape"\\n input: "optimization/sequence_loss/Reshape_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tlabels"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/Reshape_2/shape"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: -1\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/Reshape_2"\\n op: "Reshape"\\n input: "optimization/ones"\\n input: "optimization/sequence_loss/Reshape_2/shape"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/mul"\\n op: "Mul"\\n input: "optimization/sequence_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits"\\n input: "optimization/sequence_loss/Reshape_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/Const"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/Sum"\\n op: "Sum"\\n input: "optimization/sequence_loss/mul"\\n input: "optimization/sequence_loss/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/Const_1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 2\\n }\\n }\\n tensor_content: "\\\\000\\\\000\\\\000\\\\000\\\\001\\\\000\\\\000\\\\000"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/Sum_1"\\n op: "Sum"\\n input: "optimization/ones"\\n input: "optimization/sequence_loss/Const_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/add/y"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 9.999999960041972e-13\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/add"\\n op: "Add"\\n input: "optimization/sequence_loss/Sum_1"\\n input: "optimization/sequence_loss/add/y"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/sequence_loss/truediv"\\n op: "RealDiv"\\n input: "optimization/sequence_loss/Sum"\\n input: "optimization/sequence_loss/add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/Shape"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n }\\n }\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/Const"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 1.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/Fill"\\n op: "Fill"\\n input: "optimization/gradients/Shape"\\n input: "optimization/gradients/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/f_count"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/f_count_1"\\n op: "Enter"\\n input: "optimization/gradients/f_count"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/Merge"\\n op: "Merge"\\n input: "optimization/gradients/f_count_1"\\n input: "optimization/gradients/NextIteration"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/Switch"\\n op: "Switch"\\n input: "optimization/gradients/Merge"\\n input: "decoding/rnn/while/LoopCond"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/Add/y"\\n op: "Const"\\n input: "^decoding/rnn/while/Identity"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/Add"\\n op: "Add"\\n input: "optimization/gradients/Switch:1"\\n input: "optimization/gradients/Add/y"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/NextIteration"\\n op: "NextIteration"\\n input: "optimization/gradients/Add"\\n input: "^optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/StackPush"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPush"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPush_1"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/StackPush"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/StackPush"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPush"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPush_1"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPush"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPush_1"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul/StackPush"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/StackPush"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPush"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPush_1"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/StackPush"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/StackPush"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/StackPush"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/split_grad/concat/StackPush"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/StackPush"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/StackPush"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPush"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPush_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/f_count_2"\\n op: "Exit"\\n input: "optimization/gradients/Switch"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/b_count"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/b_count_1"\\n op: "Enter"\\n input: "optimization/gradients/f_count_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/Merge_1"\\n op: "Merge"\\n input: "optimization/gradients/b_count_1"\\n input: "optimization/gradients/NextIteration_1"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/GreaterEqual/Enter"\\n op: "Enter"\\n input: "optimization/gradients/b_count"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/GreaterEqual"\\n op: "GreaterEqual"\\n input: "optimization/gradients/Merge_1"\\n input: "optimization/gradients/GreaterEqual/Enter"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/b_count_2"\\n op: "LoopCond"\\n input: "optimization/gradients/GreaterEqual"\\n}\\nnode {\\n name: "optimization/gradients/Switch_1"\\n op: "Switch"\\n input: "optimization/gradients/Merge_1"\\n input: "optimization/gradients/b_count_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/Sub"\\n op: "Sub"\\n input: "optimization/gradients/Switch_1:1"\\n input: "optimization/gradients/GreaterEqual/Enter"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/NextIteration_1"\\n op: "NextIteration"\\n input: "optimization/gradients/Sub"\\n input: "^optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/b_sync"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/b_count_3"\\n op: "Exit"\\n input: "optimization/gradients/Switch_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/f_count_3"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/f_count_4"\\n op: "Enter"\\n input: "optimization/gradients/f_count_3"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/Merge_2"\\n op: "Merge"\\n input: "optimization/gradients/f_count_4"\\n input: "optimization/gradients/NextIteration_2"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/Switch_2"\\n op: "Switch"\\n input: "optimization/gradients/Merge_2"\\n input: "encoding/rnn/while/LoopCond"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/Add_1/y"\\n op: "Const"\\n input: "^encoding/rnn/while/Identity"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/Add_1"\\n op: "Add"\\n input: "optimization/gradients/Switch_2:1"\\n input: "optimization/gradients/Add_1/y"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/NextIteration_2"\\n op: "NextIteration"\\n input: "optimization/gradients/Add_1"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPush"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPush_1"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/StackPush"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/StackPush"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPush"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPush_1"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPush"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPush_1"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul/StackPush"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/StackPush"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPush"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPush_1"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/StackPush"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/StackPush"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/StackPush"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/split_grad/concat/StackPush"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/StackPush"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/StackPush"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPush"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPush_1"\\n input: "^optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayWrite/TensorArrayWriteV3/StackPush"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/f_count_5"\\n op: "Exit"\\n input: "optimization/gradients/Switch_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/b_count_4"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/b_count_5"\\n op: "Enter"\\n input: "optimization/gradients/f_count_5"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/Merge_3"\\n op: "Merge"\\n input: "optimization/gradients/b_count_5"\\n input: "optimization/gradients/NextIteration_3"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/GreaterEqual_1/Enter"\\n op: "Enter"\\n input: "optimization/gradients/b_count_4"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/GreaterEqual_1"\\n op: "GreaterEqual"\\n input: "optimization/gradients/Merge_3"\\n input: "optimization/gradients/GreaterEqual_1/Enter"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/b_count_6"\\n op: "LoopCond"\\n input: "optimization/gradients/GreaterEqual_1"\\n}\\nnode {\\n name: "optimization/gradients/Switch_3"\\n op: "Switch"\\n input: "optimization/gradients/Merge_3"\\n input: "optimization/gradients/b_count_6"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/Sub_1"\\n op: "Sub"\\n input: "optimization/gradients/Switch_3:1"\\n input: "optimization/gradients/GreaterEqual_1/Enter"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/NextIteration_3"\\n op: "NextIteration"\\n input: "optimization/gradients/Sub_1"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/b_sync"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/b_count_7"\\n op: "Exit"\\n input: "optimization/gradients/Switch_3"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/truediv_grad/Shape"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n }\\n }\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/truediv_grad/Shape_1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n }\\n }\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/truediv_grad/BroadcastGradientArgs"\\n op: "BroadcastGradientArgs"\\n input: "optimization/gradients/optimization/sequence_loss/truediv_grad/Shape"\\n input: "optimization/gradients/optimization/sequence_loss/truediv_grad/Shape_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/truediv_grad/RealDiv"\\n op: "RealDiv"\\n input: "optimization/gradients/Fill"\\n input: "optimization/sequence_loss/add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/truediv_grad/Sum"\\n op: "Sum"\\n input: "optimization/gradients/optimization/sequence_loss/truediv_grad/RealDiv"\\n input: "optimization/gradients/optimization/sequence_loss/truediv_grad/BroadcastGradientArgs"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/truediv_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/optimization/sequence_loss/truediv_grad/Sum"\\n input: "optimization/gradients/optimization/sequence_loss/truediv_grad/Shape"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/truediv_grad/Neg"\\n op: "Neg"\\n input: "optimization/sequence_loss/Sum"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/truediv_grad/RealDiv_1"\\n op: "RealDiv"\\n input: "optimization/gradients/optimization/sequence_loss/truediv_grad/Neg"\\n input: "optimization/sequence_loss/add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/truediv_grad/RealDiv_2"\\n op: "RealDiv"\\n input: "optimization/gradients/optimization/sequence_loss/truediv_grad/RealDiv_1"\\n input: "optimization/sequence_loss/add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/truediv_grad/mul"\\n op: "Mul"\\n input: "optimization/gradients/Fill"\\n input: "optimization/gradients/optimization/sequence_loss/truediv_grad/RealDiv_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/truediv_grad/Sum_1"\\n op: "Sum"\\n input: "optimization/gradients/optimization/sequence_loss/truediv_grad/mul"\\n input: "optimization/gradients/optimization/sequence_loss/truediv_grad/BroadcastGradientArgs:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/truediv_grad/Reshape_1"\\n op: "Reshape"\\n input: "optimization/gradients/optimization/sequence_loss/truediv_grad/Sum_1"\\n input: "optimization/gradients/optimization/sequence_loss/truediv_grad/Shape_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/truediv_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/optimization/sequence_loss/truediv_grad/Reshape"\\n input: "^optimization/gradients/optimization/sequence_loss/truediv_grad/Reshape_1"\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/truediv_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/optimization/sequence_loss/truediv_grad/Reshape"\\n input: "^optimization/gradients/optimization/sequence_loss/truediv_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/optimization/sequence_loss/truediv_grad/Reshape"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/truediv_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/optimization/sequence_loss/truediv_grad/Reshape_1"\\n input: "^optimization/gradients/optimization/sequence_loss/truediv_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/optimization/sequence_loss/truediv_grad/Reshape_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/Sum_grad/Reshape/shape"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/Sum_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/optimization/sequence_loss/truediv_grad/tuple/control_dependency"\\n input: "optimization/gradients/optimization/sequence_loss/Sum_grad/Reshape/shape"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/Sum_grad/Tile/multiples"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1280\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/Sum_grad/Tile"\\n op: "Tile"\\n input: "optimization/gradients/optimization/sequence_loss/Sum_grad/Reshape"\\n input: "optimization/gradients/optimization/sequence_loss/Sum_grad/Tile/multiples"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tmultiples"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/mul_grad/Shape"\\n op: "Shape"\\n input: "optimization/sequence_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/mul_grad/Shape_1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1280\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/mul_grad/BroadcastGradientArgs"\\n op: "BroadcastGradientArgs"\\n input: "optimization/gradients/optimization/sequence_loss/mul_grad/Shape"\\n input: "optimization/gradients/optimization/sequence_loss/mul_grad/Shape_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/mul_grad/mul"\\n op: "Mul"\\n input: "optimization/gradients/optimization/sequence_loss/Sum_grad/Tile"\\n input: "optimization/sequence_loss/Reshape_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/mul_grad/Sum"\\n op: "Sum"\\n input: "optimization/gradients/optimization/sequence_loss/mul_grad/mul"\\n input: "optimization/gradients/optimization/sequence_loss/mul_grad/BroadcastGradientArgs"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/mul_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/optimization/sequence_loss/mul_grad/Sum"\\n input: "optimization/gradients/optimization/sequence_loss/mul_grad/Shape"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/mul_grad/mul_1"\\n op: "Mul"\\n input: "optimization/sequence_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits"\\n input: "optimization/gradients/optimization/sequence_loss/Sum_grad/Tile"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/mul_grad/Sum_1"\\n op: "Sum"\\n input: "optimization/gradients/optimization/sequence_loss/mul_grad/mul_1"\\n input: "optimization/gradients/optimization/sequence_loss/mul_grad/BroadcastGradientArgs:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/mul_grad/Reshape_1"\\n op: "Reshape"\\n input: "optimization/gradients/optimization/sequence_loss/mul_grad/Sum_1"\\n input: "optimization/gradients/optimization/sequence_loss/mul_grad/Shape_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/mul_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/optimization/sequence_loss/mul_grad/Reshape"\\n input: "^optimization/gradients/optimization/sequence_loss/mul_grad/Reshape_1"\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/mul_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/optimization/sequence_loss/mul_grad/Reshape"\\n input: "^optimization/gradients/optimization/sequence_loss/mul_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/optimization/sequence_loss/mul_grad/Reshape"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/mul_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/optimization/sequence_loss/mul_grad/Reshape_1"\\n input: "^optimization/gradients/optimization/sequence_loss/mul_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/optimization/sequence_loss/mul_grad/Reshape_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/zeros_like"\\n op: "ZerosLike"\\n input: "optimization/sequence_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits_grad/PreventGradient"\\n op: "PreventGradient"\\n input: "optimization/sequence_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "message"\\n value {\\n s: "Currently there is no way to take the second derivative of sparse_softmax_cross_entropy_with_logits due to the fused implementation\\\\\\'s interaction with tf.gradients()"\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits_grad/ExpandDims/dim"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: -1\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits_grad/ExpandDims"\\n op: "ExpandDims"\\n input: "optimization/gradients/optimization/sequence_loss/mul_grad/tuple/control_dependency"\\n input: "optimization/gradients/optimization/sequence_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits_grad/ExpandDims/dim"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tdim"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits_grad/mul"\\n op: "Mul"\\n input: "optimization/gradients/optimization/sequence_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits_grad/ExpandDims"\\n input: "optimization/gradients/optimization/sequence_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits_grad/PreventGradient"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/Reshape_grad/Shape"\\n op: "Shape"\\n input: "fully_connected/BiasAdd"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/optimization/sequence_loss/Reshape_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/optimization/sequence_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits_grad/mul"\\n input: "optimization/gradients/optimization/sequence_loss/Reshape_grad/Shape"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/BiasAdd_grad/BiasAddGrad"\\n op: "BiasAddGrad"\\n input: "optimization/gradients/optimization/sequence_loss/Reshape_grad/Reshape"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "data_format"\\n value {\\n s: "NHWC"\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/BiasAdd_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/optimization/sequence_loss/Reshape_grad/Reshape"\\n input: "^optimization/gradients/fully_connected/BiasAdd_grad/BiasAddGrad"\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/BiasAdd_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/optimization/sequence_loss/Reshape_grad/Reshape"\\n input: "^optimization/gradients/fully_connected/BiasAdd_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/optimization/sequence_loss/Reshape_grad/Reshape"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/BiasAdd_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/fully_connected/BiasAdd_grad/BiasAddGrad"\\n input: "^optimization/gradients/fully_connected/BiasAdd_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/fully_connected/BiasAdd_grad/BiasAddGrad"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/Tensordot_grad/Shape"\\n op: "Shape"\\n input: "fully_connected/Tensordot/MatMul"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/Tensordot_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/fully_connected/BiasAdd_grad/tuple/control_dependency"\\n input: "optimization/gradients/fully_connected/Tensordot_grad/Shape"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/Tensordot/MatMul_grad/MatMul"\\n op: "MatMul"\\n input: "optimization/gradients/fully_connected/Tensordot_grad/Reshape"\\n input: "fully_connected/Tensordot/Reshape_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "transpose_a"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "transpose_b"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/Tensordot/MatMul_grad/MatMul_1"\\n op: "MatMul"\\n input: "fully_connected/Tensordot/Reshape"\\n input: "optimization/gradients/fully_connected/Tensordot_grad/Reshape"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "transpose_a"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "transpose_b"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/Tensordot/MatMul_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/fully_connected/Tensordot/MatMul_grad/MatMul"\\n input: "^optimization/gradients/fully_connected/Tensordot/MatMul_grad/MatMul_1"\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/Tensordot/MatMul_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/fully_connected/Tensordot/MatMul_grad/MatMul"\\n input: "^optimization/gradients/fully_connected/Tensordot/MatMul_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/fully_connected/Tensordot/MatMul_grad/MatMul"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/Tensordot/MatMul_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/fully_connected/Tensordot/MatMul_grad/MatMul_1"\\n input: "^optimization/gradients/fully_connected/Tensordot/MatMul_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/fully_connected/Tensordot/MatMul_grad/MatMul_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/Tensordot/Reshape_grad/Shape"\\n op: "Shape"\\n input: "fully_connected/Tensordot/transpose"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/Tensordot/Reshape_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/fully_connected/Tensordot/MatMul_grad/tuple/control_dependency"\\n input: "optimization/gradients/fully_connected/Tensordot/Reshape_grad/Shape"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/Tensordot/Reshape_1_grad/Shape"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 2\\n }\\n }\\n tensor_content: " \\\\000\\\\000\\\\000\\\\r\\\\000\\\\000\\\\000"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/Tensordot/Reshape_1_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/fully_connected/Tensordot/MatMul_grad/tuple/control_dependency_1"\\n input: "optimization/gradients/fully_connected/Tensordot/Reshape_1_grad/Shape"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/Tensordot/transpose_grad/InvertPermutation"\\n op: "InvertPermutation"\\n input: "fully_connected/Tensordot/concat_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/Tensordot/transpose_grad/transpose"\\n op: "Transpose"\\n input: "optimization/gradients/fully_connected/Tensordot/Reshape_grad/Reshape"\\n input: "optimization/gradients/fully_connected/Tensordot/transpose_grad/InvertPermutation"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tperm"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/Tensordot/transpose_1_grad/InvertPermutation"\\n op: "InvertPermutation"\\n input: "fully_connected/Tensordot/transpose_1/perm"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/fully_connected/Tensordot/transpose_1_grad/transpose"\\n op: "Transpose"\\n input: "optimization/gradients/fully_connected/Tensordot/Reshape_1_grad/Reshape"\\n input: "optimization/gradients/fully_connected/Tensordot/transpose_1_grad/InvertPermutation"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tperm"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/transpose_grad/InvertPermutation"\\n op: "InvertPermutation"\\n input: "decoding/rnn/transpose/perm"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/transpose_grad/transpose"\\n op: "Transpose"\\n input: "optimization/gradients/fully_connected/Tensordot/transpose_grad/transpose"\\n input: "optimization/gradients/decoding/rnn/transpose_grad/InvertPermutation"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tperm"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/TensorArrayStack/TensorArrayGatherV3_grad/TensorArrayGrad/TensorArrayGradV3"\\n op: "TensorArrayGradV3"\\n input: "decoding/rnn/TensorArray"\\n input: "decoding/rnn/while/Exit_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n }\\n }\\n }\\n attr {\\n key: "source"\\n value {\\n s: "optimization/gradients"\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/TensorArrayStack/TensorArrayGatherV3_grad/TensorArrayGrad/gradient_flow"\\n op: "Identity"\\n input: "decoding/rnn/while/Exit_1"\\n input: "^optimization/gradients/decoding/rnn/TensorArrayStack/TensorArrayGatherV3_grad/TensorArrayGrad/TensorArrayGradV3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/TensorArrayStack/TensorArrayGatherV3_grad/TensorArrayScatter/TensorArrayScatterV3"\\n op: "TensorArrayScatterV3"\\n input: "optimization/gradients/decoding/rnn/TensorArrayStack/TensorArrayGatherV3_grad/TensorArrayGrad/TensorArrayGradV3"\\n input: "decoding/rnn/TensorArrayStack/range"\\n input: "optimization/gradients/decoding/rnn/transpose_grad/transpose"\\n input: "optimization/gradients/decoding/rnn/TensorArrayStack/TensorArrayGatherV3_grad/TensorArrayGrad/gradient_flow"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/zeros_like_1"\\n op: "ZerosLike"\\n input: "decoding/rnn/while/Exit_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/zeros_like_2"\\n op: "ZerosLike"\\n input: "decoding/rnn/while/Exit_3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Exit_1_grad/b_exit"\\n op: "Enter"\\n input: "optimization/gradients/decoding/rnn/TensorArrayStack/TensorArrayGatherV3_grad/TensorArrayScatter/TensorArrayScatterV3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Exit_2_grad/b_exit"\\n op: "Enter"\\n input: "optimization/gradients/zeros_like_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Exit_3_grad/b_exit"\\n op: "Enter"\\n input: "optimization/gradients/zeros_like_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Switch_1_grad/b_switch"\\n op: "Merge"\\n input: "optimization/gradients/decoding/rnn/while/Exit_1_grad/b_exit"\\n input: "optimization/gradients/decoding/rnn/while/Switch_1_grad_1/NextIteration"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Switch_2_grad/b_switch"\\n op: "Merge"\\n input: "optimization/gradients/decoding/rnn/while/Exit_2_grad/b_exit"\\n input: "optimization/gradients/decoding/rnn/while/Switch_2_grad_1/NextIteration"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Switch_3_grad/b_switch"\\n op: "Merge"\\n input: "optimization/gradients/decoding/rnn/while/Exit_3_grad/b_exit"\\n input: "optimization/gradients/decoding/rnn/while/Switch_3_grad_1/NextIteration"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Merge_1_grad/Switch"\\n op: "Switch"\\n input: "optimization/gradients/decoding/rnn/while/Switch_1_grad/b_switch"\\n input: "optimization/gradients/b_count_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/Switch_1_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Merge_1_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/decoding/rnn/while/Merge_1_grad/Switch"\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Merge_1_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/Merge_1_grad/Switch"\\n input: "^optimization/gradients/decoding/rnn/while/Merge_1_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/Switch_1_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Merge_1_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/Merge_1_grad/Switch:1"\\n input: "^optimization/gradients/decoding/rnn/while/Merge_1_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/Switch_1_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Merge_2_grad/Switch"\\n op: "Switch"\\n input: "optimization/gradients/decoding/rnn/while/Switch_2_grad/b_switch"\\n input: "optimization/gradients/b_count_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/Switch_2_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Merge_2_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/decoding/rnn/while/Merge_2_grad/Switch"\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Merge_2_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/Merge_2_grad/Switch"\\n input: "^optimization/gradients/decoding/rnn/while/Merge_2_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/Switch_2_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Merge_2_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/Merge_2_grad/Switch:1"\\n input: "^optimization/gradients/decoding/rnn/while/Merge_2_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/Switch_2_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Merge_3_grad/Switch"\\n op: "Switch"\\n input: "optimization/gradients/decoding/rnn/while/Switch_3_grad/b_switch"\\n input: "optimization/gradients/b_count_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/Switch_3_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Merge_3_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/decoding/rnn/while/Merge_3_grad/Switch"\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Merge_3_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/Merge_3_grad/Switch"\\n input: "^optimization/gradients/decoding/rnn/while/Merge_3_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/Switch_3_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Merge_3_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/Merge_3_grad/Switch:1"\\n input: "^optimization/gradients/decoding/rnn/while/Merge_3_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/Switch_3_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Enter_1_grad/Exit"\\n op: "Exit"\\n input: "optimization/gradients/decoding/rnn/while/Merge_1_grad/tuple/control_dependency"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Enter_2_grad/Exit"\\n op: "Exit"\\n input: "optimization/gradients/decoding/rnn/while/Merge_2_grad/tuple/control_dependency"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Enter_3_grad/Exit"\\n op: "Exit"\\n input: "optimization/gradients/decoding/rnn/while/Merge_3_grad/tuple/control_dependency"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/zeros"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayGrad/TensorArrayGradV3/Enter"\\n op: "Enter"\\n input: "decoding/rnn/TensorArray"\\n attr {\\n key: "T"\\n value {\\n type: DT_RESOURCE\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayGrad/TensorArrayGradV3"\\n op: "TensorArrayGradV3"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayGrad/TensorArrayGradV3/Enter"\\n input: "optimization/gradients/decoding/rnn/while/Merge_1_grad/tuple/control_dependency_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n }\\n }\\n }\\n attr {\\n key: "source"\\n value {\\n s: "optimization/gradients"\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayGrad/gradient_flow"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/Merge_1_grad/tuple/control_dependency_1"\\n input: "^optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayGrad/TensorArrayGradV3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n s: "loc:@decoding/rnn/while/Identity"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n s: "loc:@decoding/rnn/while/Identity"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/RefEnter"\\n input: "decoding/rnn/while/Identity"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n s: "loc:@decoding/rnn/while/Identity"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n s: "loc:@decoding/rnn/while/Identity"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n s: "loc:@decoding/rnn/while/Identity"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/b_sync"\\n op: "ControlTrigger"\\n input: "^optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/StackPop"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop_1"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/StackPop"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/StackPop"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop_1"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop_1"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul/StackPop"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/StackPop"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop_1"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/StackPop"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/StackPop"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/StackPop"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/split_grad/concat/StackPop"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/StackPop"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/StackPop"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3"\\n op: "TensorArrayReadV3"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayGrad/TensorArrayGradV3"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/StackPop"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayGrad/gradient_flow"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/decoding/rnn/while/Merge_1_grad/tuple/control_dependency_1"\\n input: "^optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3"\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3"\\n input: "^optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/Merge_1_grad/tuple/control_dependency_1"\\n input: "^optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/Switch_1_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/Exit_2_grad/b_exit"\\n op: "Enter"\\n input: "optimization/gradients/decoding/rnn/while/Enter_2_grad/Exit"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/Exit_3_grad/b_exit"\\n op: "Enter"\\n input: "optimization/gradients/decoding/rnn/while/Enter_3_grad/Exit"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/Exit_1_grad/b_exit"\\n op: "Enter"\\n input: "optimization/gradients/zeros"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/AddN"\\n op: "AddN"\\n input: "optimization/gradients/decoding/rnn/while/Merge_3_grad/tuple/control_dependency_1"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/tuple/control_dependency"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/Switch_3_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape"\\n op: "Shape"\\n input: "decoding/rnn/while/basic_lstm_cell/Tanh_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape_1"\\n op: "Shape"\\n input: "decoding/rnn/while/basic_lstm_cell/Sigmoid_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/f_acc_1"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/RefEnter_1"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPush_1"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/RefEnter_1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape_1"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop_1/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop_1"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop_1/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs"\\n op: "BroadcastGradientArgs"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Sigmoid_2"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Sigmoid_2"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/RefEnter"\\n input: "decoding/rnn/while/basic_lstm_cell/Sigmoid_2"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Sigmoid_2"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Sigmoid_2"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Sigmoid_2"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul"\\n op: "Mul"\\n input: "optimization/gradients/AddN"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/StackPop"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Sum"\\n op: "Sum"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Sum"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Tanh_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Tanh_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/RefEnter"\\n input: "decoding/rnn/while/basic_lstm_cell/Tanh_1"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Tanh_1"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Tanh_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Tanh_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1"\\n op: "Mul"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/StackPop"\\n input: "optimization/gradients/AddN"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Sum_1"\\n op: "Sum"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Reshape_1"\\n op: "Reshape"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Sum_1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Reshape"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Reshape_1"\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Reshape"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Reshape"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Reshape_1"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/Reshape_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/Switch_2_grad/b_switch"\\n op: "Merge"\\n input: "optimization/gradients/encoding/rnn/while/Exit_2_grad/b_exit"\\n input: "optimization/gradients/encoding/rnn/while/Switch_2_grad_1/NextIteration"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/Switch_3_grad/b_switch"\\n op: "Merge"\\n input: "optimization/gradients/encoding/rnn/while/Exit_3_grad/b_exit"\\n input: "optimization/gradients/encoding/rnn/while/Switch_3_grad_1/NextIteration"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/Tanh_1_grad/TanhGrad"\\n op: "TanhGrad"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/tuple/control_dependency"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/Sigmoid_2_grad/SigmoidGrad"\\n op: "SigmoidGrad"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_2_grad/tuple/control_dependency_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Switch_1_grad_1/NextIteration"\\n op: "NextIteration"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/tuple/control_dependency_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/Merge_2_grad/Switch"\\n op: "Switch"\\n input: "optimization/gradients/encoding/rnn/while/Switch_2_grad/b_switch"\\n input: "optimization/gradients/b_count_6"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/Switch_2_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/Merge_2_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/encoding/rnn/while/Merge_2_grad/Switch"\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/Merge_2_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/Merge_2_grad/Switch"\\n input: "^optimization/gradients/encoding/rnn/while/Merge_2_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/Switch_2_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/Merge_2_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/Merge_2_grad/Switch:1"\\n input: "^optimization/gradients/encoding/rnn/while/Merge_2_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/Switch_2_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/Merge_3_grad/Switch"\\n op: "Switch"\\n input: "optimization/gradients/encoding/rnn/while/Switch_3_grad/b_switch"\\n input: "optimization/gradients/b_count_6"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/Switch_3_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/Merge_3_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/encoding/rnn/while/Merge_3_grad/Switch"\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/Merge_3_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/Merge_3_grad/Switch"\\n input: "^optimization/gradients/encoding/rnn/while/Merge_3_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/Switch_3_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/Merge_3_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/Merge_3_grad/Switch:1"\\n input: "^optimization/gradients/encoding/rnn/while/Merge_3_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/Switch_3_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/AddN_1"\\n op: "AddN"\\n input: "optimization/gradients/decoding/rnn/while/Merge_2_grad/tuple/control_dependency_1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/Tanh_1_grad/TanhGrad"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/Switch_2_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Shape"\\n op: "Shape"\\n input: "decoding/rnn/while/basic_lstm_cell/mul"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Shape_1"\\n op: "Shape"\\n input: "decoding/rnn/while/basic_lstm_cell/mul_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Shape"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/f_acc_1"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/RefEnter_1"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPush_1"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/RefEnter_1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Shape_1"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop_1/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop_1"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop_1/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs"\\n op: "BroadcastGradientArgs"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Sum"\\n op: "Sum"\\n input: "optimization/gradients/AddN_1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Sum"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Sum_1"\\n op: "Sum"\\n input: "optimization/gradients/AddN_1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Reshape_1"\\n op: "Reshape"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Sum_1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Reshape"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Reshape_1"\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Reshape"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Reshape"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Reshape_1"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/Reshape_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/Enter_2_grad/Exit"\\n op: "Exit"\\n input: "optimization/gradients/encoding/rnn/while/Merge_2_grad/tuple/control_dependency"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/Enter_3_grad/Exit"\\n op: "Exit"\\n input: "optimization/gradients/encoding/rnn/while/Merge_3_grad/tuple/control_dependency"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Shape"\\n op: "Shape"\\n input: "decoding/rnn/while/Identity_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Shape_1"\\n op: "Shape"\\n input: "decoding/rnn/while/basic_lstm_cell/Sigmoid"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Shape"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/f_acc_1"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/RefEnter_1"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPush_1"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/RefEnter_1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Shape_1"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop_1/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop_1"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop_1/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs"\\n op: "BroadcastGradientArgs"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Sigmoid"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Sigmoid"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul/RefEnter"\\n input: "decoding/rnn/while/basic_lstm_cell/Sigmoid"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Sigmoid"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Sigmoid"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Sigmoid"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul"\\n op: "Mul"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/tuple/control_dependency"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul/StackPop"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Sum"\\n op: "Sum"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Sum"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/Identity_2"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/Identity_2"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/RefEnter"\\n input: "decoding/rnn/while/Identity_2"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/Identity_2"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/Identity_2"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/Identity_2"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul_1"\\n op: "Mul"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/tuple/control_dependency"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Sum_1"\\n op: "Sum"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul_1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Reshape_1"\\n op: "Reshape"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Sum_1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Reshape"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Reshape_1"\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Reshape"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Reshape"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Reshape_1"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/Reshape_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape"\\n op: "Shape"\\n input: "decoding/rnn/while/basic_lstm_cell/Sigmoid_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape_1"\\n op: "Shape"\\n input: "decoding/rnn/while/basic_lstm_cell/Tanh"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/f_acc_1"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/RefEnter_1"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPush_1"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/RefEnter_1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape_1"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop_1/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop_1"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop_1/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs"\\n op: "BroadcastGradientArgs"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Tanh"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Tanh"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/RefEnter"\\n input: "decoding/rnn/while/basic_lstm_cell/Tanh"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Tanh"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Tanh"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Tanh"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul"\\n op: "Mul"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/tuple/control_dependency_1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/StackPop"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Sum"\\n op: "Sum"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Sum"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Sigmoid_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Sigmoid_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/RefEnter"\\n input: "decoding/rnn/while/basic_lstm_cell/Sigmoid_1"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Sigmoid_1"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Sigmoid_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/Sigmoid_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1"\\n op: "Mul"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_1_grad/tuple/control_dependency_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Sum_1"\\n op: "Sum"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Reshape_1"\\n op: "Reshape"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Sum_1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Reshape"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Reshape_1"\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Reshape"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Reshape"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Reshape_1"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/Reshape_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/BasicLSTMCellZeroState/zeros_grad/Const"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 2\\n }\\n }\\n tensor_content: "\\\\000\\\\000\\\\000\\\\000\\\\001\\\\000\\\\000\\\\000"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/BasicLSTMCellZeroState/zeros_grad/Sum"\\n op: "Sum"\\n input: "optimization/gradients/encoding/rnn/while/Enter_2_grad/Exit"\\n input: "optimization/gradients/encoding/rnn/BasicLSTMCellZeroState/zeros_grad/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/BasicLSTMCellZeroState/zeros_1_grad/Const"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 2\\n }\\n }\\n tensor_content: "\\\\000\\\\000\\\\000\\\\000\\\\001\\\\000\\\\000\\\\000"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/BasicLSTMCellZeroState/zeros_1_grad/Sum"\\n op: "Sum"\\n input: "optimization/gradients/encoding/rnn/while/Enter_3_grad/Exit"\\n input: "optimization/gradients/encoding/rnn/BasicLSTMCellZeroState/zeros_1_grad/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape"\\n op: "Shape"\\n input: "encoding/rnn/while/basic_lstm_cell/Tanh_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape_1"\\n op: "Shape"\\n input: "encoding/rnn/while/basic_lstm_cell/Sigmoid_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/b_sync"\\n op: "ControlTrigger"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop_1"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/StackPop"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/StackPop"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop_1"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop_1"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul/StackPop"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/StackPop"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop_1"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/StackPop"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/StackPop"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/StackPop"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/split_grad/concat/StackPop"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/StackPop"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/StackPop"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop_1"\\n input: "^optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayWrite/TensorArrayWriteV3/StackPop"\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/f_acc_1"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/RefEnter_1"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPush_1"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/RefEnter_1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape_1"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop_1/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop_1"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop_1/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs"\\n op: "BroadcastGradientArgs"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Sigmoid_2"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Sigmoid_2"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/RefEnter"\\n input: "encoding/rnn/while/basic_lstm_cell/Sigmoid_2"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Sigmoid_2"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Sigmoid_2"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Sigmoid_2"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul"\\n op: "Mul"\\n input: "optimization/gradients/encoding/rnn/while/Merge_3_grad/tuple/control_dependency_1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/StackPop"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Sum"\\n op: "Sum"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Sum"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Tanh_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Tanh_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/RefEnter"\\n input: "encoding/rnn/while/basic_lstm_cell/Tanh_1"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Tanh_1"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Tanh_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Tanh_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1"\\n op: "Mul"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/StackPop"\\n input: "optimization/gradients/encoding/rnn/while/Merge_3_grad/tuple/control_dependency_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Sum_1"\\n op: "Sum"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Reshape_1"\\n op: "Reshape"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Sum_1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/BroadcastGradientArgs/StackPop_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Reshape"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Reshape_1"\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Reshape"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Reshape"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Reshape_1"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/Reshape_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/Sigmoid_grad/SigmoidGrad"\\n op: "SigmoidGrad"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/mul/StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/tuple/control_dependency_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/Sigmoid_1_grad/SigmoidGrad"\\n op: "SigmoidGrad"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/tuple/control_dependency"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/Tanh_grad/TanhGrad"\\n op: "TanhGrad"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_1_grad/tuple/control_dependency_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/Tanh_1_grad/TanhGrad"\\n op: "TanhGrad"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul_1/StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/tuple/control_dependency"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/Sigmoid_2_grad/SigmoidGrad"\\n op: "SigmoidGrad"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/mul/StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_2_grad/tuple/control_dependency_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Switch_2_grad_1/NextIteration"\\n op: "NextIteration"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/mul_grad/tuple/control_dependency"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Shape"\\n op: "Shape"\\n input: "decoding/rnn/while/basic_lstm_cell/split:2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Shape_1"\\n op: "Const"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n }\\n }\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Shape"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs"\\n op: "BroadcastGradientArgs"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Shape_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Sum"\\n op: "Sum"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/Sigmoid_grad/SigmoidGrad"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Sum"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/StackPop"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Sum_1"\\n op: "Sum"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/Sigmoid_grad/SigmoidGrad"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Reshape_1"\\n op: "Reshape"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Sum_1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Shape_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Reshape"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Reshape_1"\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Reshape"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Reshape"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Reshape_1"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/Reshape_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/AddN_2"\\n op: "AddN"\\n input: "optimization/gradients/encoding/rnn/while/Merge_2_grad/tuple/control_dependency_1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/Tanh_1_grad/TanhGrad"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/Switch_2_grad/b_switch"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Shape"\\n op: "Shape"\\n input: "encoding/rnn/while/basic_lstm_cell/mul"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Shape_1"\\n op: "Shape"\\n input: "encoding/rnn/while/basic_lstm_cell/mul_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Shape"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/f_acc_1"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/RefEnter_1"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPush_1"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/RefEnter_1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Shape_1"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop_1/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop_1"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop_1/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs"\\n op: "BroadcastGradientArgs"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Sum"\\n op: "Sum"\\n input: "optimization/gradients/AddN_2"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Sum"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Sum_1"\\n op: "Sum"\\n input: "optimization/gradients/AddN_2"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Reshape_1"\\n op: "Reshape"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Sum_1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/BroadcastGradientArgs/StackPop_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Reshape"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Reshape_1"\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Reshape"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Reshape"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Reshape_1"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/Reshape_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/split_grad/concat/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/split/split_dim"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/split_grad/concat/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/split_grad/concat/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/split/split_dim"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/split_grad/concat/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/split_grad/concat/RefEnter"\\n input: "decoding/rnn/while/basic_lstm_cell/split/split_dim"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/split/split_dim"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/split_grad/concat/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/split_grad/concat/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/split/split_dim"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/split_grad/concat/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/split_grad/concat/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/split/split_dim"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/split_grad/concat"\\n op: "ConcatV2"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/Sigmoid_1_grad/SigmoidGrad"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/Tanh_grad/TanhGrad"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/add_grad/tuple/control_dependency"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/Sigmoid_2_grad/SigmoidGrad"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/split_grad/concat/StackPop"\\n attr {\\n key: "N"\\n value {\\n i: 4\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Shape"\\n op: "Shape"\\n input: "encoding/rnn/while/Identity_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Shape_1"\\n op: "Shape"\\n input: "encoding/rnn/while/basic_lstm_cell/Sigmoid"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Shape"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/f_acc_1"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/RefEnter_1"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPush_1"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/RefEnter_1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Shape_1"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop_1/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop_1"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop_1/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs"\\n op: "BroadcastGradientArgs"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Sigmoid"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Sigmoid"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul/RefEnter"\\n input: "encoding/rnn/while/basic_lstm_cell/Sigmoid"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Sigmoid"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Sigmoid"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Sigmoid"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul"\\n op: "Mul"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/tuple/control_dependency"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul/StackPop"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Sum"\\n op: "Sum"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Sum"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/Identity_2"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/Identity_2"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/RefEnter"\\n input: "encoding/rnn/while/Identity_2"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/Identity_2"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/Identity_2"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/Identity_2"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul_1"\\n op: "Mul"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul_1/StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/tuple/control_dependency"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Sum_1"\\n op: "Sum"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul_1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Reshape_1"\\n op: "Reshape"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Sum_1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/BroadcastGradientArgs/StackPop_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Reshape"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Reshape_1"\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Reshape"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Reshape"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Reshape_1"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/Reshape_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape"\\n op: "Shape"\\n input: "encoding/rnn/while/basic_lstm_cell/Sigmoid_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape_1"\\n op: "Shape"\\n input: "encoding/rnn/while/basic_lstm_cell/Tanh"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/f_acc_1"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/RefEnter_1"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPush_1"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/RefEnter_1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape_1"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop_1/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop_1"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop_1/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Shape_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs"\\n op: "BroadcastGradientArgs"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Tanh"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Tanh"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/RefEnter"\\n input: "encoding/rnn/while/basic_lstm_cell/Tanh"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Tanh"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Tanh"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Tanh"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul"\\n op: "Mul"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/tuple/control_dependency_1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/StackPop"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Sum"\\n op: "Sum"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Sum"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Sigmoid_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Sigmoid_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/RefEnter"\\n input: "encoding/rnn/while/basic_lstm_cell/Sigmoid_1"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Sigmoid_1"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Sigmoid_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/Sigmoid_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1"\\n op: "Mul"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_1_grad/tuple/control_dependency_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Sum_1"\\n op: "Sum"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Reshape_1"\\n op: "Reshape"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Sum_1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/BroadcastGradientArgs/StackPop_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Reshape"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Reshape_1"\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Reshape"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Reshape"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Reshape_1"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/Reshape_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/BiasAddGrad"\\n op: "BiasAddGrad"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/split_grad/concat"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "data_format"\\n value {\\n s: "NHWC"\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/split_grad/concat"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/BiasAddGrad"\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/split_grad/concat"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/split_grad/concat"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/BiasAddGrad"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/BiasAddGrad"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/Sigmoid_grad/SigmoidGrad"\\n op: "SigmoidGrad"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/mul/StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/tuple/control_dependency_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/Sigmoid_1_grad/SigmoidGrad"\\n op: "SigmoidGrad"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul_1/StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/tuple/control_dependency"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/Tanh_grad/TanhGrad"\\n op: "TanhGrad"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/mul/StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_1_grad/tuple/control_dependency_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul/Enter"\\n op: "Enter"\\n input: "decoding/rnn/basic_lstm_cell/weights/read"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul"\\n op: "MatMul"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/tuple/control_dependency"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul/Enter"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "transpose_a"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "transpose_b"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/RefEnter"\\n input: "decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1"\\n op: "MatMul"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/tuple/control_dependency"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "transpose_a"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "transpose_b"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1"\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/b_acc"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 128\\n }\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/b_acc_1"\\n op: "Enter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/b_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/b_acc_2"\\n op: "Merge"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/b_acc_1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/NextIteration"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/Switch"\\n op: "Switch"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/b_acc_2"\\n input: "optimization/gradients/b_count_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/Add"\\n op: "Add"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/Switch:1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/tuple/control_dependency_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/NextIteration"\\n op: "NextIteration"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/b_acc_3"\\n op: "Exit"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/Switch"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/Switch_2_grad_1/NextIteration"\\n op: "NextIteration"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/mul_grad/tuple/control_dependency"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Shape"\\n op: "Shape"\\n input: "encoding/rnn/while/basic_lstm_cell/split:2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Shape_1"\\n op: "Const"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n }\\n }\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Shape"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Shape"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs"\\n op: "BroadcastGradientArgs"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Shape_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Sum"\\n op: "Sum"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/Sigmoid_grad/SigmoidGrad"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Sum"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs/StackPop"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Sum_1"\\n op: "Sum"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/Sigmoid_grad/SigmoidGrad"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/BroadcastGradientArgs:1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "keep_dims"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Reshape_1"\\n op: "Reshape"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Sum_1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Shape_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Reshape"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Reshape_1"\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Reshape"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Reshape"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Reshape_1"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/Reshape_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Rank"\\n op: "Const"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 2\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat/axis"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat/axis"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/RefEnter"\\n input: "decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat/axis"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat/axis"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat/axis"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat/axis"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod"\\n op: "FloorMod"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Rank"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Shape"\\n op: "Shape"\\n input: "decoding/rnn/while/TensorArrayReadV3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/RefEnter"\\n input: "decoding/rnn/while/TensorArrayReadV3"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/f_acc_1"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/Identity_3"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/RefEnter_1"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/Identity_3"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPush_1"\\n op: "StackPush"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/RefEnter_1"\\n input: "decoding/rnn/while/Identity_3"\\n input: "^optimization/gradients/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/Identity_3"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop_1/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/Identity_3"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop_1"\\n op: "StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop_1/RefEnter"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/while/Identity_3"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN"\\n op: "ShapeN"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop_1"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ConcatOffset"\\n op: "ConcatOffset"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN:1"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Slice"\\n op: "Slice"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/tuple/control_dependency"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ConcatOffset"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Slice_1"\\n op: "Slice"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/tuple/control_dependency"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ConcatOffset:1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN:1"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Slice"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Slice_1"\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Slice"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Slice"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Slice_1"\\n input: "^optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Slice_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/b_acc"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 42\\n }\\n dim {\\n size: 128\\n }\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/b_acc_1"\\n op: "Enter"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/b_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/b_acc_2"\\n op: "Merge"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/b_acc_1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/NextIteration"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/Switch"\\n op: "Switch"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/b_acc_2"\\n input: "optimization/gradients/b_count_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/Add"\\n op: "Add"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/Switch:1"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/tuple/control_dependency_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/NextIteration"\\n op: "NextIteration"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/b_acc_3"\\n op: "Exit"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/Switch"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/split_grad/concat/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/split/split_dim"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/split_grad/concat/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/split_grad/concat/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/split/split_dim"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/split_grad/concat/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/split_grad/concat/RefEnter"\\n input: "encoding/rnn/while/basic_lstm_cell/split/split_dim"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/split/split_dim"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/split_grad/concat/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/split_grad/concat/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/split/split_dim"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/split_grad/concat/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/split_grad/concat/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/split/split_dim"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/split_grad/concat"\\n op: "ConcatV2"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/Sigmoid_1_grad/SigmoidGrad"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/Tanh_grad/TanhGrad"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/add_grad/tuple/control_dependency"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/Sigmoid_2_grad/SigmoidGrad"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/split_grad/concat/StackPop"\\n attr {\\n key: "N"\\n value {\\n i: 4\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3/Enter"\\n op: "Enter"\\n input: "decoding/rnn/TensorArray_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_RESOURCE\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3/Enter_1"\\n op: "Enter"\\n input: "decoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3"\\n op: "TensorArrayGradV3"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3/Enter"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3/Enter_1"\\n input: "^optimization/gradients/Sub"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "source"\\n value {\\n s: "optimization/gradients"\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/gradient_flow"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3/Enter_1"\\n input: "^optimization/gradients/decoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3_grad/TensorArrayWrite/TensorArrayWriteV3"\\n op: "TensorArrayWriteV3"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/StackPop"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/tuple/control_dependency"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/gradient_flow"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/BiasAddGrad"\\n op: "BiasAddGrad"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/split_grad/concat"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "data_format"\\n value {\\n s: "NHWC"\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/split_grad/concat"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/BiasAddGrad"\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/split_grad/concat"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/split_grad/concat"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/BiasAddGrad"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/BiasAddGrad"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_1"\\n op: "Enter"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/decoding/rnn/while/decoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_2"\\n op: "Merge"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_1"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/NextIteration"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/Switch"\\n op: "Switch"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_2"\\n input: "optimization/gradients/b_count_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/Add"\\n op: "Add"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/Switch:1"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3_grad/TensorArrayWrite/TensorArrayWriteV3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/NextIteration"\\n op: "NextIteration"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_3"\\n op: "Exit"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/Switch"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/while/Switch_3_grad_1/NextIteration"\\n op: "NextIteration"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/tuple/control_dependency_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul/Enter"\\n op: "Enter"\\n input: "encoding/rnn/basic_lstm_cell/weights/read"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul"\\n op: "MatMul"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/tuple/control_dependency"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul/Enter"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "transpose_a"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "transpose_b"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/RefEnter"\\n input: "encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1"\\n op: "MatMul"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1/StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/tuple/control_dependency"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "transpose_a"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "transpose_b"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1"\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/MatMul_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/b_acc"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 128\\n }\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/b_acc_1"\\n op: "Enter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/b_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/b_acc_2"\\n op: "Merge"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/b_acc_1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/NextIteration"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/Switch"\\n op: "Switch"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/b_acc_2"\\n input: "optimization/gradients/b_count_6"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/Add"\\n op: "Add"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/Switch:1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd_grad/tuple/control_dependency_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/NextIteration"\\n op: "NextIteration"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/b_acc_3"\\n op: "Exit"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/Switch"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/TensorArrayGrad/TensorArrayGradV3"\\n op: "TensorArrayGradV3"\\n input: "decoding/rnn/TensorArray_1"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_3"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "source"\\n value {\\n s: "optimization/gradients"\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/TensorArrayGrad/gradient_flow"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_3"\\n input: "^optimization/gradients/decoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/TensorArrayGrad/TensorArrayGradV3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/TensorArrayGatherV3"\\n op: "TensorArrayGatherV3"\\n input: "optimization/gradients/decoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/TensorArrayGrad/TensorArrayGradV3"\\n input: "decoding/rnn/TensorArrayUnstack/range"\\n input: "optimization/gradients/decoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/TensorArrayGrad/gradient_flow"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "element_shape"\\n value {\\n shape {\\n unknown_rank: true\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_3"\\n input: "^optimization/gradients/decoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/TensorArrayGatherV3"\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/TensorArrayGatherV3"\\n input: "^optimization/gradients/decoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_3"\\n input: "^optimization/gradients/decoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/decoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_3"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Rank"\\n op: "Const"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 2\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat/axis"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat/axis"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/RefEnter"\\n input: "encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat/axis"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat/axis"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat/axis"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat/axis"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod"\\n op: "FloorMod"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod/StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Rank"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Shape"\\n op: "Shape"\\n input: "encoding/rnn/while/TensorArrayReadV3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/RefEnter"\\n input: "encoding/rnn/while/TensorArrayReadV3"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/f_acc_1"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/Identity_3"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/RefEnter_1"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/Identity_3"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPush_1"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/RefEnter_1"\\n input: "encoding/rnn/while/Identity_3"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/Identity_3"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop_1/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/f_acc_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/Identity_3"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop_1"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop_1/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/while/Identity_3"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN"\\n op: "ShapeN"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN/StackPop_1"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ConcatOffset"\\n op: "ConcatOffset"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/mod"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN:1"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Slice"\\n op: "Slice"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/tuple/control_dependency"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ConcatOffset"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Slice_1"\\n op: "Slice"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/tuple/control_dependency"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ConcatOffset:1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/ShapeN:1"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Slice"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Slice_1"\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Slice"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Slice"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Slice_1"\\n input: "^optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/Slice_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/b_acc"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 42\\n }\\n dim {\\n size: 128\\n }\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/b_acc_1"\\n op: "Enter"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/b_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/b_acc_2"\\n op: "Merge"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/b_acc_1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/NextIteration"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/Switch"\\n op: "Switch"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/b_acc_2"\\n input: "optimization/gradients/b_count_6"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/Add"\\n op: "Add"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/Switch:1"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul_grad/tuple/control_dependency_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/NextIteration"\\n op: "NextIteration"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/b_acc_3"\\n op: "Exit"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/Switch"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3/Enter"\\n op: "Enter"\\n input: "encoding/rnn/TensorArray_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_RESOURCE\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3/Enter_1"\\n op: "Enter"\\n input: "encoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3"\\n op: "TensorArrayGradV3"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3/Enter"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3/Enter_1"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "source"\\n value {\\n s: "optimization/gradients"\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/gradient_flow"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3/Enter_1"\\n input: "^optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayWrite/TensorArrayWriteV3/f_acc"\\n op: "Stack"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n s: "loc:@encoding/rnn/while/Identity"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "stack_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayWrite/TensorArrayWriteV3/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayWrite/TensorArrayWriteV3/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n s: "loc:@encoding/rnn/while/Identity"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayWrite/TensorArrayWriteV3/StackPush"\\n op: "StackPush"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayWrite/TensorArrayWriteV3/RefEnter"\\n input: "encoding/rnn/while/Identity"\\n input: "^optimization/gradients/Add_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n s: "loc:@encoding/rnn/while/Identity"\\n }\\n }\\n }\\n attr {\\n key: "swap_memory"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayWrite/TensorArrayWriteV3/StackPop/RefEnter"\\n op: "RefEnter"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayWrite/TensorArrayWriteV3/f_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_STRING\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n s: "loc:@encoding/rnn/while/Identity"\\n }\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayWrite/TensorArrayWriteV3/StackPop"\\n op: "StackPop"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayWrite/TensorArrayWriteV3/StackPop/RefEnter"\\n input: "^optimization/gradients/Sub_1"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n s: "loc:@encoding/rnn/while/Identity"\\n }\\n }\\n }\\n attr {\\n key: "elem_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayWrite/TensorArrayWriteV3"\\n op: "TensorArrayWriteV3"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayWrite/TensorArrayWriteV3/StackPop"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/tuple/control_dependency"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayGrad/gradient_flow"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_1"\\n op: "Enter"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "frame_name"\\n value {\\n s: "optimization/gradients/encoding/rnn/while/encoding/rnn/while/"\\n }\\n }\\n attr {\\n key: "is_constant"\\n value {\\n b: false\\n }\\n }\\n attr {\\n key: "parallel_iterations"\\n value {\\n i: 32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_2"\\n op: "Merge"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_1"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/NextIteration"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/Switch"\\n op: "Switch"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_2"\\n input: "optimization/gradients/b_count_6"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/Add"\\n op: "Add"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/Switch:1"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3_grad/TensorArrayWrite/TensorArrayWriteV3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/NextIteration"\\n op: "NextIteration"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/Add"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_3"\\n op: "Exit"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/Switch"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/while/Switch_3_grad_1/NextIteration"\\n op: "NextIteration"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/concat_grad/tuple/control_dependency_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/TensorArrayGrad/TensorArrayGradV3"\\n op: "TensorArrayGradV3"\\n input: "encoding/rnn/TensorArray_1"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_3"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "source"\\n value {\\n s: "optimization/gradients"\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/TensorArrayGrad/gradient_flow"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_3"\\n input: "^optimization/gradients/encoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/TensorArrayGrad/TensorArrayGradV3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/TensorArrayGatherV3"\\n op: "TensorArrayGatherV3"\\n input: "optimization/gradients/encoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/TensorArrayGrad/TensorArrayGradV3"\\n input: "encoding/rnn/TensorArrayUnstack/range"\\n input: "optimization/gradients/encoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/TensorArrayGrad/gradient_flow"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "element_shape"\\n value {\\n shape {\\n unknown_rank: true\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/tuple/group_deps"\\n op: "NoOp"\\n input: "^optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_3"\\n input: "^optimization/gradients/encoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/TensorArrayGatherV3"\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/tuple/control_dependency"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/TensorArrayGatherV3"\\n input: "^optimization/gradients/encoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/TensorArray_1"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/tuple/control_dependency_1"\\n op: "Identity"\\n input: "optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_3"\\n input: "^optimization/gradients/encoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/tuple/group_deps"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@optimization/gradients/encoding/rnn/while/TensorArrayReadV3/Enter_1_grad/b_acc_3"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/transpose_grad/InvertPermutation"\\n op: "InvertPermutation"\\n input: "decoding/transpose/perm"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/decoding/transpose_grad/transpose"\\n op: "Transpose"\\n input: "optimization/gradients/decoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/tuple/control_dependency"\\n input: "optimization/gradients/decoding/transpose_grad/InvertPermutation"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tperm"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_1_grad/Shape"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 2\\n }\\n }\\n tensor_content: "\\\\r\\\\000\\\\000\\\\000\\\\n\\\\000\\\\000\\\\000"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_1_grad/Size"\\n op: "Size"\\n input: "output"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_1_grad/ExpandDims/dim"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_1_grad/ExpandDims"\\n op: "ExpandDims"\\n input: "optimization/gradients/embedding_lookup_1_grad/Size"\\n input: "optimization/gradients/embedding_lookup_1_grad/ExpandDims/dim"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "Tdim"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_1_grad/strided_slice/stack"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_1_grad/strided_slice/stack_1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_1_grad/strided_slice/stack_2"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_1_grad/strided_slice"\\n op: "StridedSlice"\\n input: "optimization/gradients/embedding_lookup_1_grad/Shape"\\n input: "optimization/gradients/embedding_lookup_1_grad/strided_slice/stack"\\n input: "optimization/gradients/embedding_lookup_1_grad/strided_slice/stack_1"\\n input: "optimization/gradients/embedding_lookup_1_grad/strided_slice/stack_2"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "begin_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "ellipsis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "end_mask"\\n value {\\n i: 1\\n }\\n }\\n attr {\\n key: "new_axis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "shrink_axis_mask"\\n value {\\n i: 0\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_1_grad/concat/axis"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_1_grad/concat"\\n op: "ConcatV2"\\n input: "optimization/gradients/embedding_lookup_1_grad/ExpandDims"\\n input: "optimization/gradients/embedding_lookup_1_grad/strided_slice"\\n input: "optimization/gradients/embedding_lookup_1_grad/concat/axis"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_1_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/decoding/transpose_grad/transpose"\\n input: "optimization/gradients/embedding_lookup_1_grad/concat"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_1_grad/Reshape_1"\\n op: "Reshape"\\n input: "output"\\n input: "optimization/gradients/embedding_lookup_1_grad/ExpandDims"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/transpose_grad/InvertPermutation"\\n op: "InvertPermutation"\\n input: "encoding/transpose/perm"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/encoding/transpose_grad/transpose"\\n op: "Transpose"\\n input: "optimization/gradients/encoding/rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3_grad/tuple/control_dependency"\\n input: "optimization/gradients/encoding/transpose_grad/InvertPermutation"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tperm"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_grad/Shape"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 2\\n }\\n }\\n tensor_content: "<\\\\000\\\\000\\\\000\\\\n\\\\000\\\\000\\\\000"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_grad/Size"\\n op: "Size"\\n input: "inputs"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_grad/ExpandDims/dim"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_grad/ExpandDims"\\n op: "ExpandDims"\\n input: "optimization/gradients/embedding_lookup_grad/Size"\\n input: "optimization/gradients/embedding_lookup_grad/ExpandDims/dim"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "Tdim"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_grad/strided_slice/stack"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_grad/strided_slice/stack_1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_grad/strided_slice/stack_2"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_grad/strided_slice"\\n op: "StridedSlice"\\n input: "optimization/gradients/embedding_lookup_grad/Shape"\\n input: "optimization/gradients/embedding_lookup_grad/strided_slice/stack"\\n input: "optimization/gradients/embedding_lookup_grad/strided_slice/stack_1"\\n input: "optimization/gradients/embedding_lookup_grad/strided_slice/stack_2"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "begin_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "ellipsis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "end_mask"\\n value {\\n i: 1\\n }\\n }\\n attr {\\n key: "new_axis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "shrink_axis_mask"\\n value {\\n i: 0\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_grad/concat/axis"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_grad/concat"\\n op: "ConcatV2"\\n input: "optimization/gradients/embedding_lookup_grad/ExpandDims"\\n input: "optimization/gradients/embedding_lookup_grad/strided_slice"\\n input: "optimization/gradients/embedding_lookup_grad/concat/axis"\\n attr {\\n key: "N"\\n value {\\n i: 2\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "Tidx"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_grad/Reshape"\\n op: "Reshape"\\n input: "optimization/gradients/encoding/transpose_grad/transpose"\\n input: "optimization/gradients/embedding_lookup_grad/concat"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/gradients/embedding_lookup_grad/Reshape_1"\\n op: "Reshape"\\n input: "inputs"\\n input: "optimization/gradients/embedding_lookup_grad/ExpandDims"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "Tshape"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/Const"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 60\\n }\\n dim {\\n size: 10\\n }\\n }\\n float_val: 1.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "enc_embedding/RMSProp"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 60\\n }\\n dim {\\n size: 10\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "enc_embedding/RMSProp/Assign"\\n op: "Assign"\\n input: "enc_embedding/RMSProp"\\n input: "optimization/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "enc_embedding/RMSProp/read"\\n op: "Identity"\\n input: "enc_embedding/RMSProp"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n}\\nnode {\\n name: "enc_embedding/RMSProp_1/Initializer/Const"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 60\\n }\\n dim {\\n size: 10\\n }\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "enc_embedding/RMSProp_1"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 60\\n }\\n dim {\\n size: 10\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "enc_embedding/RMSProp_1/Assign"\\n op: "Assign"\\n input: "enc_embedding/RMSProp_1"\\n input: "enc_embedding/RMSProp_1/Initializer/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "enc_embedding/RMSProp_1/read"\\n op: "Identity"\\n input: "enc_embedding/RMSProp_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/Const_1"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 13\\n }\\n dim {\\n size: 10\\n }\\n }\\n float_val: 1.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "dec_embedding/RMSProp"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 13\\n }\\n dim {\\n size: 10\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "dec_embedding/RMSProp/Assign"\\n op: "Assign"\\n input: "dec_embedding/RMSProp"\\n input: "optimization/Const_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "dec_embedding/RMSProp/read"\\n op: "Identity"\\n input: "dec_embedding/RMSProp"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n}\\nnode {\\n name: "dec_embedding/RMSProp_1/Initializer/Const"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 13\\n }\\n dim {\\n size: 10\\n }\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "dec_embedding/RMSProp_1"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 13\\n }\\n dim {\\n size: 10\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "dec_embedding/RMSProp_1/Assign"\\n op: "Assign"\\n input: "dec_embedding/RMSProp_1"\\n input: "dec_embedding/RMSProp_1/Initializer/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "dec_embedding/RMSProp_1/read"\\n op: "Identity"\\n input: "dec_embedding/RMSProp_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/Const_2"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 42\\n }\\n dim {\\n size: 128\\n }\\n }\\n float_val: 1.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/weights/RMSProp"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 42\\n }\\n dim {\\n size: 128\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/weights/RMSProp/Assign"\\n op: "Assign"\\n input: "encoding/rnn/basic_lstm_cell/weights/RMSProp"\\n input: "optimization/Const_2"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/weights/RMSProp/read"\\n op: "Identity"\\n input: "encoding/rnn/basic_lstm_cell/weights/RMSProp"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/weights/RMSProp_1/Initializer/Const"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 42\\n }\\n dim {\\n size: 128\\n }\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/weights/RMSProp_1"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 42\\n }\\n dim {\\n size: 128\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/weights/RMSProp_1/Assign"\\n op: "Assign"\\n input: "encoding/rnn/basic_lstm_cell/weights/RMSProp_1"\\n input: "encoding/rnn/basic_lstm_cell/weights/RMSProp_1/Initializer/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/weights/RMSProp_1/read"\\n op: "Identity"\\n input: "encoding/rnn/basic_lstm_cell/weights/RMSProp_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/Const_3"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 128\\n }\\n }\\n float_val: 1.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/biases/RMSProp"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 128\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/biases/RMSProp/Assign"\\n op: "Assign"\\n input: "encoding/rnn/basic_lstm_cell/biases/RMSProp"\\n input: "optimization/Const_3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/biases/RMSProp/read"\\n op: "Identity"\\n input: "encoding/rnn/basic_lstm_cell/biases/RMSProp"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/biases/RMSProp_1/Initializer/Const"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 128\\n }\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/biases/RMSProp_1"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 128\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/biases/RMSProp_1/Assign"\\n op: "Assign"\\n input: "encoding/rnn/basic_lstm_cell/biases/RMSProp_1"\\n input: "encoding/rnn/basic_lstm_cell/biases/RMSProp_1/Initializer/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "encoding/rnn/basic_lstm_cell/biases/RMSProp_1/read"\\n op: "Identity"\\n input: "encoding/rnn/basic_lstm_cell/biases/RMSProp_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/Const_4"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 42\\n }\\n dim {\\n size: 128\\n }\\n }\\n float_val: 1.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/weights/RMSProp"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 42\\n }\\n dim {\\n size: 128\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/weights/RMSProp/Assign"\\n op: "Assign"\\n input: "decoding/rnn/basic_lstm_cell/weights/RMSProp"\\n input: "optimization/Const_4"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/weights/RMSProp/read"\\n op: "Identity"\\n input: "decoding/rnn/basic_lstm_cell/weights/RMSProp"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/weights/RMSProp_1/Initializer/Const"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 42\\n }\\n dim {\\n size: 128\\n }\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/weights/RMSProp_1"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 42\\n }\\n dim {\\n size: 128\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/weights/RMSProp_1/Assign"\\n op: "Assign"\\n input: "decoding/rnn/basic_lstm_cell/weights/RMSProp_1"\\n input: "decoding/rnn/basic_lstm_cell/weights/RMSProp_1/Initializer/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/weights/RMSProp_1/read"\\n op: "Identity"\\n input: "decoding/rnn/basic_lstm_cell/weights/RMSProp_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/Const_5"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 128\\n }\\n }\\n float_val: 1.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/biases/RMSProp"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 128\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/biases/RMSProp/Assign"\\n op: "Assign"\\n input: "decoding/rnn/basic_lstm_cell/biases/RMSProp"\\n input: "optimization/Const_5"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/biases/RMSProp/read"\\n op: "Identity"\\n input: "decoding/rnn/basic_lstm_cell/biases/RMSProp"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/biases/RMSProp_1/Initializer/Const"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 128\\n }\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/biases/RMSProp_1"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 128\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/biases/RMSProp_1/Assign"\\n op: "Assign"\\n input: "decoding/rnn/basic_lstm_cell/biases/RMSProp_1"\\n input: "decoding/rnn/basic_lstm_cell/biases/RMSProp_1/Initializer/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "decoding/rnn/basic_lstm_cell/biases/RMSProp_1/read"\\n op: "Identity"\\n input: "decoding/rnn/basic_lstm_cell/biases/RMSProp_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/Const_6"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 32\\n }\\n dim {\\n size: 13\\n }\\n }\\n float_val: 1.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/weights/RMSProp"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/weights"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 32\\n }\\n dim {\\n size: 13\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/weights/RMSProp/Assign"\\n op: "Assign"\\n input: "fully_connected/weights/RMSProp"\\n input: "optimization/Const_6"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/weights"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/weights/RMSProp/read"\\n op: "Identity"\\n input: "fully_connected/weights/RMSProp"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/weights"\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/weights/RMSProp_1/Initializer/Const"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/weights"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 32\\n }\\n dim {\\n size: 13\\n }\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/weights/RMSProp_1"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/weights"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 32\\n }\\n dim {\\n size: 13\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/weights/RMSProp_1/Assign"\\n op: "Assign"\\n input: "fully_connected/weights/RMSProp_1"\\n input: "fully_connected/weights/RMSProp_1/Initializer/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/weights"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/weights/RMSProp_1/read"\\n op: "Identity"\\n input: "fully_connected/weights/RMSProp_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/weights"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/Const_7"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 13\\n }\\n }\\n float_val: 1.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/biases/RMSProp"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/biases"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 13\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/biases/RMSProp/Assign"\\n op: "Assign"\\n input: "fully_connected/biases/RMSProp"\\n input: "optimization/Const_7"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/biases"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/biases/RMSProp/read"\\n op: "Identity"\\n input: "fully_connected/biases/RMSProp"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/biases"\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/biases/RMSProp_1/Initializer/Const"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/biases"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n dim {\\n size: 13\\n }\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/biases/RMSProp_1"\\n op: "VariableV2"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/biases"\\n }\\n }\\n }\\n attr {\\n key: "container"\\n value {\\n s: ""\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "shape"\\n value {\\n shape {\\n dim {\\n size: 13\\n }\\n }\\n }\\n }\\n attr {\\n key: "shared_name"\\n value {\\n s: ""\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/biases/RMSProp_1/Assign"\\n op: "Assign"\\n input: "fully_connected/biases/RMSProp_1"\\n input: "fully_connected/biases/RMSProp_1/Initializer/Const"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/biases"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: true\\n }\\n }\\n attr {\\n key: "validate_shape"\\n value {\\n b: true\\n }\\n }\\n}\\nnode {\\n name: "fully_connected/biases/RMSProp_1/read"\\n op: "Identity"\\n input: "fully_connected/biases/RMSProp_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/biases"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/learning_rate"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 0.0010000000474974513\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/decay"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 0.8999999761581421\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/momentum"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 0.0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/epsilon"\\n op: "Const"\\n attr {\\n key: "dtype"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_FLOAT\\n tensor_shape {\\n }\\n float_val: 1.000000013351432e-10\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_enc_embedding/Unique"\\n op: "Unique"\\n input: "optimization/gradients/embedding_lookup_grad/Reshape_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n attr {\\n key: "out_idx"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_enc_embedding/Shape"\\n op: "Shape"\\n input: "optimization/RMSProp/update_enc_embedding/Unique"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_enc_embedding/strided_slice/stack"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_enc_embedding/strided_slice/stack_1"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_enc_embedding/strided_slice/stack_2"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_enc_embedding/strided_slice"\\n op: "StridedSlice"\\n input: "optimization/RMSProp/update_enc_embedding/Shape"\\n input: "optimization/RMSProp/update_enc_embedding/strided_slice/stack"\\n input: "optimization/RMSProp/update_enc_embedding/strided_slice/stack_1"\\n input: "optimization/RMSProp/update_enc_embedding/strided_slice/stack_2"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n attr {\\n key: "begin_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "ellipsis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "end_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "new_axis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "shrink_axis_mask"\\n value {\\n i: 1\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_enc_embedding/UnsortedSegmentSum"\\n op: "UnsortedSegmentSum"\\n input: "optimization/gradients/embedding_lookup_grad/Reshape"\\n input: "optimization/RMSProp/update_enc_embedding/Unique:1"\\n input: "optimization/RMSProp/update_enc_embedding/strided_slice"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tindices"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_enc_embedding/SparseApplyRMSProp"\\n op: "SparseApplyRMSProp"\\n input: "enc_embedding"\\n input: "enc_embedding/RMSProp"\\n input: "enc_embedding/RMSProp_1"\\n input: "optimization/RMSProp/learning_rate"\\n input: "optimization/RMSProp/decay"\\n input: "optimization/RMSProp/momentum"\\n input: "optimization/RMSProp/epsilon"\\n input: "optimization/RMSProp/update_enc_embedding/UnsortedSegmentSum"\\n input: "optimization/RMSProp/update_enc_embedding/Unique"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tindices"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@enc_embedding"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_dec_embedding/Unique"\\n op: "Unique"\\n input: "optimization/gradients/embedding_lookup_1_grad/Reshape_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n attr {\\n key: "out_idx"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_dec_embedding/Shape"\\n op: "Shape"\\n input: "optimization/RMSProp/update_dec_embedding/Unique"\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n attr {\\n key: "out_type"\\n value {\\n type: DT_INT32\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_dec_embedding/strided_slice/stack"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 0\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_dec_embedding/strided_slice/stack_1"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_dec_embedding/strided_slice/stack_2"\\n op: "Const"\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n attr {\\n key: "dtype"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "value"\\n value {\\n tensor {\\n dtype: DT_INT32\\n tensor_shape {\\n dim {\\n size: 1\\n }\\n }\\n int_val: 1\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_dec_embedding/strided_slice"\\n op: "StridedSlice"\\n input: "optimization/RMSProp/update_dec_embedding/Shape"\\n input: "optimization/RMSProp/update_dec_embedding/strided_slice/stack"\\n input: "optimization/RMSProp/update_dec_embedding/strided_slice/stack_1"\\n input: "optimization/RMSProp/update_dec_embedding/strided_slice/stack_2"\\n attr {\\n key: "Index"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "T"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n attr {\\n key: "begin_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "ellipsis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "end_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "new_axis_mask"\\n value {\\n i: 0\\n }\\n }\\n attr {\\n key: "shrink_axis_mask"\\n value {\\n i: 1\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_dec_embedding/UnsortedSegmentSum"\\n op: "UnsortedSegmentSum"\\n input: "optimization/gradients/embedding_lookup_1_grad/Reshape"\\n input: "optimization/RMSProp/update_dec_embedding/Unique:1"\\n input: "optimization/RMSProp/update_dec_embedding/strided_slice"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tindices"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_dec_embedding/SparseApplyRMSProp"\\n op: "SparseApplyRMSProp"\\n input: "dec_embedding"\\n input: "dec_embedding/RMSProp"\\n input: "dec_embedding/RMSProp_1"\\n input: "optimization/RMSProp/learning_rate"\\n input: "optimization/RMSProp/decay"\\n input: "optimization/RMSProp/momentum"\\n input: "optimization/RMSProp/epsilon"\\n input: "optimization/RMSProp/update_dec_embedding/UnsortedSegmentSum"\\n input: "optimization/RMSProp/update_dec_embedding/Unique"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "Tindices"\\n value {\\n type: DT_INT32\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@dec_embedding"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_encoding/rnn/basic_lstm_cell/weights/ApplyRMSProp"\\n op: "ApplyRMSProp"\\n input: "encoding/rnn/basic_lstm_cell/weights"\\n input: "encoding/rnn/basic_lstm_cell/weights/RMSProp"\\n input: "encoding/rnn/basic_lstm_cell/weights/RMSProp_1"\\n input: "optimization/RMSProp/learning_rate"\\n input: "optimization/RMSProp/decay"\\n input: "optimization/RMSProp/momentum"\\n input: "optimization/RMSProp/epsilon"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/b_acc_3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_encoding/rnn/basic_lstm_cell/biases/ApplyRMSProp"\\n op: "ApplyRMSProp"\\n input: "encoding/rnn/basic_lstm_cell/biases"\\n input: "encoding/rnn/basic_lstm_cell/biases/RMSProp"\\n input: "encoding/rnn/basic_lstm_cell/biases/RMSProp_1"\\n input: "optimization/RMSProp/learning_rate"\\n input: "optimization/RMSProp/decay"\\n input: "optimization/RMSProp/momentum"\\n input: "optimization/RMSProp/epsilon"\\n input: "optimization/gradients/encoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/b_acc_3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@encoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_decoding/rnn/basic_lstm_cell/weights/ApplyRMSProp"\\n op: "ApplyRMSProp"\\n input: "decoding/rnn/basic_lstm_cell/weights"\\n input: "decoding/rnn/basic_lstm_cell/weights/RMSProp"\\n input: "decoding/rnn/basic_lstm_cell/weights/RMSProp_1"\\n input: "optimization/RMSProp/learning_rate"\\n input: "optimization/RMSProp/decay"\\n input: "optimization/RMSProp/momentum"\\n input: "optimization/RMSProp/epsilon"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/MatMul/Enter_grad/b_acc_3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/weights"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_decoding/rnn/basic_lstm_cell/biases/ApplyRMSProp"\\n op: "ApplyRMSProp"\\n input: "decoding/rnn/basic_lstm_cell/biases"\\n input: "decoding/rnn/basic_lstm_cell/biases/RMSProp"\\n input: "decoding/rnn/basic_lstm_cell/biases/RMSProp_1"\\n input: "optimization/RMSProp/learning_rate"\\n input: "optimization/RMSProp/decay"\\n input: "optimization/RMSProp/momentum"\\n input: "optimization/RMSProp/epsilon"\\n input: "optimization/gradients/decoding/rnn/while/basic_lstm_cell/basic_lstm_cell_1/BiasAdd/Enter_grad/b_acc_3"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@decoding/rnn/basic_lstm_cell/biases"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_fully_connected/weights/ApplyRMSProp"\\n op: "ApplyRMSProp"\\n input: "fully_connected/weights"\\n input: "fully_connected/weights/RMSProp"\\n input: "fully_connected/weights/RMSProp_1"\\n input: "optimization/RMSProp/learning_rate"\\n input: "optimization/RMSProp/decay"\\n input: "optimization/RMSProp/momentum"\\n input: "optimization/RMSProp/epsilon"\\n input: "optimization/gradients/fully_connected/Tensordot/transpose_1_grad/transpose"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/weights"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp/update_fully_connected/biases/ApplyRMSProp"\\n op: "ApplyRMSProp"\\n input: "fully_connected/biases"\\n input: "fully_connected/biases/RMSProp"\\n input: "fully_connected/biases/RMSProp_1"\\n input: "optimization/RMSProp/learning_rate"\\n input: "optimization/RMSProp/decay"\\n input: "optimization/RMSProp/momentum"\\n input: "optimization/RMSProp/epsilon"\\n input: "optimization/gradients/fully_connected/BiasAdd_grad/tuple/control_dependency_1"\\n attr {\\n key: "T"\\n value {\\n type: DT_FLOAT\\n }\\n }\\n attr {\\n key: "_class"\\n value {\\n list {\\n s: "loc:@fully_connected/biases"\\n }\\n }\\n }\\n attr {\\n key: "use_locking"\\n value {\\n b: false\\n }\\n }\\n}\\nnode {\\n name: "optimization/RMSProp"\\n op: "NoOp"\\n input: "^optimization/RMSProp/update_enc_embedding/SparseApplyRMSProp"\\n input: "^optimization/RMSProp/update_dec_embedding/SparseApplyRMSProp"\\n input: "^optimization/RMSProp/update_encoding/rnn/basic_lstm_cell/weights/ApplyRMSProp"\\n input: "^optimization/RMSProp/update_encoding/rnn/basic_lstm_cell/biases/ApplyRMSProp"\\n input: "^optimization/RMSProp/update_decoding/rnn/basic_lstm_cell/weights/ApplyRMSProp"\\n input: "^optimization/RMSProp/update_decoding/rnn/basic_lstm_cell/biases/ApplyRMSProp"\\n input: "^optimization/RMSProp/update_fully_connected/weights/ApplyRMSProp"\\n input: "^optimization/RMSProp/update_fully_connected/biases/ApplyRMSProp"\\n}\\n';\n", " }\n", " </script>\n", " <link rel="import" href="https://tensorboard.appspot.com/tf-graph-basic.build.html" onload=load()>\n", " <div style="height:600px">\n", " <tf-graph-basic id="graph0.7926309738308429"></tf-graph-basic>\n", " </div>\n", " \"></iframe>\n", " " ], "text/plain": [ "<IPython.core.display.HTML object>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show_graph(tf.get_default_graph().as_graph_def())" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.33, random_state=42)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 0 Loss: 1.281 Accuracy: 0.5523 Epoch duration: 6.781s\n", "Epoch 1 Loss: 0.800 Accuracy: 0.6977 Epoch duration: 7.516s\n", "Epoch 2 Loss: 0.627 Accuracy: 0.7812 Epoch duration: 6.762s\n", "Epoch 3 Loss: 0.541 Accuracy: 0.7898 Epoch duration: 7.199s\n", "Epoch 4 Loss: 0.467 Accuracy: 0.8266 Epoch duration: 6.352s\n", "Epoch 5 Loss: 0.368 Accuracy: 0.8781 Epoch duration: 6.993s\n", "Epoch 6 Loss: 0.318 Accuracy: 0.8938 Epoch duration: 8.078s\n", "Epoch 7 Loss: 0.283 Accuracy: 0.9055 Epoch duration: 7.166s\n", "Epoch 8 Loss: 0.242 Accuracy: 0.9227 Epoch duration: 5.982s\n", "Epoch 9 Loss: 0.241 Accuracy: 0.9055 Epoch duration: 7.145s\n" ] } ], "source": [ "sess.run(tf.global_variables_initializer())\n", "epochs = 10\n", "for epoch_i in range(epochs):\n", " start_time = time.time()\n", " for batch_i, (source_batch, target_batch) in enumerate(batch_data(X_train, y_train, batch_size)):\n", " _, batch_loss, batch_logits = sess.run([optimizer, loss, logits],\n", " feed_dict = {inputs: source_batch,\n", " outputs: target_batch[:, :-1],\n", " targets: target_batch[:, 1:]})\n", " accuracy = np.mean(batch_logits.argmax(axis=-1) == target_batch[:,1:])\n", " print('Epoch {:3} Loss: {:>6.3f} Accuracy: {:>6.4f} Epoch duration: {:>6.3f}s'.format(epoch_i, batch_loss, \n", " accuracy, time.time() - start_time))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Translate on test set" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy on test set is: 0.882\n" ] } ], "source": [ "source_batch, target_batch = next(batch_data(X_test, y_test, batch_size))\n", "\n", "dec_input = np.zeros((len(source_batch), 1)) + char2numY['<GO>']\n", "for i in range(y_seq_length):\n", " batch_logits = sess.run(logits,\n", " feed_dict = {inputs: source_batch,\n", " outputs: dec_input})\n", " prediction = batch_logits[:,-1].argmax(axis=-1)\n", " dec_input = np.hstack([dec_input, prediction[:,None]])\n", " \n", "print('Accuracy on test set is: {:>6.3f}'.format(np.mean(dec_input == target_batch)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's randomly take two from this test set and see what it spits out:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "25 Nov 2008 => 2008-11-25\n", "october 5 1995 => 1995-10-05\n" ] } ], "source": [ "num_preds = 2\n", "source_chars = [[num2charX[l] for l in sent if num2charX[l]!=\"<PAD>\"] for sent in source_batch[:num_preds]]\n", "dest_chars = [[num2charY[l] for l in sent] for sent in dec_input[:num_preds, 1:]]\n", "\n", "for date_in, date_out in zip(source_chars, dest_chars):\n", " print(''.join(date_in)+' => '+''.join(date_out))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "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": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }