1{
2 "cells": [
3  {
4   "cell_type": "markdown",
5   "metadata": {},
6   "source": [
7    "# Content-based recommender using Deep Structured Semantic Model\n",
8    "\n",
9    "An example of how to build a Deep Structured Semantic Model (DSSM) for incorporating complex content-based features into a recommender system.  See [Learning Deep Structured Semantic Models for Web Search using Clickthrough Data](https://www.microsoft.com/en-us/research/publication/learning-deep-structured-semantic-models-for-web-search-using-clickthrough-data/).  This example does not attempt to provide a datasource or train a model, but merely show how to structure a complex DSSM network."
10   ]
11  },
12  {
13   "cell_type": "code",
14   "execution_count": 1,
15   "metadata": {
16    "collapsed": false
17   },
18   "outputs": [],
19   "source": [
20    "import warnings\n",
21    "\n",
22    "import mxnet as mx\n",
23    "from mxnet import gluon, nd, autograd, sym\n",
24    "import numpy as np\n",
25    "from sklearn.random_projection import johnson_lindenstrauss_min_dim\n"
26   ]
27  },
28  {
29   "cell_type": "code",
30   "execution_count": 2,
31   "metadata": {
32    "collapsed": true
33   },
34   "outputs": [],
35   "source": [
36    "# Define some constants\n",
37    "max_user = int(1e5)\n",
38    "title_vocab_size = int(3e4)\n",
39    "query_vocab_size = int(3e4)\n",
40    "num_samples = int(1e4)\n",
41    "hidden_units = 128\n",
42    "epsilon_proj = 0.25\n",
43    "\n",
44    "ctx = mx.gpu() if mx.context.num_gpus() > 0 else mx.cpu()"
45   ]
46  },
47  {
48   "cell_type": "markdown",
49   "metadata": {},
50   "source": [
51    "## Bag of words random projection"
52   ]
53  },
54  {
55   "cell_type": "markdown",
56   "metadata": {},
57   "source": [
58    "A previous version of this example contained a bag of word random projection example, it is kept here for reference but not used in the next example.\n",
59    "Random Projection is a dimension reduction technique that guarantees the disruption of the pair-wise distance between your original data point within a certain bound.\n",
60    "What is even more interesting is that the dimension to project onto to guarantee that bound does not depend on the original number of dimension but solely on the total number of datapoints.\n",
61    "You can see more explanation [in this blog post](http://jasonpunyon.com/blog/2017/12/02/fun-with-random-numbers-random-projection/)"
62   ]
63  },
64  {
65   "cell_type": "code",
66   "execution_count": 3,
67   "metadata": {},
68   "outputs": [
69    {
70     "name": "stdout",
71     "output_type": "stream",
72     "text": [
73      "To keep a distance disruption ~< 25.0% of our 10000 samples we need to randomly project to at least 1414 dimensions\n"
74     ]
75    }
76   ],
77   "source": [
78    "proj_dim = johnson_lindenstrauss_min_dim(num_samples, epsilon_proj)\n",
79    "print(\"To keep a distance disruption ~< {}% of our {} samples we need to randomly project to at least {} dimensions\".format(epsilon_proj*100, num_samples, proj_dim))"
80   ]
81  },
82  {
83   "cell_type": "code",
84   "execution_count": 4,
85   "metadata": {},
86   "outputs": [],
87   "source": [
88    "class BagOfWordsRandomProjection(gluon.HybridBlock):\n",
89    "    def __init__(self, vocab_size, output_dim, random_seed=54321, pad_index=0):\n",
90    "        \"\"\"\n",
91    "        :param int vocab_size: number of element in the vocabulary\n",
92    "        :param int output_dim: projection dimension\n",
93    "        :param int ramdon_seed: seed to use to guarantee same projection\n",
94    "        :param int pad_index: index of the vocabulary used for padding sentences\n",
95    "        \"\"\"\n",
96    "        super(BagOfWordsRandomProjection, self).__init__()\n",
97    "        self._vocab_size = vocab_size\n",
98    "        self._output_dim = output_dim\n",
99    "        proj = self._random_unit_vecs(vocab_size=vocab_size, output_dim=output_dim, random_seed=random_seed)\n",
100    "        # we set the projection of the padding word to 0\n",
101    "        proj[pad_index, :] = 0\n",
102    "        self.proj = self.params.get_constant('proj', value=proj)\n",
103    "\n",
104    "    def _random_unit_vecs(self, vocab_size, output_dim, random_seed):\n",
105    "        rs = np.random.RandomState(seed=random_seed)\n",
106    "        W = rs.normal(size=(vocab_size, output_dim))\n",
107    "        Wlen = np.linalg.norm(W, axis=1)\n",
108    "        W_unit = W / Wlen[:,None]\n",
109    "        return W_unit\n",
110    "\n",
111    "    def hybrid_forward(self, F, x, proj):\n",
112    "        \"\"\"\n",
113    "        :param nd or sym F:\n",
114    "        :param nd.NDArray x: index of tokens\n",
115    "        returns the sum of the projected embeddings of each token\n",
116    "        \"\"\"\n",
117    "        embedded = F.Embedding(x, proj, input_dim=self._vocab_size, output_dim=self._output_dim)\n",
118    "        return embedded.sum(axis=1)"
119   ]
120  },
121  {
122   "cell_type": "code",
123   "execution_count": 5,
124   "metadata": {},
125   "outputs": [],
126   "source": [
127    "bowrp = BagOfWordsRandomProjection(1000, 20)\n",
128    "bowrp.initialize()"
129   ]
130  },
131  {
132   "cell_type": "code",
133   "execution_count": 6,
134   "metadata": {},
135   "outputs": [
136    {
137     "data": {
138      "text/plain": [
139       "\n",
140       "[[ 0.35554492  0.0736109  -0.1220893   0.11155054 -0.20963743  0.21141198\n",
141       "   0.12296599  0.12428369 -0.10999548 -0.16867855 -0.09068598  0.14154953\n",
142       "  -0.24029303  0.11956739  0.02830955 -0.14226514 -0.45963028 -0.5456747\n",
143       "  -0.5663947  -0.10585886]\n",
144       " [-0.31655627 -0.13582113 -0.13815539  0.42596683  0.25674546  0.5024462\n",
145       "  -0.3122709   0.01826438 -0.0277671  -0.14526835  0.44378105  0.09626544\n",
146       "   0.24572927  0.36588538  0.17922089 -0.21583243 -0.30497772  0.19484927\n",
147       "  -0.20705326 -0.13759173]]\n",
148       "<NDArray 2x20 @cpu(0)>"
149      ]
150     },
151     "execution_count": 6,
152     "metadata": {},
153     "output_type": "execute_result"
154    }
155   ],
156   "source": [
157    "bowrp(mx.nd.array([[10, 50, 100], [5, 10, 0]]))"
158   ]
159  },
160  {
161   "cell_type": "markdown",
162   "metadata": {},
163   "source": [
164    "With padding:"
165   ]
166  },
167  {
168   "cell_type": "code",
169   "execution_count": 7,
170   "metadata": {},
171   "outputs": [
172    {
173     "data": {
174      "text/plain": [
175       "\n",
176       "[[ 0.35554492  0.0736109  -0.1220893   0.11155054 -0.20963743  0.21141198\n",
177       "   0.12296599  0.12428369 -0.10999548 -0.16867855 -0.09068598  0.14154953\n",
178       "  -0.24029303  0.11956739  0.02830955 -0.14226514 -0.45963028 -0.5456747\n",
179       "  -0.5663947  -0.10585886]\n",
180       " [-0.31655627 -0.13582113 -0.13815539  0.42596683  0.25674546  0.5024462\n",
181       "  -0.3122709   0.01826438 -0.0277671  -0.14526835  0.44378105  0.09626544\n",
182       "   0.24572927  0.36588538  0.17922089 -0.21583243 -0.30497772  0.19484927\n",
183       "  -0.20705326 -0.13759173]]\n",
184       "<NDArray 2x20 @cpu(0)>"
185      ]
186     },
187     "execution_count": 7,
188     "metadata": {},
189     "output_type": "execute_result"
190    }
191   ],
192   "source": [
193    "bowrp(mx.nd.array([[10, 50, 100, 0], [5, 10, 0, 0]]))"
194   ]
195  },
196  {
197   "cell_type": "markdown",
198   "metadata": {},
199   "source": [
200    "# Content-based recommender / ranking system using DSSM"
201   ]
202  },
203  {
204   "cell_type": "markdown",
205   "metadata": {},
206   "source": [
207    "For example in the search result ranking problem:\n",
208    "You have users, that have performed text-based searches. They were presented with results, and selected one of them.\n",
209    "Results are composed of a title and an image.\n",
210    "\n",
211    "Your positive examples will be the clicked items in the search results, and the negative examples are sampled from the non-clicked examples.\n",
212    "\n",
213    "The network will jointly learn embeddings for users and query text making up the \"Query\", title and image making the \"Item\" and learn how similar they are.\n",
214    "\n",
215    "After training, you can index the embeddings for your items and do a knn search with your query embeddings using the cosine similarity to return ranked items"
216   ]
217  },
218  {
219   "cell_type": "code",
220   "execution_count": 8,
221   "metadata": {},
222   "outputs": [],
223   "source": [
224    "proj_dim = 128"
225   ]
226  },
227  {
228   "cell_type": "code",
229   "execution_count": 9,
230   "metadata": {},
231   "outputs": [],
232   "source": [
233    "class DSSMRecommenderNetwork(gluon.HybridBlock):\n",
234    "    def __init__(self, query_vocab_size, proj_dim, max_user, title_vocab_size, hidden_units, random_seed=54321, p=0.5):\n",
235    "        super(DSSMRecommenderNetwork, self).__init__()\n",
236    "        with self.name_scope():\n",
237    "            \n",
238    "            # User/Query pipeline\n",
239    "            self.user_embedding = gluon.nn.Embedding(max_user, proj_dim)\n",
240    "            self.user_mlp = gluon.nn.Dense(hidden_units, activation=\"relu\")\n",
241    "            \n",
242    "            # Instead of bag of words, we use learned embeddings + stacked biLSTM average\n",
243    "            self.query_text_embedding = gluon.nn.Embedding(query_vocab_size, proj_dim)\n",
244    "            self.query_lstm = gluon.rnn.LSTM(hidden_units, 2, bidirectional=True)\n",
245    "            self.query_text_mlp = gluon.nn.Dense(hidden_units, activation=\"relu\")            \n",
246    "            \n",
247    "            self.query_dropout = gluon.nn.Dropout(p)\n",
248    "            self.query_mlp = gluon.nn.Dense(hidden_units, activation=\"relu\")\n",
249    "\n",
250    "            # Item pipeline\n",
251    "            # Instead of bag of words, we use learned embeddings + stacked biLSTM average\n",
252    "            self.title_embedding = gluon.nn.Embedding(title_vocab_size, proj_dim)\n",
253    "            self.title_lstm = gluon.rnn.LSTM(hidden_units, 2, bidirectional=True)\n",
254    "            self.title_mlp = gluon.nn.Dense(hidden_units, activation=\"relu\")\n",
255    "            \n",
256    "            # You could use vgg here for example\n",
257    "            self.image_embedding = gluon.model_zoo.vision.resnet18_v2(pretrained=False).features \n",
258    "            self.image_mlp = gluon.nn.Dense(hidden_units, activation=\"relu\")\n",
259    "            \n",
260    "            self.item_dropout = gluon.nn.Dropout(p)\n",
261    "            self.item_mlp = gluon.nn.Dense(hidden_units, activation=\"relu\")\n",
262    "    \n",
263    "    def hybrid_forward(self, F, user, query_text, title, image):\n",
264    "        # Query\n",
265    "        user = self.user_embedding(user)\n",
266    "        user = self.user_mlp(user)\n",
267    "\n",
268    "        query_text = self.query_text_embedding(query_text)\n",
269    "        query_text = self.query_lstm(query_text.transpose((1,0,2)))\n",
270    "        # average the states\n",
271    "        query_text = query_text.mean(axis=0)\n",
272    "        query_text = self.query_text_mlp(query_text)\n",
273    "        \n",
274    "        query = F.concat(user, query_text)\n",
275    "        query = self.query_dropout(query)\n",
276    "        query = self.query_mlp(query)\n",
277    "        \n",
278    "        # Item\n",
279    "        title_text = self.title_embedding(title)\n",
280    "        title_text = self.title_lstm(title_text.transpose((1,0,2)))\n",
281    "        # average the states\n",
282    "        title_text = title_text.mean(axis=0)\n",
283    "        title_text = self.title_mlp(title_text)\n",
284    "        \n",
285    "        image = self.image_embedding(image)\n",
286    "        image = self.image_mlp(image)\n",
287    "        \n",
288    "        item = F.concat(title_text, image)\n",
289    "        item = self.item_dropout(item)\n",
290    "        item = self.item_mlp(item)\n",
291    "        \n",
292    "        # Cosine Similarity\n",
293    "        query = query.expand_dims(axis=2)\n",
294    "        item = item.expand_dims(axis=2)\n",
295    "        sim = F.batch_dot(query, item, transpose_a=True) / (query.norm(axis=1) * item.norm(axis=1) + 1e-9).expand_dims(axis=2)\n",
296    "        \n",
297    "        return sim.squeeze(axis=2)"
298   ]
299  },
300  {
301   "cell_type": "code",
302   "execution_count": 10,
303   "metadata": {
304    "collapsed": false,
305    "scrolled": false
306   },
307   "outputs": [],
308   "source": [
309    "network = DSSMRecommenderNetwork(\n",
310    "    query_vocab_size,\n",
311    "    proj_dim,\n",
312    "    max_user,\n",
313    "    title_vocab_size,\n",
314    "    hidden_units\n",
315    ")\n",
316    "\n",
317    "\n",
318    "network.initialize(mx.init.Xavier(), ctx)\n",
319    "\n",
320    "# Load pre-trained vgg16 weights\n",
321    "with network.name_scope():\n",
322    "    network.image_embedding = gluon.model_zoo.vision.resnet18_v2(pretrained=True, ctx=ctx).features"
323   ]
324  },
325  {
326   "cell_type": "markdown",
327   "metadata": {},
328   "source": [
329    "It is quite hard to visualize the network since it is relatively complex but you can see the two-pronged structure, and the resnet18 branch"
330   ]
331  },
332  {
333   "cell_type": "code",
334   "execution_count": 11,
335   "metadata": {},
336   "outputs": [
337    {
338     "data": {
339      "image/svg+xml": [
340       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
341       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
342       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
343       "<!-- Generated by graphviz version 2.38.0 (20140413.2041)\n",
344       " -->\n",
345       "<!-- Title: plot Pages: 1 -->\n",
346       "<svg width=\"10034pt\" height=\"8697pt\"\n",
347       " viewBox=\"0.00 0.00 10034.00 8697.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
348       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 8693)\">\n",
349       "<title>plot</title>\n",
350       "<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-8693 10030,-8693 10030,4 -4,4\"/>\n",
351       "<!-- user -->\n",
352       "<g id=\"node1\" class=\"node\"><title>user</title>\n",
353       "<ellipse fill=\"#8dd3c7\" stroke=\"black\" cx=\"6280\" cy=\"-7134\" rx=\"47\" ry=\"29\"/>\n",
354       "<text text-anchor=\"middle\" x=\"6280\" y=\"-7130.3\" font-family=\"Times,serif\" font-size=\"14.00\">user</text>\n",
355       "</g>\n",
356       "<!-- dssmrecommendernetwork0_embedding0_fwd -->\n",
357       "<g id=\"node2\" class=\"node\"><title>dssmrecommendernetwork0_embedding0_fwd</title>\n",
358       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"6417,-7272 6143,-7272 6143,-7214 6417,-7214 6417,-7272\"/>\n",
359       "<text text-anchor=\"middle\" x=\"6280\" y=\"-7239.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_embedding0_fwd</text>\n",
360       "</g>\n",
361       "<!-- dssmrecommendernetwork0_embedding0_fwd&#45;&gt;user -->\n",
362       "<g id=\"edge1\" class=\"edge\"><title>dssmrecommendernetwork0_embedding0_fwd&#45;&gt;user</title>\n",
363       "<path fill=\"none\" stroke=\"black\" d=\"M6280,-7203.58C6280,-7190.28 6280,-7175.63 6280,-7163.3\"/>\n",
364       "<polygon fill=\"black\" stroke=\"black\" points=\"6280,-7213.89 6275.5,-7203.89 6280,-7208.89 6280,-7203.89 6280,-7203.89 6280,-7203.89 6280,-7208.89 6284.5,-7203.89 6280,-7213.89 6280,-7213.89\"/>\n",
365       "<text text-anchor=\"middle\" x=\"6283.5\" y=\"-7184.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
366       "</g>\n",
367       "<!-- dssmrecommendernetwork0_dense0_fwd -->\n",
368       "<g id=\"node3\" class=\"node\"><title>dssmrecommendernetwork0_dense0_fwd</title>\n",
369       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"6331.5,-7381 6228.5,-7381 6228.5,-7323 6331.5,-7323 6331.5,-7381\"/>\n",
370       "<text text-anchor=\"middle\" x=\"6280\" y=\"-7355.8\" font-family=\"Times,serif\" font-size=\"14.00\">FullyConnected</text>\n",
371       "<text text-anchor=\"middle\" x=\"6280\" y=\"-7340.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
372       "</g>\n",
373       "<!-- dssmrecommendernetwork0_dense0_fwd&#45;&gt;dssmrecommendernetwork0_embedding0_fwd -->\n",
374       "<g id=\"edge2\" class=\"edge\"><title>dssmrecommendernetwork0_dense0_fwd&#45;&gt;dssmrecommendernetwork0_embedding0_fwd</title>\n",
375       "<path fill=\"none\" stroke=\"black\" d=\"M6280,-7312.58C6280,-7299.28 6280,-7284.63 6280,-7272.3\"/>\n",
376       "<polygon fill=\"black\" stroke=\"black\" points=\"6280,-7322.89 6275.5,-7312.89 6280,-7317.89 6280,-7312.89 6280,-7312.89 6280,-7312.89 6280,-7317.89 6284.5,-7312.89 6280,-7322.89 6280,-7322.89\"/>\n",
377       "<text text-anchor=\"middle\" x=\"6297\" y=\"-7293.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x128</text>\n",
378       "</g>\n",
379       "<!-- dssmrecommendernetwork0_dense0_relu_fwd -->\n",
380       "<g id=\"node4\" class=\"node\"><title>dssmrecommendernetwork0_dense0_relu_fwd</title>\n",
381       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"6327,-7490 6233,-7490 6233,-7432 6327,-7432 6327,-7490\"/>\n",
382       "<text text-anchor=\"middle\" x=\"6280\" y=\"-7464.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
383       "<text text-anchor=\"middle\" x=\"6280\" y=\"-7449.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
384       "</g>\n",
385       "<!-- dssmrecommendernetwork0_dense0_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense0_fwd -->\n",
386       "<g id=\"edge3\" class=\"edge\"><title>dssmrecommendernetwork0_dense0_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense0_fwd</title>\n",
387       "<path fill=\"none\" stroke=\"black\" d=\"M6280,-7421.58C6280,-7408.28 6280,-7393.63 6280,-7381.3\"/>\n",
388       "<polygon fill=\"black\" stroke=\"black\" points=\"6280,-7431.89 6275.5,-7421.89 6280,-7426.89 6280,-7421.89 6280,-7421.89 6280,-7421.89 6280,-7426.89 6284.5,-7421.89 6280,-7431.89 6280,-7431.89\"/>\n",
389       "<text text-anchor=\"middle\" x=\"6290.5\" y=\"-7402.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
390       "</g>\n",
391       "<!-- query_text -->\n",
392       "<g id=\"node5\" class=\"node\"><title>query_text</title>\n",
393       "<ellipse fill=\"#8dd3c7\" stroke=\"black\" cx=\"5334\" cy=\"-6807\" rx=\"47\" ry=\"29\"/>\n",
394       "<text text-anchor=\"middle\" x=\"5334\" y=\"-6803.3\" font-family=\"Times,serif\" font-size=\"14.00\">query_text</text>\n",
395       "</g>\n",
396       "<!-- dssmrecommendernetwork0_embedding1_fwd -->\n",
397       "<g id=\"node6\" class=\"node\"><title>dssmrecommendernetwork0_embedding1_fwd</title>\n",
398       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5471,-6945 5197,-6945 5197,-6887 5471,-6887 5471,-6945\"/>\n",
399       "<text text-anchor=\"middle\" x=\"5334\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_embedding1_fwd</text>\n",
400       "</g>\n",
401       "<!-- dssmrecommendernetwork0_embedding1_fwd&#45;&gt;query_text -->\n",
402       "<g id=\"edge4\" class=\"edge\"><title>dssmrecommendernetwork0_embedding1_fwd&#45;&gt;query_text</title>\n",
403       "<path fill=\"none\" stroke=\"black\" d=\"M5334,-6876.58C5334,-6863.28 5334,-6848.63 5334,-6836.3\"/>\n",
404       "<polygon fill=\"black\" stroke=\"black\" points=\"5334,-6886.89 5329.5,-6876.89 5334,-6881.89 5334,-6876.89 5334,-6876.89 5334,-6876.89 5334,-6881.89 5338.5,-6876.89 5334,-6886.89 5334,-6886.89\"/>\n",
405       "<text text-anchor=\"middle\" x=\"5341\" y=\"-6857.8\" font-family=\"Times,serif\" font-size=\"14.00\">30</text>\n",
406       "</g>\n",
407       "<!-- dssmrecommendernetwork0_transpose0 -->\n",
408       "<g id=\"node7\" class=\"node\"><title>dssmrecommendernetwork0_transpose0</title>\n",
409       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"6661,-7054 6425,-7054 6425,-6996 6661,-6996 6661,-7054\"/>\n",
410       "<text text-anchor=\"middle\" x=\"6543\" y=\"-7021.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_transpose0</text>\n",
411       "</g>\n",
412       "<!-- dssmrecommendernetwork0_transpose0&#45;&gt;dssmrecommendernetwork0_embedding1_fwd -->\n",
413       "<g id=\"edge5\" class=\"edge\"><title>dssmrecommendernetwork0_transpose0&#45;&gt;dssmrecommendernetwork0_embedding1_fwd</title>\n",
414       "<path fill=\"none\" stroke=\"black\" d=\"M6415.31,-6996.04C6415.2,-6996.02 6415.1,-6996.01 6415,-6996 6227.61,-6973.73 5752.88,-7004.18 5566,-6978 5517.23,-6971.17 5464.01,-6957.63 5420.87,-6945.04\"/>\n",
415       "<polygon fill=\"black\" stroke=\"black\" points=\"6424.93,-6997.3 6414.43,-7000.46 6419.97,-6996.65 6415.01,-6996 6415.01,-6996 6415.01,-6996 6419.97,-6996.65 6415.6,-6991.54 6424.93,-6997.3 6424.93,-6997.3\"/>\n",
416       "<text text-anchor=\"middle\" x=\"5586.5\" y=\"-6966.8\" font-family=\"Times,serif\" font-size=\"14.00\">30x128</text>\n",
417       "</g>\n",
418       "<!-- dssmrecommendernetwork0_lstm0_reshape0 -->\n",
419       "<g id=\"node8\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape0</title>\n",
420       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"8052,-6945 7788,-6945 7788,-6887 8052,-6887 8052,-6945\"/>\n",
421       "<text text-anchor=\"middle\" x=\"7920\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape0</text>\n",
422       "</g>\n",
423       "<!-- dssmrecommendernetwork0_lstm0_reshape1 -->\n",
424       "<g id=\"node9\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape1</title>\n",
425       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"8334,-6945 8070,-6945 8070,-6887 8334,-6887 8334,-6945\"/>\n",
426       "<text text-anchor=\"middle\" x=\"8202\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape1</text>\n",
427       "</g>\n",
428       "<!-- dssmrecommendernetwork0_lstm0_reshape2 -->\n",
429       "<g id=\"node10\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape2</title>\n",
430       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"8616,-6945 8352,-6945 8352,-6887 8616,-6887 8616,-6945\"/>\n",
431       "<text text-anchor=\"middle\" x=\"8484\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape2</text>\n",
432       "</g>\n",
433       "<!-- dssmrecommendernetwork0_lstm0_reshape3 -->\n",
434       "<g id=\"node11\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape3</title>\n",
435       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"8898,-6945 8634,-6945 8634,-6887 8898,-6887 8898,-6945\"/>\n",
436       "<text text-anchor=\"middle\" x=\"8766\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape3</text>\n",
437       "</g>\n",
438       "<!-- dssmrecommendernetwork0_lstm0_reshape4 -->\n",
439       "<g id=\"node12\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape4</title>\n",
440       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"9180,-6945 8916,-6945 8916,-6887 9180,-6887 9180,-6945\"/>\n",
441       "<text text-anchor=\"middle\" x=\"9048\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape4</text>\n",
442       "</g>\n",
443       "<!-- dssmrecommendernetwork0_lstm0_reshape5 -->\n",
444       "<g id=\"node13\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape5</title>\n",
445       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"9462,-6945 9198,-6945 9198,-6887 9462,-6887 9462,-6945\"/>\n",
446       "<text text-anchor=\"middle\" x=\"9330\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape5</text>\n",
447       "</g>\n",
448       "<!-- dssmrecommendernetwork0_lstm0_reshape6 -->\n",
449       "<g id=\"node14\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape6</title>\n",
450       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"9744,-6945 9480,-6945 9480,-6887 9744,-6887 9744,-6945\"/>\n",
451       "<text text-anchor=\"middle\" x=\"9612\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape6</text>\n",
452       "</g>\n",
453       "<!-- dssmrecommendernetwork0_lstm0_reshape7 -->\n",
454       "<g id=\"node15\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape7</title>\n",
455       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"10026,-6945 9762,-6945 9762,-6887 10026,-6887 10026,-6945\"/>\n",
456       "<text text-anchor=\"middle\" x=\"9894\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape7</text>\n",
457       "</g>\n",
458       "<!-- dssmrecommendernetwork0_lstm0_reshape8 -->\n",
459       "<g id=\"node16\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape8</title>\n",
460       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"5753,-6945 5489,-6945 5489,-6887 5753,-6887 5753,-6945\"/>\n",
461       "<text text-anchor=\"middle\" x=\"5621\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape8</text>\n",
462       "</g>\n",
463       "<!-- dssmrecommendernetwork0_lstm0_reshape9 -->\n",
464       "<g id=\"node17\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape9</title>\n",
465       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"6035,-6945 5771,-6945 5771,-6887 6035,-6887 6035,-6945\"/>\n",
466       "<text text-anchor=\"middle\" x=\"5903\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape9</text>\n",
467       "</g>\n",
468       "<!-- dssmrecommendernetwork0_lstm0_reshape10 -->\n",
469       "<g id=\"node18\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape10</title>\n",
470       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"6324.5,-6945 6053.5,-6945 6053.5,-6887 6324.5,-6887 6324.5,-6945\"/>\n",
471       "<text text-anchor=\"middle\" x=\"6189\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape10</text>\n",
472       "</g>\n",
473       "<!-- dssmrecommendernetwork0_lstm0_reshape11 -->\n",
474       "<g id=\"node19\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape11</title>\n",
475       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"6613.5,-6945 6342.5,-6945 6342.5,-6887 6613.5,-6887 6613.5,-6945\"/>\n",
476       "<text text-anchor=\"middle\" x=\"6478\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape11</text>\n",
477       "</g>\n",
478       "<!-- dssmrecommendernetwork0_lstm0_reshape12 -->\n",
479       "<g id=\"node20\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape12</title>\n",
480       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"6902.5,-6945 6631.5,-6945 6631.5,-6887 6902.5,-6887 6902.5,-6945\"/>\n",
481       "<text text-anchor=\"middle\" x=\"6767\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape12</text>\n",
482       "</g>\n",
483       "<!-- dssmrecommendernetwork0_lstm0_reshape13 -->\n",
484       "<g id=\"node21\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape13</title>\n",
485       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"7191.5,-6945 6920.5,-6945 6920.5,-6887 7191.5,-6887 7191.5,-6945\"/>\n",
486       "<text text-anchor=\"middle\" x=\"7056\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape13</text>\n",
487       "</g>\n",
488       "<!-- dssmrecommendernetwork0_lstm0_reshape14 -->\n",
489       "<g id=\"node22\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape14</title>\n",
490       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"7480.5,-6945 7209.5,-6945 7209.5,-6887 7480.5,-6887 7480.5,-6945\"/>\n",
491       "<text text-anchor=\"middle\" x=\"7345\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape14</text>\n",
492       "</g>\n",
493       "<!-- dssmrecommendernetwork0_lstm0_reshape15 -->\n",
494       "<g id=\"node23\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape15</title>\n",
495       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"7769.5,-6945 7498.5,-6945 7498.5,-6887 7769.5,-6887 7769.5,-6945\"/>\n",
496       "<text text-anchor=\"middle\" x=\"7634\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape15</text>\n",
497       "</g>\n",
498       "<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0 -->\n",
499       "<g id=\"node24\" class=\"node\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0</title>\n",
500       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"7799.5,-7054 7468.5,-7054 7468.5,-6996 7799.5,-6996 7799.5,-7054\"/>\n",
501       "<text text-anchor=\"middle\" x=\"7634\" y=\"-7021.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0__rnn_param_concat0</text>\n",
502       "</g>\n",
503       "<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape0 -->\n",
504       "<g id=\"edge6\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape0</title>\n",
505       "<path fill=\"none\" stroke=\"black\" d=\"M7718.62,-6992.34C7758.67,-6977.36 7806.1,-6959.61 7844.86,-6945.11\"/>\n",
506       "<polygon fill=\"black\" stroke=\"black\" points=\"7709.14,-6995.89 7716.93,-6988.17 7713.83,-6994.13 7718.51,-6992.38 7718.51,-6992.38 7718.51,-6992.38 7713.83,-6994.13 7720.09,-6996.6 7709.14,-6995.89 7709.14,-6995.89\"/>\n",
507       "</g>\n",
508       "<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape1 -->\n",
509       "<g id=\"edge7\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape1</title>\n",
510       "<path fill=\"none\" stroke=\"black\" d=\"M7798.34,-6994.11C7877.74,-6979.54 7974.38,-6961.61 8061,-6945 8063.94,-6944.44 8066.92,-6943.86 8069.92,-6943.28\"/>\n",
511       "<polygon fill=\"black\" stroke=\"black\" points=\"7788.25,-6995.96 7797.28,-6989.73 7793.17,-6995.06 7798.09,-6994.16 7798.09,-6994.16 7798.09,-6994.16 7793.17,-6995.06 7798.9,-6998.59 7788.25,-6995.96 7788.25,-6995.96\"/>\n",
512       "</g>\n",
513       "<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape2 -->\n",
514       "<g id=\"edge8\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape2</title>\n",
515       "<path fill=\"none\" stroke=\"black\" d=\"M7809.74,-6995.94C8047.21,-6966.19 8110.34,-6979.12 8343,-6945 8345.96,-6944.57 8348.96,-6944.11 8351.98,-6943.64\"/>\n",
516       "<polygon fill=\"black\" stroke=\"black\" points=\"7799.76,-6997.2 7809.12,-6991.48 7804.73,-6996.58 7809.69,-6995.95 7809.69,-6995.95 7809.69,-6995.95 7804.73,-6996.58 7810.25,-7000.41 7799.76,-6997.2 7799.76,-6997.2\"/>\n",
517       "</g>\n",
518       "<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape3 -->\n",
519       "<g id=\"edge9\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape3</title>\n",
520       "<path fill=\"none\" stroke=\"black\" d=\"M7809.8,-6995.96C7941.25,-6981.82 7976.1,-6985.95 8104,-6978 8335.57,-6963.6 8394.93,-6975 8625,-6945 8627.97,-6944.61 8630.97,-6944.2 8633.99,-6943.77\"/>\n",
521       "<polygon fill=\"black\" stroke=\"black\" points=\"7799.75,-6997.06 7809.2,-6991.5 7804.72,-6996.52 7809.69,-6995.97 7809.69,-6995.97 7809.69,-6995.97 7804.72,-6996.52 7810.18,-7000.45 7799.75,-6997.06 7799.75,-6997.06\"/>\n",
522       "</g>\n",
523       "<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape4 -->\n",
524       "<g id=\"edge10\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape4</title>\n",
525       "<path fill=\"none\" stroke=\"black\" d=\"M7809.99,-6995.96C8022.75,-6975.52 8078.51,-6987.52 8288,-6978 8563.22,-6965.49 8633.64,-6979.25 8907,-6945 8909.97,-6944.63 8912.97,-6944.23 8916,-6943.81\"/>\n",
526       "<polygon fill=\"black\" stroke=\"black\" points=\"7799.74,-6996.96 7809.25,-6991.51 7804.71,-6996.48 7809.69,-6995.99 7809.69,-6995.99 7809.69,-6995.99 7804.71,-6996.48 7810.13,-7000.47 7799.74,-6996.96 7799.74,-6996.96\"/>\n",
527       "</g>\n",
528       "<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape5 -->\n",
529       "<g id=\"edge11\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape5</title>\n",
530       "<path fill=\"none\" stroke=\"black\" d=\"M7810.11,-6995.96C8125.96,-6967.42 8208.07,-6989.68 8521,-6978 8818.04,-6966.91 8893.98,-6981.38 9189,-6945 9191.85,-6944.65 9194.73,-6944.27 9197.62,-6943.87\"/>\n",
531       "<polygon fill=\"black\" stroke=\"black\" points=\"7799.73,-6996.91 7809.28,-6991.52 7804.71,-6996.45 7809.69,-6996 7809.69,-6996 7809.69,-6996 7804.71,-6996.45 7810.1,-7000.48 7799.73,-6996.91 7799.73,-6996.91\"/>\n",
532       "</g>\n",
533       "<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape6 -->\n",
534       "<g id=\"edge12\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape6</title>\n",
535       "<path fill=\"none\" stroke=\"black\" d=\"M7809.77,-6996.02C8039.25,-6977.18 8565.9,-6985.02 8778,-6978 9086.18,-6967.8 9164.94,-6982.47 9471,-6945 9473.85,-6944.65 9476.73,-6944.28 9479.62,-6943.88\"/>\n",
536       "<polygon fill=\"black\" stroke=\"black\" points=\"7799.73,-6996.88 7809.31,-6991.54 7804.71,-6996.45 7809.69,-6996.03 7809.69,-6996.03 7809.69,-6996.03 7804.71,-6996.45 7810.08,-7000.51 7799.73,-6996.88 7799.73,-6996.88\"/>\n",
537       "</g>\n",
538       "<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape7 -->\n",
539       "<g id=\"edge13\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape7</title>\n",
540       "<path fill=\"none\" stroke=\"black\" d=\"M7809.83,-6996.01C8098.49,-6972.58 8772.87,-6986.28 9044,-6978 9359.31,-6968.37 9439.86,-6983.16 9753,-6945 9755.85,-6944.65 9758.73,-6944.28 9761.62,-6943.89\"/>\n",
541       "<polygon fill=\"black\" stroke=\"black\" points=\"7799.73,-6996.86 7809.32,-6991.54 7804.71,-6996.44 7809.69,-6996.02 7809.69,-6996.02 7809.69,-6996.02 7804.71,-6996.44 7810.07,-7000.51 7799.73,-6996.86 7799.73,-6996.86\"/>\n",
542       "</g>\n",
543       "<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape8 -->\n",
544       "<g id=\"edge14\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape8</title>\n",
545       "<path fill=\"none\" stroke=\"black\" d=\"M7458.48,-7019.26C7132.54,-7010.31 6445.32,-6990.67 6207,-6978 6008.96,-6967.47 5958.52,-6971.7 5762,-6945 5759.03,-6944.6 5756.03,-6944.17 5753.01,-6943.72\"/>\n",
546       "<polygon fill=\"black\" stroke=\"black\" points=\"7468.49,-7019.54 7458.37,-7023.76 7463.49,-7019.4 7458.49,-7019.26 7458.49,-7019.26 7458.49,-7019.26 7463.49,-7019.4 7458.62,-7014.76 7468.49,-7019.54 7468.49,-7019.54\"/>\n",
547       "</g>\n",
548       "<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape9 -->\n",
549       "<g id=\"edge15\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape9</title>\n",
550       "<path fill=\"none\" stroke=\"black\" d=\"M7458.17,-7018.53C7235.85,-7011.22 6841.38,-6996.96 6504,-6978 6299.35,-6966.5 6247.14,-6972.35 6044,-6945 6041.03,-6944.6 6038.03,-6944.18 6035.01,-6943.73\"/>\n",
551       "<polygon fill=\"black\" stroke=\"black\" points=\"7468.3,-7018.86 7458.15,-7023.03 7463.3,-7018.7 7458.3,-7018.53 7458.3,-7018.53 7458.3,-7018.53 7463.3,-7018.7 7458.45,-7014.03 7468.3,-7018.86 7468.3,-7018.86\"/>\n",
552       "</g>\n",
553       "<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape10 -->\n",
554       "<g id=\"edge16\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape10</title>\n",
555       "<path fill=\"none\" stroke=\"black\" d=\"M7458.16,-7021.34C7207.41,-7015.73 6733.15,-6998.38 6333,-6945 6330.22,-6944.63 6327.42,-6944.24 6324.6,-6943.83\"/>\n",
556       "<polygon fill=\"black\" stroke=\"black\" points=\"7468.45,-7021.57 7458.36,-7025.84 7463.46,-7021.46 7458.46,-7021.35 7458.46,-7021.35 7458.46,-7021.35 7463.46,-7021.46 7458.56,-7016.85 7468.45,-7021.57 7468.45,-7021.57\"/>\n",
557       "</g>\n",
558       "<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape11 -->\n",
559       "<g id=\"edge17\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape11</title>\n",
560       "<path fill=\"none\" stroke=\"black\" d=\"M7458.23,-7016.29C7256.05,-7006.03 6914.46,-6984.41 6623,-6945 6619.95,-6944.59 6616.87,-6944.15 6613.76,-6943.7\"/>\n",
561       "<polygon fill=\"black\" stroke=\"black\" points=\"7468.34,-7016.8 7458.13,-7020.79 7463.35,-7016.55 7458.36,-7016.3 7458.36,-7016.3 7458.36,-7016.3 7463.35,-7016.55 7458.58,-7011.8 7468.34,-7016.8 7468.34,-7016.8\"/>\n",
562       "</g>\n",
563       "<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape12 -->\n",
564       "<g id=\"edge18\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape12</title>\n",
565       "<path fill=\"none\" stroke=\"black\" d=\"M7458.27,-7008.82C7311.75,-6995.2 7097.72,-6973.04 6912,-6945 6908.96,-6944.54 6905.88,-6944.06 6902.78,-6943.57\"/>\n",
566       "<polygon fill=\"black\" stroke=\"black\" points=\"7468.26,-7009.75 7457.89,-7013.31 7463.28,-7009.29 7458.3,-7008.83 7458.3,-7008.83 7458.3,-7008.83 7463.28,-7009.29 7458.72,-7004.34 7468.26,-7009.75 7468.26,-7009.75\"/>\n",
567       "</g>\n",
568       "<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape13 -->\n",
569       "<g id=\"edge19\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape13</title>\n",
570       "<path fill=\"none\" stroke=\"black\" d=\"M7467.86,-6994.1C7387.26,-6979.49 7289.05,-6961.53 7201,-6945 7197.98,-6944.43 7194.92,-6943.86 7191.83,-6943.27\"/>\n",
571       "<polygon fill=\"black\" stroke=\"black\" points=\"7478.11,-6995.96 7467.46,-6998.6 7473.19,-6995.07 7468.27,-6994.17 7468.27,-6994.17 7468.27,-6994.17 7473.19,-6995.07 7469.07,-6989.75 7478.11,-6995.96 7478.11,-6995.96\"/>\n",
572       "</g>\n",
573       "<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape14 -->\n",
574       "<g id=\"edge20\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape14</title>\n",
575       "<path fill=\"none\" stroke=\"black\" d=\"M7548.47,-6992.33C7507.92,-6977.32 7459.88,-6959.54 7420.67,-6945.02\"/>\n",
576       "<polygon fill=\"black\" stroke=\"black\" points=\"7558.07,-6995.89 7547.13,-6996.63 7553.38,-6994.15 7548.69,-6992.41 7548.69,-6992.41 7548.69,-6992.41 7553.38,-6994.15 7550.25,-6988.19 7558.07,-6995.89 7558.07,-6995.89\"/>\n",
577       "</g>\n",
578       "<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape15 -->\n",
579       "<g id=\"edge21\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape15</title>\n",
580       "<path fill=\"none\" stroke=\"black\" d=\"M7634,-6985.58C7634,-6972.28 7634,-6957.63 7634,-6945.3\"/>\n",
581       "<polygon fill=\"black\" stroke=\"black\" points=\"7634,-6995.89 7629.5,-6985.89 7634,-6990.89 7634,-6985.89 7634,-6985.89 7634,-6985.89 7634,-6990.89 7638.5,-6985.89 7634,-6995.89 7634,-6995.89\"/>\n",
582       "</g>\n",
583       "<!-- dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_0 -->\n",
584       "<g id=\"node25\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_0</title>\n",
585       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"8260.5,-7054 7817.5,-7054 7817.5,-6996 8260.5,-6996 8260.5,-7054\"/>\n",
586       "<text text-anchor=\"middle\" x=\"8039\" y=\"-7021.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_0</text>\n",
587       "</g>\n",
588       "<!-- dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_1 -->\n",
589       "<g id=\"node26\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_1</title>\n",
590       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"6406.5,-7054 5963.5,-7054 5963.5,-6996 6406.5,-6996 6406.5,-7054\"/>\n",
591       "<text text-anchor=\"middle\" x=\"6185\" y=\"-7021.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_1</text>\n",
592       "</g>\n",
593       "<!-- dssmrecommendernetwork0_lstm0_rnn0 -->\n",
594       "<g id=\"node27\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_rnn0</title>\n",
595       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"6663.5,-7163 6422.5,-7163 6422.5,-7105 6663.5,-7105 6663.5,-7163\"/>\n",
596       "<text text-anchor=\"middle\" x=\"6543\" y=\"-7130.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_rnn0</text>\n",
597       "</g>\n",
598       "<!-- dssmrecommendernetwork0_lstm0_rnn0&#45;&gt;dssmrecommendernetwork0_transpose0 -->\n",
599       "<g id=\"edge22\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0_rnn0&#45;&gt;dssmrecommendernetwork0_transpose0</title>\n",
600       "<path fill=\"none\" stroke=\"black\" d=\"M6543,-7094.58C6543,-7081.28 6543,-7066.63 6543,-7054.3\"/>\n",
601       "<polygon fill=\"black\" stroke=\"black\" points=\"6543,-7104.89 6538.5,-7094.89 6543,-7099.89 6543,-7094.89 6543,-7094.89 6543,-7094.89 6543,-7099.89 6547.5,-7094.89 6543,-7104.89 6543,-7104.89\"/>\n",
602       "<text text-anchor=\"middle\" x=\"6560\" y=\"-7075.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x128</text>\n",
603       "</g>\n",
604       "<!-- dssmrecommendernetwork0_lstm0_rnn0&#45;&gt;dssmrecommendernetwork0_lstm0__rnn_param_concat0 -->\n",
605       "<g id=\"edge23\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0_rnn0&#45;&gt;dssmrecommendernetwork0_lstm0__rnn_param_concat0</title>\n",
606       "<path fill=\"none\" stroke=\"black\" d=\"M6673.87,-7120.16C6872.73,-7100.66 7250.81,-7063.58 7468.48,-7042.23\"/>\n",
607       "<polygon fill=\"black\" stroke=\"black\" points=\"6663.66,-7121.17 6673.18,-7115.71 6668.64,-7120.68 6673.61,-7120.19 6673.61,-7120.19 6673.61,-7120.19 6668.64,-7120.68 6674.05,-7124.67 6663.66,-7121.17 6663.66,-7121.17\"/>\n",
608       "</g>\n",
609       "<!-- dssmrecommendernetwork0_lstm0_rnn0&#45;&gt;dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_0 -->\n",
610       "<g id=\"edge24\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0_rnn0&#45;&gt;dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_0</title>\n",
611       "<path fill=\"none\" stroke=\"black\" d=\"M6673.7,-7127.38C6903.6,-7116.94 7395.2,-7092.06 7809,-7054 7811.8,-7053.74 7814.63,-7053.48 7817.46,-7053.21\"/>\n",
612       "<polygon fill=\"black\" stroke=\"black\" points=\"6663.63,-7127.84 6673.41,-7122.89 6668.62,-7127.61 6673.62,-7127.39 6673.62,-7127.39 6673.62,-7127.39 6668.62,-7127.61 6673.82,-7131.88 6663.63,-7127.84 6663.63,-7127.84\"/>\n",
613       "<text text-anchor=\"middle\" x=\"7584\" y=\"-7075.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x128</text>\n",
614       "</g>\n",
615       "<!-- dssmrecommendernetwork0_lstm0_rnn0&#45;&gt;dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_1 -->\n",
616       "<g id=\"edge25\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0_rnn0&#45;&gt;dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_1</title>\n",
617       "<path fill=\"none\" stroke=\"black\" d=\"M6439.27,-7102C6388.57,-7086.84 6328.03,-7068.75 6278.74,-7054.02\"/>\n",
618       "<polygon fill=\"black\" stroke=\"black\" points=\"6448.94,-7104.89 6438.07,-7106.33 6444.15,-7103.46 6439.36,-7102.02 6439.36,-7102.02 6439.36,-7102.02 6444.15,-7103.46 6440.65,-7097.71 6448.94,-7104.89 6448.94,-7104.89\"/>\n",
619       "<text text-anchor=\"middle\" x=\"6403\" y=\"-7075.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x128</text>\n",
620       "</g>\n",
621       "<!-- dssmrecommendernetwork0_mean0 -->\n",
622       "<g id=\"node28\" class=\"node\"><title>dssmrecommendernetwork0_mean0</title>\n",
623       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"6650.5,-7272 6435.5,-7272 6435.5,-7214 6650.5,-7214 6650.5,-7272\"/>\n",
624       "<text text-anchor=\"middle\" x=\"6543\" y=\"-7239.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_mean0</text>\n",
625       "</g>\n",
626       "<!-- dssmrecommendernetwork0_mean0&#45;&gt;dssmrecommendernetwork0_lstm0_rnn0 -->\n",
627       "<g id=\"edge26\" class=\"edge\"><title>dssmrecommendernetwork0_mean0&#45;&gt;dssmrecommendernetwork0_lstm0_rnn0</title>\n",
628       "<path fill=\"none\" stroke=\"black\" d=\"M6543,-7203.58C6543,-7190.28 6543,-7175.63 6543,-7163.3\"/>\n",
629       "<polygon fill=\"black\" stroke=\"black\" points=\"6543,-7213.89 6538.5,-7203.89 6543,-7208.89 6543,-7203.89 6543,-7203.89 6543,-7203.89 6543,-7208.89 6547.5,-7203.89 6543,-7213.89 6543,-7213.89\"/>\n",
630       "<text text-anchor=\"middle\" x=\"6560\" y=\"-7184.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x256</text>\n",
631       "</g>\n",
632       "<!-- dssmrecommendernetwork0_dense1_fwd -->\n",
633       "<g id=\"node29\" class=\"node\"><title>dssmrecommendernetwork0_dense1_fwd</title>\n",
634       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"6523.5,-7381 6420.5,-7381 6420.5,-7323 6523.5,-7323 6523.5,-7381\"/>\n",
635       "<text text-anchor=\"middle\" x=\"6472\" y=\"-7355.8\" font-family=\"Times,serif\" font-size=\"14.00\">FullyConnected</text>\n",
636       "<text text-anchor=\"middle\" x=\"6472\" y=\"-7340.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
637       "</g>\n",
638       "<!-- dssmrecommendernetwork0_dense1_fwd&#45;&gt;dssmrecommendernetwork0_mean0 -->\n",
639       "<g id=\"edge27\" class=\"edge\"><title>dssmrecommendernetwork0_dense1_fwd&#45;&gt;dssmrecommendernetwork0_mean0</title>\n",
640       "<path fill=\"none\" stroke=\"black\" d=\"M6496.19,-7314.55C6505.35,-7300.74 6515.63,-7285.24 6524.22,-7272.3\"/>\n",
641       "<polygon fill=\"black\" stroke=\"black\" points=\"6490.65,-7322.89 6492.43,-7312.07 6493.42,-7318.72 6496.18,-7314.55 6496.18,-7314.55 6496.18,-7314.55 6493.42,-7318.72 6499.93,-7317.04 6490.65,-7322.89 6490.65,-7322.89\"/>\n",
642       "<text text-anchor=\"middle\" x=\"6521.5\" y=\"-7293.8\" font-family=\"Times,serif\" font-size=\"14.00\">256</text>\n",
643       "</g>\n",
644       "<!-- dssmrecommendernetwork0_dense1_relu_fwd -->\n",
645       "<g id=\"node30\" class=\"node\"><title>dssmrecommendernetwork0_dense1_relu_fwd</title>\n",
646       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"6443,-7490 6349,-7490 6349,-7432 6443,-7432 6443,-7490\"/>\n",
647       "<text text-anchor=\"middle\" x=\"6396\" y=\"-7464.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
648       "<text text-anchor=\"middle\" x=\"6396\" y=\"-7449.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
649       "</g>\n",
650       "<!-- dssmrecommendernetwork0_dense1_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense1_fwd -->\n",
651       "<g id=\"edge28\" class=\"edge\"><title>dssmrecommendernetwork0_dense1_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense1_fwd</title>\n",
652       "<path fill=\"none\" stroke=\"black\" d=\"M6421.89,-7423.55C6431.7,-7409.74 6442.71,-7394.24 6451.9,-7381.3\"/>\n",
653       "<polygon fill=\"black\" stroke=\"black\" points=\"6415.97,-7431.89 6418.09,-7421.13 6418.86,-7427.81 6421.76,-7423.73 6421.76,-7423.73 6421.76,-7423.73 6418.86,-7427.81 6425.43,-7426.34 6415.97,-7431.89 6415.97,-7431.89\"/>\n",
654       "<text text-anchor=\"middle\" x=\"6449.5\" y=\"-7402.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
655       "</g>\n",
656       "<!-- dssmrecommendernetwork0_concat0 -->\n",
657       "<g id=\"node31\" class=\"node\"><title>dssmrecommendernetwork0_concat0</title>\n",
658       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"6390.5,-7599 6169.5,-7599 6169.5,-7541 6390.5,-7541 6390.5,-7599\"/>\n",
659       "<text text-anchor=\"middle\" x=\"6280\" y=\"-7566.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_concat0</text>\n",
660       "</g>\n",
661       "<!-- dssmrecommendernetwork0_concat0&#45;&gt;dssmrecommendernetwork0_dense0_relu_fwd -->\n",
662       "<g id=\"edge29\" class=\"edge\"><title>dssmrecommendernetwork0_concat0&#45;&gt;dssmrecommendernetwork0_dense0_relu_fwd</title>\n",
663       "<path fill=\"none\" stroke=\"black\" d=\"M6280,-7530.58C6280,-7517.28 6280,-7502.63 6280,-7490.3\"/>\n",
664       "<polygon fill=\"black\" stroke=\"black\" points=\"6280,-7540.89 6275.5,-7530.89 6280,-7535.89 6280,-7530.89 6280,-7530.89 6280,-7530.89 6280,-7535.89 6284.5,-7530.89 6280,-7540.89 6280,-7540.89\"/>\n",
665       "<text text-anchor=\"middle\" x=\"6290.5\" y=\"-7511.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
666       "</g>\n",
667       "<!-- dssmrecommendernetwork0_concat0&#45;&gt;dssmrecommendernetwork0_dense1_relu_fwd -->\n",
668       "<g id=\"edge30\" class=\"edge\"><title>dssmrecommendernetwork0_concat0&#45;&gt;dssmrecommendernetwork0_dense1_relu_fwd</title>\n",
669       "<path fill=\"none\" stroke=\"black\" d=\"M6317.83,-7534.1C6333.21,-7519.91 6350.76,-7503.73 6365.32,-7490.3\"/>\n",
670       "<polygon fill=\"black\" stroke=\"black\" points=\"6310.48,-7540.89 6314.78,-7530.8 6314.15,-7537.5 6317.83,-7534.11 6317.83,-7534.11 6317.83,-7534.11 6314.15,-7537.5 6320.88,-7537.41 6310.48,-7540.89 6310.48,-7540.89\"/>\n",
671       "<text text-anchor=\"middle\" x=\"6355.5\" y=\"-7511.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
672       "</g>\n",
673       "<!-- dssmrecommendernetwork0_dropout0_fwd -->\n",
674       "<g id=\"node32\" class=\"node\"><title>dssmrecommendernetwork0_dropout0_fwd</title>\n",
675       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"6407.5,-7708 6152.5,-7708 6152.5,-7650 6407.5,-7650 6407.5,-7708\"/>\n",
676       "<text text-anchor=\"middle\" x=\"6280\" y=\"-7675.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_dropout0_fwd</text>\n",
677       "</g>\n",
678       "<!-- dssmrecommendernetwork0_dropout0_fwd&#45;&gt;dssmrecommendernetwork0_concat0 -->\n",
679       "<g id=\"edge31\" class=\"edge\"><title>dssmrecommendernetwork0_dropout0_fwd&#45;&gt;dssmrecommendernetwork0_concat0</title>\n",
680       "<path fill=\"none\" stroke=\"black\" d=\"M6280,-7639.58C6280,-7626.28 6280,-7611.63 6280,-7599.3\"/>\n",
681       "<polygon fill=\"black\" stroke=\"black\" points=\"6280,-7649.89 6275.5,-7639.89 6280,-7644.89 6280,-7639.89 6280,-7639.89 6280,-7639.89 6280,-7644.89 6284.5,-7639.89 6280,-7649.89 6280,-7649.89\"/>\n",
682       "<text text-anchor=\"middle\" x=\"6290.5\" y=\"-7620.8\" font-family=\"Times,serif\" font-size=\"14.00\">256</text>\n",
683       "</g>\n",
684       "<!-- dssmrecommendernetwork0_dense2_fwd -->\n",
685       "<g id=\"node33\" class=\"node\"><title>dssmrecommendernetwork0_dense2_fwd</title>\n",
686       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"6327.5,-7817 6224.5,-7817 6224.5,-7759 6327.5,-7759 6327.5,-7817\"/>\n",
687       "<text text-anchor=\"middle\" x=\"6276\" y=\"-7791.8\" font-family=\"Times,serif\" font-size=\"14.00\">FullyConnected</text>\n",
688       "<text text-anchor=\"middle\" x=\"6276\" y=\"-7776.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
689       "</g>\n",
690       "<!-- dssmrecommendernetwork0_dense2_fwd&#45;&gt;dssmrecommendernetwork0_dropout0_fwd -->\n",
691       "<g id=\"edge32\" class=\"edge\"><title>dssmrecommendernetwork0_dense2_fwd&#45;&gt;dssmrecommendernetwork0_dropout0_fwd</title>\n",
692       "<path fill=\"none\" stroke=\"black\" d=\"M6277.44,-7748.58C6277.93,-7735.28 6278.48,-7720.63 6278.94,-7708.3\"/>\n",
693       "<polygon fill=\"black\" stroke=\"black\" points=\"6277.05,-7758.89 6272.93,-7748.73 6277.24,-7753.89 6277.42,-7748.89 6277.42,-7748.89 6277.42,-7748.89 6277.24,-7753.89 6281.92,-7749.06 6277.05,-7758.89 6277.05,-7758.89\"/>\n",
694       "<text text-anchor=\"middle\" x=\"6289.5\" y=\"-7729.8\" font-family=\"Times,serif\" font-size=\"14.00\">256</text>\n",
695       "</g>\n",
696       "<!-- dssmrecommendernetwork0_dense2_relu_fwd -->\n",
697       "<g id=\"node34\" class=\"node\"><title>dssmrecommendernetwork0_dense2_relu_fwd</title>\n",
698       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"6262,-7926 6168,-7926 6168,-7868 6262,-7868 6262,-7926\"/>\n",
699       "<text text-anchor=\"middle\" x=\"6215\" y=\"-7900.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
700       "<text text-anchor=\"middle\" x=\"6215\" y=\"-7885.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
701       "</g>\n",
702       "<!-- dssmrecommendernetwork0_dense2_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense2_fwd -->\n",
703       "<g id=\"edge33\" class=\"edge\"><title>dssmrecommendernetwork0_dense2_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense2_fwd</title>\n",
704       "<path fill=\"none\" stroke=\"black\" d=\"M6236,-7859.16C6243.82,-7845.45 6252.56,-7830.12 6259.87,-7817.3\"/>\n",
705       "<polygon fill=\"black\" stroke=\"black\" points=\"6231.03,-7867.89 6232.07,-7856.97 6233.5,-7863.54 6235.98,-7859.2 6235.98,-7859.2 6235.98,-7859.2 6233.5,-7863.54 6239.89,-7861.43 6231.03,-7867.89 6231.03,-7867.89\"/>\n",
706       "<text text-anchor=\"middle\" x=\"6260.5\" y=\"-7838.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
707       "</g>\n",
708       "<!-- dssmrecommendernetwork0_expand_dims0 -->\n",
709       "<g id=\"node35\" class=\"node\"><title>dssmrecommendernetwork0_expand_dims0</title>\n",
710       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5753,-8035 5495,-8035 5495,-7977 5753,-7977 5753,-8035\"/>\n",
711       "<text text-anchor=\"middle\" x=\"5624\" y=\"-8002.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_expand_dims0</text>\n",
712       "</g>\n",
713       "<!-- dssmrecommendernetwork0_expand_dims0&#45;&gt;dssmrecommendernetwork0_dense2_relu_fwd -->\n",
714       "<g id=\"edge34\" class=\"edge\"><title>dssmrecommendernetwork0_expand_dims0&#45;&gt;dssmrecommendernetwork0_dense2_relu_fwd</title>\n",
715       "<path fill=\"none\" stroke=\"black\" d=\"M5763.4,-7979.76C5893.78,-7956.16 6081.01,-7922.26 6167.67,-7906.57\"/>\n",
716       "<polygon fill=\"black\" stroke=\"black\" points=\"5753.33,-7981.58 5762.37,-7975.37 5758.25,-7980.69 5763.17,-7979.8 5763.17,-7979.8 5763.17,-7979.8 5758.25,-7980.69 5763.97,-7984.23 5753.33,-7981.58 5753.33,-7981.58\"/>\n",
717       "<text text-anchor=\"middle\" x=\"5965.5\" y=\"-7947.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
718       "</g>\n",
719       "<!-- title -->\n",
720       "<g id=\"node36\" class=\"node\"><title>title</title>\n",
721       "<ellipse fill=\"#8dd3c7\" stroke=\"black\" cx=\"137\" cy=\"-6807\" rx=\"47\" ry=\"29\"/>\n",
722       "<text text-anchor=\"middle\" x=\"137\" y=\"-6803.3\" font-family=\"Times,serif\" font-size=\"14.00\">title</text>\n",
723       "</g>\n",
724       "<!-- dssmrecommendernetwork0_embedding2_fwd -->\n",
725       "<g id=\"node37\" class=\"node\"><title>dssmrecommendernetwork0_embedding2_fwd</title>\n",
726       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"274,-6945 0,-6945 0,-6887 274,-6887 274,-6945\"/>\n",
727       "<text text-anchor=\"middle\" x=\"137\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_embedding2_fwd</text>\n",
728       "</g>\n",
729       "<!-- dssmrecommendernetwork0_embedding2_fwd&#45;&gt;title -->\n",
730       "<g id=\"edge35\" class=\"edge\"><title>dssmrecommendernetwork0_embedding2_fwd&#45;&gt;title</title>\n",
731       "<path fill=\"none\" stroke=\"black\" d=\"M137,-6876.58C137,-6863.28 137,-6848.63 137,-6836.3\"/>\n",
732       "<polygon fill=\"black\" stroke=\"black\" points=\"137,-6886.89 132.5,-6876.89 137,-6881.89 137,-6876.89 137,-6876.89 137,-6876.89 137,-6881.89 141.5,-6876.89 137,-6886.89 137,-6886.89\"/>\n",
733       "<text text-anchor=\"middle\" x=\"144\" y=\"-6857.8\" font-family=\"Times,serif\" font-size=\"14.00\">30</text>\n",
734       "</g>\n",
735       "<!-- dssmrecommendernetwork0_transpose1 -->\n",
736       "<g id=\"node38\" class=\"node\"><title>dssmrecommendernetwork0_transpose1</title>\n",
737       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"2391,-7054 2155,-7054 2155,-6996 2391,-6996 2391,-7054\"/>\n",
738       "<text text-anchor=\"middle\" x=\"2273\" y=\"-7021.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_transpose1</text>\n",
739       "</g>\n",
740       "<!-- dssmrecommendernetwork0_transpose1&#45;&gt;dssmrecommendernetwork0_embedding2_fwd -->\n",
741       "<g id=\"edge36\" class=\"edge\"><title>dssmrecommendernetwork0_transpose1&#45;&gt;dssmrecommendernetwork0_embedding2_fwd</title>\n",
742       "<path fill=\"none\" stroke=\"black\" d=\"M2145.31,-6996.03C2145.2,-6996.02 2145.1,-6996.01 2145,-6996 1948.91,-6973.8 564.584,-7004.29 369,-6978 319.882,-6971.4 266.298,-6957.75 223.013,-6945.04\"/>\n",
743       "<polygon fill=\"black\" stroke=\"black\" points=\"2154.94,-6997.25 2144.45,-7000.46 2149.97,-6996.62 2145.01,-6996 2145.01,-6996 2145.01,-6996 2149.97,-6996.62 2145.58,-6991.53 2154.94,-6997.25 2154.94,-6997.25\"/>\n",
744       "<text text-anchor=\"middle\" x=\"389.5\" y=\"-6966.8\" font-family=\"Times,serif\" font-size=\"14.00\">30x128</text>\n",
745       "</g>\n",
746       "<!-- dssmrecommendernetwork0_lstm1_reshape0 -->\n",
747       "<g id=\"node39\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape0</title>\n",
748       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"3137,-6945 2873,-6945 2873,-6887 3137,-6887 3137,-6945\"/>\n",
749       "<text text-anchor=\"middle\" x=\"3005\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape0</text>\n",
750       "</g>\n",
751       "<!-- dssmrecommendernetwork0_lstm1_reshape1 -->\n",
752       "<g id=\"node40\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape1</title>\n",
753       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"3419,-6945 3155,-6945 3155,-6887 3419,-6887 3419,-6945\"/>\n",
754       "<text text-anchor=\"middle\" x=\"3287\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape1</text>\n",
755       "</g>\n",
756       "<!-- dssmrecommendernetwork0_lstm1_reshape2 -->\n",
757       "<g id=\"node41\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape2</title>\n",
758       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"3701,-6945 3437,-6945 3437,-6887 3701,-6887 3701,-6945\"/>\n",
759       "<text text-anchor=\"middle\" x=\"3569\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape2</text>\n",
760       "</g>\n",
761       "<!-- dssmrecommendernetwork0_lstm1_reshape3 -->\n",
762       "<g id=\"node42\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape3</title>\n",
763       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"3983,-6945 3719,-6945 3719,-6887 3983,-6887 3983,-6945\"/>\n",
764       "<text text-anchor=\"middle\" x=\"3851\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape3</text>\n",
765       "</g>\n",
766       "<!-- dssmrecommendernetwork0_lstm1_reshape4 -->\n",
767       "<g id=\"node43\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape4</title>\n",
768       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"4265,-6945 4001,-6945 4001,-6887 4265,-6887 4265,-6945\"/>\n",
769       "<text text-anchor=\"middle\" x=\"4133\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape4</text>\n",
770       "</g>\n",
771       "<!-- dssmrecommendernetwork0_lstm1_reshape5 -->\n",
772       "<g id=\"node44\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape5</title>\n",
773       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"4547,-6945 4283,-6945 4283,-6887 4547,-6887 4547,-6945\"/>\n",
774       "<text text-anchor=\"middle\" x=\"4415\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape5</text>\n",
775       "</g>\n",
776       "<!-- dssmrecommendernetwork0_lstm1_reshape6 -->\n",
777       "<g id=\"node45\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape6</title>\n",
778       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"4829,-6945 4565,-6945 4565,-6887 4829,-6887 4829,-6945\"/>\n",
779       "<text text-anchor=\"middle\" x=\"4697\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape6</text>\n",
780       "</g>\n",
781       "<!-- dssmrecommendernetwork0_lstm1_reshape7 -->\n",
782       "<g id=\"node46\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape7</title>\n",
783       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"556,-6945 292,-6945 292,-6887 556,-6887 556,-6945\"/>\n",
784       "<text text-anchor=\"middle\" x=\"424\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape7</text>\n",
785       "</g>\n",
786       "<!-- dssmrecommendernetwork0_lstm1_reshape8 -->\n",
787       "<g id=\"node47\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape8</title>\n",
788       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"838,-6945 574,-6945 574,-6887 838,-6887 838,-6945\"/>\n",
789       "<text text-anchor=\"middle\" x=\"706\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape8</text>\n",
790       "</g>\n",
791       "<!-- dssmrecommendernetwork0_lstm1_reshape9 -->\n",
792       "<g id=\"node48\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape9</title>\n",
793       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"1120,-6945 856,-6945 856,-6887 1120,-6887 1120,-6945\"/>\n",
794       "<text text-anchor=\"middle\" x=\"988\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape9</text>\n",
795       "</g>\n",
796       "<!-- dssmrecommendernetwork0_lstm1_reshape10 -->\n",
797       "<g id=\"node49\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape10</title>\n",
798       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"1409.5,-6945 1138.5,-6945 1138.5,-6887 1409.5,-6887 1409.5,-6945\"/>\n",
799       "<text text-anchor=\"middle\" x=\"1274\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape10</text>\n",
800       "</g>\n",
801       "<!-- dssmrecommendernetwork0_lstm1_reshape11 -->\n",
802       "<g id=\"node50\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape11</title>\n",
803       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"1698.5,-6945 1427.5,-6945 1427.5,-6887 1698.5,-6887 1698.5,-6945\"/>\n",
804       "<text text-anchor=\"middle\" x=\"1563\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape11</text>\n",
805       "</g>\n",
806       "<!-- dssmrecommendernetwork0_lstm1_reshape12 -->\n",
807       "<g id=\"node51\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape12</title>\n",
808       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"1987.5,-6945 1716.5,-6945 1716.5,-6887 1987.5,-6887 1987.5,-6945\"/>\n",
809       "<text text-anchor=\"middle\" x=\"1852\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape12</text>\n",
810       "</g>\n",
811       "<!-- dssmrecommendernetwork0_lstm1_reshape13 -->\n",
812       "<g id=\"node52\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape13</title>\n",
813       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"2276.5,-6945 2005.5,-6945 2005.5,-6887 2276.5,-6887 2276.5,-6945\"/>\n",
814       "<text text-anchor=\"middle\" x=\"2141\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape13</text>\n",
815       "</g>\n",
816       "<!-- dssmrecommendernetwork0_lstm1_reshape14 -->\n",
817       "<g id=\"node53\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape14</title>\n",
818       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"2565.5,-6945 2294.5,-6945 2294.5,-6887 2565.5,-6887 2565.5,-6945\"/>\n",
819       "<text text-anchor=\"middle\" x=\"2430\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape14</text>\n",
820       "</g>\n",
821       "<!-- dssmrecommendernetwork0_lstm1_reshape15 -->\n",
822       "<g id=\"node54\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape15</title>\n",
823       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"2854.5,-6945 2583.5,-6945 2583.5,-6887 2854.5,-6887 2854.5,-6945\"/>\n",
824       "<text text-anchor=\"middle\" x=\"2719\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape15</text>\n",
825       "</g>\n",
826       "<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0 -->\n",
827       "<g id=\"node55\" class=\"node\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0</title>\n",
828       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"2740.5,-7054 2409.5,-7054 2409.5,-6996 2740.5,-6996 2740.5,-7054\"/>\n",
829       "<text text-anchor=\"middle\" x=\"2575\" y=\"-7021.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1__rnn_param_concat0</text>\n",
830       "</g>\n",
831       "<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape0 -->\n",
832       "<g id=\"edge37\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape0</title>\n",
833       "<path fill=\"none\" stroke=\"black\" d=\"M2697.42,-6993.54C2758.7,-6978.29 2832.38,-6959.95 2892.26,-6945.05\"/>\n",
834       "<polygon fill=\"black\" stroke=\"black\" points=\"2687.7,-6995.96 2696.31,-6989.18 2692.55,-6994.75 2697.4,-6993.54 2697.4,-6993.54 2697.4,-6993.54 2692.55,-6994.75 2698.49,-6997.91 2687.7,-6995.96 2687.7,-6995.96\"/>\n",
835       "</g>\n",
836       "<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape1 -->\n",
837       "<g id=\"edge38\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape1</title>\n",
838       "<path fill=\"none\" stroke=\"black\" d=\"M2750.88,-6995.75C2926.79,-6970.64 2973.69,-6973.14 3146,-6945 3148.96,-6944.52 3151.94,-6944.02 3154.96,-6943.51\"/>\n",
839       "<polygon fill=\"black\" stroke=\"black\" points=\"2740.76,-6997.2 2750.02,-6991.33 2745.71,-6996.49 2750.66,-6995.78 2750.66,-6995.78 2750.66,-6995.78 2745.71,-6996.49 2751.3,-7000.23 2740.76,-6997.2 2740.76,-6997.2\"/>\n",
840       "</g>\n",
841       "<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape2 -->\n",
842       "<g id=\"edge39\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape2</title>\n",
843       "<path fill=\"none\" stroke=\"black\" d=\"M2750.76,-6995.86C2914.72,-6977.77 3281.15,-6965.02 3428,-6945 3430.97,-6944.6 3433.97,-6944.17 3436.99,-6943.72\"/>\n",
844       "<polygon fill=\"black\" stroke=\"black\" points=\"2740.73,-6997 2750.16,-6991.4 2745.7,-6996.43 2750.67,-6995.87 2750.67,-6995.87 2750.67,-6995.87 2745.7,-6996.43 2751.18,-7000.34 2740.73,-6997 2740.73,-6997\"/>\n",
845       "</g>\n",
846       "<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape3 -->\n",
847       "<g id=\"edge40\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape3</title>\n",
848       "<path fill=\"none\" stroke=\"black\" d=\"M2751.12,-6995.83C2914.07,-6979.24 2957.39,-6986.39 3118,-6978 3381.16,-6964.25 3448.56,-6978.08 3710,-6945 3712.97,-6944.62 3715.97,-6944.22 3719,-6943.8\"/>\n",
849       "<polygon fill=\"black\" stroke=\"black\" points=\"2740.72,-6996.9 2750.21,-6991.4 2745.69,-6996.39 2750.67,-6995.87 2750.67,-6995.87 2750.67,-6995.87 2745.69,-6996.39 2751.13,-7000.35 2740.72,-6996.9 2740.72,-6996.9\"/>\n",
850       "</g>\n",
851       "<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape4 -->\n",
852       "<g id=\"edge41\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape4</title>\n",
853       "<path fill=\"none\" stroke=\"black\" d=\"M2750.85,-6995.88C3010.99,-6971.62 3079.07,-6988.44 3337,-6978 3628.24,-6966.21 3702.73,-6980.82 3992,-6945 3994.85,-6944.65 3997.73,-6944.27 4000.62,-6943.87\"/>\n",
854       "<polygon fill=\"black\" stroke=\"black\" points=\"2740.71,-6996.83 2750.25,-6991.41 2745.69,-6996.36 2750.67,-6995.89 2750.67,-6995.89 2750.67,-6995.89 2745.69,-6996.36 2751.09,-7000.37 2740.71,-6996.83 2740.71,-6996.83\"/>\n",
855       "</g>\n",
856       "<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape5 -->\n",
857       "<g id=\"edge42\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape5</title>\n",
858       "<path fill=\"none\" stroke=\"black\" d=\"M2750.68,-6995.9C3123.03,-6962.72 3219.65,-6990.89 3590,-6978 3894.17,-6967.41 3971.91,-6982.08 4274,-6945 4276.85,-6944.65 4279.73,-6944.28 4282.62,-6943.88\"/>\n",
859       "<polygon fill=\"black\" stroke=\"black\" points=\"2740.71,-6996.8 2750.27,-6991.42 2745.69,-6996.35 2750.67,-6995.9 2750.67,-6995.9 2750.67,-6995.9 2745.69,-6996.35 2751.07,-7000.38 2740.71,-6996.8 2740.71,-6996.8\"/>\n",
860       "</g>\n",
861       "<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape6 -->\n",
862       "<g id=\"edge43\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape6</title>\n",
863       "<path fill=\"none\" stroke=\"black\" d=\"M2750.9,-6995.91C3009.79,-6974.73 3611.77,-6985.66 3854,-6978 4166.19,-6968.12 4245.96,-6982.86 4556,-6945 4558.85,-6944.65 4561.73,-6944.28 4564.62,-6943.88\"/>\n",
864       "<polygon fill=\"black\" stroke=\"black\" points=\"2740.71,-6996.78 2750.29,-6991.45 2745.69,-6996.35 2750.67,-6995.93 2750.67,-6995.93 2750.67,-6995.93 2745.69,-6996.35 2751.05,-7000.41 2740.71,-6996.78 2740.71,-6996.78\"/>\n",
865       "</g>\n",
866       "<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape7 -->\n",
867       "<g id=\"edge44\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape7</title>\n",
868       "<path fill=\"none\" stroke=\"black\" d=\"M2398.85,-6995.99C2074.02,-6969.88 1309.84,-6991.52 1003,-6978 807.971,-6969.4 758.426,-6971.39 565,-6945 562.033,-6944.6 559.034,-6944.17 556.013,-6943.72\"/>\n",
869       "<polygon fill=\"black\" stroke=\"black\" points=\"2409.27,-6996.85 2398.93,-7000.51 2404.29,-6996.44 2399.31,-6996.03 2399.31,-6996.03 2399.31,-6996.03 2404.29,-6996.44 2399.68,-6991.54 2409.27,-6996.85 2409.27,-6996.85\"/>\n",
870       "</g>\n",
871       "<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape8 -->\n",
872       "<g id=\"edge45\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape8</title>\n",
873       "<path fill=\"none\" stroke=\"black\" d=\"M2398.98,-6996C2137.55,-6974.81 1531.63,-6989.08 1288,-6978 1091.65,-6969.07 1041.75,-6971.52 847,-6945 844.033,-6944.6 841.033,-6944.17 838.012,-6943.72\"/>\n",
874       "<polygon fill=\"black\" stroke=\"black\" points=\"2409.27,-6996.87 2398.93,-7000.51 2404.29,-6996.45 2399.31,-6996.03 2399.31,-6996.03 2399.31,-6996.03 2404.29,-6996.45 2399.68,-6991.54 2409.27,-6996.87 2409.27,-6996.87\"/>\n",
875       "</g>\n",
876       "<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape9 -->\n",
877       "<g id=\"edge46\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape9</title>\n",
878       "<path fill=\"none\" stroke=\"black\" d=\"M2399.22,-6995.99C2034.36,-6963.64 1939.71,-6995.24 1578,-6978 1378.13,-6968.47 1327.28,-6971.87 1129,-6945 1126.03,-6944.6 1123.03,-6944.17 1120.01,-6943.73\"/>\n",
879       "<polygon fill=\"black\" stroke=\"black\" points=\"2409.27,-6996.89 2398.91,-7000.48 2404.29,-6996.45 2399.31,-6996 2399.31,-6996 2399.31,-6996 2404.29,-6996.45 2399.71,-6991.52 2409.27,-6996.89 2409.27,-6996.89\"/>\n",
880       "</g>\n",
881       "<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape10 -->\n",
882       "<g id=\"edge47\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape10</title>\n",
883       "<path fill=\"none\" stroke=\"black\" d=\"M2399.01,-6995.97C2163.67,-6973.82 2102.02,-6990.41 1870,-6978 1668.86,-6967.25 1617.66,-6971.6 1418,-6945 1415.22,-6944.63 1412.42,-6944.24 1409.59,-6943.83\"/>\n",
884       "<polygon fill=\"black\" stroke=\"black\" points=\"2409.26,-6996.94 2398.88,-7000.47 2404.29,-6996.47 2399.31,-6995.99 2399.31,-6995.99 2399.31,-6995.99 2404.29,-6996.47 2399.74,-6991.51 2409.26,-6996.94 2409.26,-6996.94\"/>\n",
885       "</g>\n",
886       "<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape11 -->\n",
887       "<g id=\"edge48\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape11</title>\n",
888       "<path fill=\"none\" stroke=\"black\" d=\"M2399.1,-6995.95C2276.58,-6982.54 2243.94,-6986.59 2125,-6978 1939.13,-6964.58 1891.65,-6970.16 1707,-6945 1704.22,-6944.62 1701.42,-6944.22 1698.6,-6943.81\"/>\n",
889       "<polygon fill=\"black\" stroke=\"black\" points=\"2409.25,-6997.08 2398.81,-7000.45 2404.28,-6996.53 2399.31,-6995.97 2399.31,-6995.97 2399.31,-6995.97 2404.28,-6996.53 2399.81,-6991.5 2409.25,-6997.08 2409.25,-6997.08\"/>\n",
890       "</g>\n",
891       "<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape12 -->\n",
892       "<g id=\"edge49\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape12</title>\n",
893       "<path fill=\"none\" stroke=\"black\" d=\"M2399.15,-6995.9C2219.13,-6970.47 2171.47,-6973.1 1996,-6945 1993.23,-6944.56 1990.44,-6944.1 1987.62,-6943.63\"/>\n",
894       "<polygon fill=\"black\" stroke=\"black\" points=\"2409.22,-6997.33 2398.68,-7000.38 2404.27,-6996.63 2399.32,-6995.92 2399.32,-6995.92 2399.32,-6995.92 2404.27,-6996.63 2399.95,-6991.47 2409.22,-6997.33 2409.22,-6997.33\"/>\n",
895       "</g>\n",
896       "<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape13 -->\n",
897       "<g id=\"edge50\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape13</title>\n",
898       "<path fill=\"none\" stroke=\"black\" d=\"M2451.44,-6993.54C2389.59,-6978.29 2315.23,-6959.95 2254.79,-6945.05\"/>\n",
899       "<polygon fill=\"black\" stroke=\"black\" points=\"2461.26,-6995.96 2450.47,-6997.93 2456.4,-6994.76 2451.55,-6993.56 2451.55,-6993.56 2451.55,-6993.56 2456.4,-6994.76 2452.62,-6989.19 2461.26,-6995.96 2461.26,-6995.96\"/>\n",
900       "</g>\n",
901       "<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape14 -->\n",
902       "<g id=\"edge51\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape14</title>\n",
903       "<path fill=\"none\" stroke=\"black\" d=\"M2528.72,-6989.85C2509.17,-6975.42 2486.67,-6958.82 2468.09,-6945.11\"/>\n",
904       "<polygon fill=\"black\" stroke=\"black\" points=\"2536.9,-6995.89 2526.18,-6993.57 2532.88,-6992.92 2528.86,-6989.95 2528.86,-6989.95 2528.86,-6989.95 2532.88,-6992.92 2531.53,-6986.33 2536.9,-6995.89 2536.9,-6995.89\"/>\n",
905       "</g>\n",
906       "<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape15 -->\n",
907       "<g id=\"edge52\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape15</title>\n",
908       "<path fill=\"none\" stroke=\"black\" d=\"M2620.93,-6989.87C2640.27,-6975.5 2662.51,-6958.98 2680.92,-6945.3\"/>\n",
909       "<polygon fill=\"black\" stroke=\"black\" points=\"2612.83,-6995.89 2618.18,-6986.31 2616.85,-6992.9 2620.86,-6989.92 2620.86,-6989.92 2620.86,-6989.92 2616.85,-6992.9 2623.54,-6993.53 2612.83,-6995.89 2612.83,-6995.89\"/>\n",
910       "</g>\n",
911       "<!-- dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_0 -->\n",
912       "<g id=\"node56\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_0</title>\n",
913       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"3201.5,-7054 2758.5,-7054 2758.5,-6996 3201.5,-6996 3201.5,-7054\"/>\n",
914       "<text text-anchor=\"middle\" x=\"2980\" y=\"-7021.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_0</text>\n",
915       "</g>\n",
916       "<!-- dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_1 -->\n",
917       "<g id=\"node57\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_1</title>\n",
918       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"2136.5,-7054 1693.5,-7054 1693.5,-6996 2136.5,-6996 2136.5,-7054\"/>\n",
919       "<text text-anchor=\"middle\" x=\"1915\" y=\"-7021.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_1</text>\n",
920       "</g>\n",
921       "<!-- dssmrecommendernetwork0_lstm1_rnn0 -->\n",
922       "<g id=\"node58\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_rnn0</title>\n",
923       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"2695.5,-7163 2454.5,-7163 2454.5,-7105 2695.5,-7105 2695.5,-7163\"/>\n",
924       "<text text-anchor=\"middle\" x=\"2575\" y=\"-7130.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_rnn0</text>\n",
925       "</g>\n",
926       "<!-- dssmrecommendernetwork0_lstm1_rnn0&#45;&gt;dssmrecommendernetwork0_transpose1 -->\n",
927       "<g id=\"edge53\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1_rnn0&#45;&gt;dssmrecommendernetwork0_transpose1</title>\n",
928       "<path fill=\"none\" stroke=\"black\" d=\"M2486.16,-7101.52C2443.67,-7086.47 2393.23,-7068.6 2352.08,-7054.02\"/>\n",
929       "<polygon fill=\"black\" stroke=\"black\" points=\"2495.65,-7104.89 2484.72,-7105.79 2490.94,-7103.22 2486.23,-7101.55 2486.23,-7101.55 2486.23,-7101.55 2490.94,-7103.22 2487.73,-7097.31 2495.65,-7104.89 2495.65,-7104.89\"/>\n",
930       "<text text-anchor=\"middle\" x=\"2460\" y=\"-7075.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x128</text>\n",
931       "</g>\n",
932       "<!-- dssmrecommendernetwork0_lstm1_rnn0&#45;&gt;dssmrecommendernetwork0_lstm1__rnn_param_concat0 -->\n",
933       "<g id=\"edge54\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1_rnn0&#45;&gt;dssmrecommendernetwork0_lstm1__rnn_param_concat0</title>\n",
934       "<path fill=\"none\" stroke=\"black\" d=\"M2575,-7094.58C2575,-7081.28 2575,-7066.63 2575,-7054.3\"/>\n",
935       "<polygon fill=\"black\" stroke=\"black\" points=\"2575,-7104.89 2570.5,-7094.89 2575,-7099.89 2575,-7094.89 2575,-7094.89 2575,-7094.89 2575,-7099.89 2579.5,-7094.89 2575,-7104.89 2575,-7104.89\"/>\n",
936       "</g>\n",
937       "<!-- dssmrecommendernetwork0_lstm1_rnn0&#45;&gt;dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_0 -->\n",
938       "<g id=\"edge55\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1_rnn0&#45;&gt;dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_0</title>\n",
939       "<path fill=\"none\" stroke=\"black\" d=\"M2691.02,-7102.35C2748.59,-7087.14 2817.65,-7068.89 2873.82,-7054.05\"/>\n",
940       "<polygon fill=\"black\" stroke=\"black\" points=\"2681.14,-7104.96 2689.66,-7098.05 2685.98,-7103.68 2690.81,-7102.4 2690.81,-7102.4 2690.81,-7102.4 2685.98,-7103.68 2691.96,-7106.75 2681.14,-7104.96 2681.14,-7104.96\"/>\n",
941       "<text text-anchor=\"middle\" x=\"2819\" y=\"-7075.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x128</text>\n",
942       "</g>\n",
943       "<!-- dssmrecommendernetwork0_lstm1_rnn0&#45;&gt;dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_1 -->\n",
944       "<g id=\"edge56\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1_rnn0&#45;&gt;dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_1</title>\n",
945       "<path fill=\"none\" stroke=\"black\" d=\"M2444.27,-7111.81C2342.22,-7095.26 2199.52,-7072.13 2088,-7054.05\"/>\n",
946       "<polygon fill=\"black\" stroke=\"black\" points=\"2454.33,-7113.44 2443.74,-7116.28 2449.39,-7112.64 2444.46,-7111.84 2444.46,-7111.84 2444.46,-7111.84 2449.39,-7112.64 2445.18,-7107.39 2454.33,-7113.44 2454.33,-7113.44\"/>\n",
947       "<text text-anchor=\"middle\" x=\"2302\" y=\"-7075.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x128</text>\n",
948       "</g>\n",
949       "<!-- dssmrecommendernetwork0_mean1 -->\n",
950       "<g id=\"node59\" class=\"node\"><title>dssmrecommendernetwork0_mean1</title>\n",
951       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"4330.5,-7272 4115.5,-7272 4115.5,-7214 4330.5,-7214 4330.5,-7272\"/>\n",
952       "<text text-anchor=\"middle\" x=\"4223\" y=\"-7239.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_mean1</text>\n",
953       "</g>\n",
954       "<!-- dssmrecommendernetwork0_mean1&#45;&gt;dssmrecommendernetwork0_lstm1_rnn0 -->\n",
955       "<g id=\"edge57\" class=\"edge\"><title>dssmrecommendernetwork0_mean1&#45;&gt;dssmrecommendernetwork0_lstm1_rnn0</title>\n",
956       "<path fill=\"none\" stroke=\"black\" d=\"M4105.07,-7234.34C3802.54,-7214.7 3001.26,-7162.68 2695.7,-7142.84\"/>\n",
957       "<polygon fill=\"black\" stroke=\"black\" points=\"4115.19,-7235 4104.92,-7238.84 4110.2,-7234.68 4105.21,-7234.35 4105.21,-7234.35 4105.21,-7234.35 4110.2,-7234.68 4105.5,-7229.86 4115.19,-7235 4115.19,-7235\"/>\n",
958       "<text text-anchor=\"middle\" x=\"3515\" y=\"-7184.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x256</text>\n",
959       "</g>\n",
960       "<!-- dssmrecommendernetwork0_dense3_fwd -->\n",
961       "<g id=\"node60\" class=\"node\"><title>dssmrecommendernetwork0_dense3_fwd</title>\n",
962       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"4859.5,-7381 4756.5,-7381 4756.5,-7323 4859.5,-7323 4859.5,-7381\"/>\n",
963       "<text text-anchor=\"middle\" x=\"4808\" y=\"-7355.8\" font-family=\"Times,serif\" font-size=\"14.00\">FullyConnected</text>\n",
964       "<text text-anchor=\"middle\" x=\"4808\" y=\"-7340.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
965       "</g>\n",
966       "<!-- dssmrecommendernetwork0_dense3_fwd&#45;&gt;dssmrecommendernetwork0_mean1 -->\n",
967       "<g id=\"edge58\" class=\"edge\"><title>dssmrecommendernetwork0_dense3_fwd&#45;&gt;dssmrecommendernetwork0_mean1</title>\n",
968       "<path fill=\"none\" stroke=\"black\" d=\"M4746.22,-7339.7C4647.46,-7321.64 4452.75,-7286.02 4330.71,-7263.7\"/>\n",
969       "<polygon fill=\"black\" stroke=\"black\" points=\"4756.34,-7341.55 4745.7,-7344.18 4751.42,-7340.65 4746.5,-7339.75 4746.5,-7339.75 4746.5,-7339.75 4751.42,-7340.65 4747.31,-7335.33 4756.34,-7341.55 4756.34,-7341.55\"/>\n",
970       "<text text-anchor=\"middle\" x=\"4561.5\" y=\"-7293.8\" font-family=\"Times,serif\" font-size=\"14.00\">256</text>\n",
971       "</g>\n",
972       "<!-- dssmrecommendernetwork0_dense3_relu_fwd -->\n",
973       "<g id=\"node61\" class=\"node\"><title>dssmrecommendernetwork0_dense3_relu_fwd</title>\n",
974       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"4944,-7490 4850,-7490 4850,-7432 4944,-7432 4944,-7490\"/>\n",
975       "<text text-anchor=\"middle\" x=\"4897\" y=\"-7464.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
976       "<text text-anchor=\"middle\" x=\"4897\" y=\"-7449.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
977       "</g>\n",
978       "<!-- dssmrecommendernetwork0_dense3_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense3_fwd -->\n",
979       "<g id=\"edge59\" class=\"edge\"><title>dssmrecommendernetwork0_dense3_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense3_fwd</title>\n",
980       "<path fill=\"none\" stroke=\"black\" d=\"M4867,-7423.94C4855.44,-7410.03 4842.41,-7394.36 4831.54,-7381.3\"/>\n",
981       "<polygon fill=\"black\" stroke=\"black\" points=\"4873.62,-7431.89 4863.76,-7427.08 4870.42,-7428.04 4867.22,-7424.2 4867.22,-7424.2 4867.22,-7424.2 4870.42,-7428.04 4870.68,-7421.32 4873.62,-7431.89 4873.62,-7431.89\"/>\n",
982       "<text text-anchor=\"middle\" x=\"4868.5\" y=\"-7402.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
983       "</g>\n",
984       "<!-- image -->\n",
985       "<g id=\"node62\" class=\"node\"><title>image</title>\n",
986       "<ellipse fill=\"#8dd3c7\" stroke=\"black\" cx=\"5166\" cy=\"-29\" rx=\"47\" ry=\"29\"/>\n",
987       "<text text-anchor=\"middle\" x=\"5166\" y=\"-25.3\" font-family=\"Times,serif\" font-size=\"14.00\">image</text>\n",
988       "</g>\n",
989       "<!-- dssmrecommendernetwork0_resnetv21_batchnorm0_fwd -->\n",
990       "<g id=\"node63\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_batchnorm0_fwd</title>\n",
991       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5331.5,-167 5000.5,-167 5000.5,-109 5331.5,-109 5331.5,-167\"/>\n",
992       "<text text-anchor=\"middle\" x=\"5166\" y=\"-134.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_batchnorm0_fwd</text>\n",
993       "</g>\n",
994       "<!-- dssmrecommendernetwork0_resnetv21_batchnorm0_fwd&#45;&gt;image -->\n",
995       "<g id=\"edge60\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_batchnorm0_fwd&#45;&gt;image</title>\n",
996       "<path fill=\"none\" stroke=\"black\" d=\"M5166,-98.5824C5166,-85.2841 5166,-70.632 5166,-58.2967\"/>\n",
997       "<polygon fill=\"black\" stroke=\"black\" points=\"5166,-108.887 5161.5,-98.887 5166,-103.887 5166,-98.887 5166,-98.887 5166,-98.887 5166,-103.887 5170.5,-98.8871 5166,-108.887 5166,-108.887\"/>\n",
998       "<text text-anchor=\"middle\" x=\"5196.5\" y=\"-79.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x224x224</text>\n",
999       "</g>\n",
1000       "<!-- dssmrecommendernetwork0_resnetv21_conv0_fwd -->\n",
1001       "<g id=\"node64\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_conv0_fwd</title>\n",
1002       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5213,-276 5119,-276 5119,-218 5213,-218 5213,-276\"/>\n",
1003       "<text text-anchor=\"middle\" x=\"5166\" y=\"-250.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1004       "<text text-anchor=\"middle\" x=\"5166\" y=\"-235.8\" font-family=\"Times,serif\" font-size=\"14.00\">7x7/2x2, 64</text>\n",
1005       "</g>\n",
1006       "<!-- dssmrecommendernetwork0_resnetv21_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_batchnorm0_fwd -->\n",
1007       "<g id=\"edge61\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_batchnorm0_fwd</title>\n",
1008       "<path fill=\"none\" stroke=\"black\" d=\"M5166,-207.582C5166,-194.284 5166,-179.632 5166,-167.297\"/>\n",
1009       "<polygon fill=\"black\" stroke=\"black\" points=\"5166,-217.887 5161.5,-207.887 5166,-212.887 5166,-207.887 5166,-207.887 5166,-207.887 5166,-212.887 5170.5,-207.887 5166,-217.887 5166,-217.887\"/>\n",
1010       "<text text-anchor=\"middle\" x=\"5196.5\" y=\"-188.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x224x224</text>\n",
1011       "</g>\n",
1012       "<!-- dssmrecommendernetwork0_resnetv21_batchnorm1_fwd -->\n",
1013       "<g id=\"node65\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_batchnorm1_fwd</title>\n",
1014       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5331.5,-385 5000.5,-385 5000.5,-327 5331.5,-327 5331.5,-385\"/>\n",
1015       "<text text-anchor=\"middle\" x=\"5166\" y=\"-352.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_batchnorm1_fwd</text>\n",
1016       "</g>\n",
1017       "<!-- dssmrecommendernetwork0_resnetv21_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_conv0_fwd -->\n",
1018       "<g id=\"edge62\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_conv0_fwd</title>\n",
1019       "<path fill=\"none\" stroke=\"black\" d=\"M5166,-316.582C5166,-303.284 5166,-288.632 5166,-276.297\"/>\n",
1020       "<polygon fill=\"black\" stroke=\"black\" points=\"5166,-326.887 5161.5,-316.887 5166,-321.887 5166,-316.887 5166,-316.887 5166,-316.887 5166,-321.887 5170.5,-316.887 5166,-326.887 5166,-326.887\"/>\n",
1021       "<text text-anchor=\"middle\" x=\"5200\" y=\"-297.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x112x112</text>\n",
1022       "</g>\n",
1023       "<!-- dssmrecommendernetwork0_resnetv21_relu0_fwd -->\n",
1024       "<g id=\"node66\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_relu0_fwd</title>\n",
1025       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5213,-494 5119,-494 5119,-436 5213,-436 5213,-494\"/>\n",
1026       "<text text-anchor=\"middle\" x=\"5166\" y=\"-468.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1027       "<text text-anchor=\"middle\" x=\"5166\" y=\"-453.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1028       "</g>\n",
1029       "<!-- dssmrecommendernetwork0_resnetv21_relu0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_batchnorm1_fwd -->\n",
1030       "<g id=\"edge63\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_relu0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_batchnorm1_fwd</title>\n",
1031       "<path fill=\"none\" stroke=\"black\" d=\"M5166,-425.582C5166,-412.284 5166,-397.632 5166,-385.297\"/>\n",
1032       "<polygon fill=\"black\" stroke=\"black\" points=\"5166,-435.887 5161.5,-425.887 5166,-430.887 5166,-425.887 5166,-425.887 5166,-425.887 5166,-430.887 5170.5,-425.887 5166,-435.887 5166,-435.887\"/>\n",
1033       "<text text-anchor=\"middle\" x=\"5200\" y=\"-406.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x112x112</text>\n",
1034       "</g>\n",
1035       "<!-- dssmrecommendernetwork0_resnetv21_pool0_fwd -->\n",
1036       "<g id=\"node67\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_pool0_fwd</title>\n",
1037       "<polygon fill=\"#80b1d3\" stroke=\"black\" points=\"5213,-603 5119,-603 5119,-545 5213,-545 5213,-603\"/>\n",
1038       "<text text-anchor=\"middle\" x=\"5166\" y=\"-577.8\" font-family=\"Times,serif\" font-size=\"14.00\">Pooling</text>\n",
1039       "<text text-anchor=\"middle\" x=\"5166\" y=\"-562.8\" font-family=\"Times,serif\" font-size=\"14.00\">max, 3x3/2x2</text>\n",
1040       "</g>\n",
1041       "<!-- dssmrecommendernetwork0_resnetv21_pool0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_relu0_fwd -->\n",
1042       "<g id=\"edge64\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_pool0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_relu0_fwd</title>\n",
1043       "<path fill=\"none\" stroke=\"black\" d=\"M5166,-534.582C5166,-521.284 5166,-506.632 5166,-494.297\"/>\n",
1044       "<polygon fill=\"black\" stroke=\"black\" points=\"5166,-544.887 5161.5,-534.887 5166,-539.887 5166,-534.887 5166,-534.887 5166,-534.887 5166,-539.887 5170.5,-534.887 5166,-544.887 5166,-544.887\"/>\n",
1045       "<text text-anchor=\"middle\" x=\"5200\" y=\"-515.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x112x112</text>\n",
1046       "</g>\n",
1047       "<!-- dssmrecommendernetwork0_resnetv21_stage1_batchnorm0_fwd -->\n",
1048       "<g id=\"node68\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_batchnorm0_fwd</title>\n",
1049       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5209,-712 4837,-712 4837,-654 5209,-654 5209,-712\"/>\n",
1050       "<text text-anchor=\"middle\" x=\"5023\" y=\"-679.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage1_batchnorm0_fwd</text>\n",
1051       "</g>\n",
1052       "<!-- dssmrecommendernetwork0_resnetv21_stage1_batchnorm0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_pool0_fwd -->\n",
1053       "<g id=\"edge65\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_batchnorm0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_pool0_fwd</title>\n",
1054       "<path fill=\"none\" stroke=\"black\" d=\"M5068.61,-647.874C5087.81,-633.503 5109.9,-616.975 5128.18,-603.297\"/>\n",
1055       "<polygon fill=\"black\" stroke=\"black\" points=\"5060.57,-653.887 5065.88,-644.293 5064.57,-650.891 5068.58,-647.896 5068.58,-647.896 5068.58,-647.896 5064.57,-650.891 5071.27,-651.499 5060.57,-653.887 5060.57,-653.887\"/>\n",
1056       "<text text-anchor=\"middle\" x=\"5131.5\" y=\"-624.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1057       "</g>\n",
1058       "<!-- dssmrecommendernetwork0_resnetv21_stage1_activation0 -->\n",
1059       "<g id=\"node69\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_activation0</title>\n",
1060       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5070,-821 4976,-821 4976,-763 5070,-763 5070,-821\"/>\n",
1061       "<text text-anchor=\"middle\" x=\"5023\" y=\"-795.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1062       "<text text-anchor=\"middle\" x=\"5023\" y=\"-780.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1063       "</g>\n",
1064       "<!-- dssmrecommendernetwork0_resnetv21_stage1_activation0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_batchnorm0_fwd -->\n",
1065       "<g id=\"edge66\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_activation0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_batchnorm0_fwd</title>\n",
1066       "<path fill=\"none\" stroke=\"black\" d=\"M5023,-752.582C5023,-739.284 5023,-724.632 5023,-712.297\"/>\n",
1067       "<polygon fill=\"black\" stroke=\"black\" points=\"5023,-762.887 5018.5,-752.887 5023,-757.887 5023,-752.887 5023,-752.887 5023,-752.887 5023,-757.887 5027.5,-752.887 5023,-762.887 5023,-762.887\"/>\n",
1068       "<text text-anchor=\"middle\" x=\"5050.5\" y=\"-733.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1069       "</g>\n",
1070       "<!-- dssmrecommendernetwork0_resnetv21_stage1_conv0_fwd -->\n",
1071       "<g id=\"node70\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_conv0_fwd</title>\n",
1072       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5070,-930 4976,-930 4976,-872 5070,-872 5070,-930\"/>\n",
1073       "<text text-anchor=\"middle\" x=\"5023\" y=\"-904.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1074       "<text text-anchor=\"middle\" x=\"5023\" y=\"-889.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 64</text>\n",
1075       "</g>\n",
1076       "<!-- dssmrecommendernetwork0_resnetv21_stage1_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_activation0 -->\n",
1077       "<g id=\"edge67\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_activation0</title>\n",
1078       "<path fill=\"none\" stroke=\"black\" d=\"M5023,-861.582C5023,-848.284 5023,-833.632 5023,-821.297\"/>\n",
1079       "<polygon fill=\"black\" stroke=\"black\" points=\"5023,-871.887 5018.5,-861.887 5023,-866.887 5023,-861.887 5023,-861.887 5023,-861.887 5023,-866.887 5027.5,-861.887 5023,-871.887 5023,-871.887\"/>\n",
1080       "<text text-anchor=\"middle\" x=\"5050.5\" y=\"-842.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1081       "</g>\n",
1082       "<!-- dssmrecommendernetwork0_resnetv21_stage1_batchnorm1_fwd -->\n",
1083       "<g id=\"node71\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_batchnorm1_fwd</title>\n",
1084       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5209,-1039 4837,-1039 4837,-981 5209,-981 5209,-1039\"/>\n",
1085       "<text text-anchor=\"middle\" x=\"5023\" y=\"-1006.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage1_batchnorm1_fwd</text>\n",
1086       "</g>\n",
1087       "<!-- dssmrecommendernetwork0_resnetv21_stage1_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_conv0_fwd -->\n",
1088       "<g id=\"edge68\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_conv0_fwd</title>\n",
1089       "<path fill=\"none\" stroke=\"black\" d=\"M5023,-970.582C5023,-957.284 5023,-942.632 5023,-930.297\"/>\n",
1090       "<polygon fill=\"black\" stroke=\"black\" points=\"5023,-980.887 5018.5,-970.887 5023,-975.887 5023,-970.887 5023,-970.887 5023,-970.887 5023,-975.887 5027.5,-970.887 5023,-980.887 5023,-980.887\"/>\n",
1091       "<text text-anchor=\"middle\" x=\"5050.5\" y=\"-951.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1092       "</g>\n",
1093       "<!-- dssmrecommendernetwork0_resnetv21_stage1_activation1 -->\n",
1094       "<g id=\"node72\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_activation1</title>\n",
1095       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5140,-1148 5046,-1148 5046,-1090 5140,-1090 5140,-1148\"/>\n",
1096       "<text text-anchor=\"middle\" x=\"5093\" y=\"-1122.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1097       "<text text-anchor=\"middle\" x=\"5093\" y=\"-1107.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1098       "</g>\n",
1099       "<!-- dssmrecommendernetwork0_resnetv21_stage1_activation1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_batchnorm1_fwd -->\n",
1100       "<g id=\"edge69\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_activation1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_batchnorm1_fwd</title>\n",
1101       "<path fill=\"none\" stroke=\"black\" d=\"M5068.9,-1081.16C5059.93,-1067.45 5049.9,-1052.12 5041.51,-1039.3\"/>\n",
1102       "<polygon fill=\"black\" stroke=\"black\" points=\"5074.61,-1089.89 5065.37,-1083.98 5071.87,-1085.7 5069.13,-1081.52 5069.13,-1081.52 5069.13,-1081.52 5071.87,-1085.7 5072.9,-1079.06 5074.61,-1089.89 5074.61,-1089.89\"/>\n",
1103       "<text text-anchor=\"middle\" x=\"5090.5\" y=\"-1060.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1104       "</g>\n",
1105       "<!-- dssmrecommendernetwork0_resnetv21_stage1_conv1_fwd -->\n",
1106       "<g id=\"node73\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_conv1_fwd</title>\n",
1107       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5209,-1257 5115,-1257 5115,-1199 5209,-1199 5209,-1257\"/>\n",
1108       "<text text-anchor=\"middle\" x=\"5162\" y=\"-1231.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1109       "<text text-anchor=\"middle\" x=\"5162\" y=\"-1216.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 64</text>\n",
1110       "</g>\n",
1111       "<!-- dssmrecommendernetwork0_resnetv21_stage1_conv1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_activation1 -->\n",
1112       "<g id=\"edge70\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_conv1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_activation1</title>\n",
1113       "<path fill=\"none\" stroke=\"black\" d=\"M5138.24,-1190.16C5129.4,-1176.45 5119.52,-1161.12 5111.25,-1148.3\"/>\n",
1114       "<polygon fill=\"black\" stroke=\"black\" points=\"5143.87,-1198.89 5134.67,-1192.92 5141.16,-1194.68 5138.45,-1190.48 5138.45,-1190.48 5138.45,-1190.48 5141.16,-1194.68 5142.23,-1188.04 5143.87,-1198.89 5143.87,-1198.89\"/>\n",
1115       "<text text-anchor=\"middle\" x=\"5159.5\" y=\"-1169.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1116       "</g>\n",
1117       "<!-- dssmrecommendernetwork0_resnetv21_stage1__plus0 -->\n",
1118       "<g id=\"node74\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1__plus0</title>\n",
1119       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5357.5,-1366 5042.5,-1366 5042.5,-1308 5357.5,-1308 5357.5,-1366\"/>\n",
1120       "<text text-anchor=\"middle\" x=\"5200\" y=\"-1333.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage1__plus0</text>\n",
1121       "</g>\n",
1122       "<!-- dssmrecommendernetwork0_resnetv21_stage1__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_pool0_fwd -->\n",
1123       "<g id=\"edge72\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_pool0_fwd</title>\n",
1124       "<path fill=\"none\" stroke=\"black\" d=\"M5219.67,-1298.74C5228.52,-1278.65 5237,-1253.1 5237,-1229 5237,-1229 5237,-1229 5237,-682 5237,-651.457 5216.67,-622.961 5197.76,-603.068\"/>\n",
1125       "<polygon fill=\"black\" stroke=\"black\" points=\"5215.48,-1307.85 5215.57,-1296.88 5217.57,-1303.31 5219.66,-1298.76 5219.66,-1298.76 5219.66,-1298.76 5217.57,-1303.31 5223.75,-1300.65 5215.48,-1307.85 5215.48,-1307.85\"/>\n",
1126       "<text text-anchor=\"middle\" x=\"5264.5\" y=\"-951.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1127       "</g>\n",
1128       "<!-- dssmrecommendernetwork0_resnetv21_stage1__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_conv1_fwd -->\n",
1129       "<g id=\"edge71\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_conv1_fwd</title>\n",
1130       "<path fill=\"none\" stroke=\"black\" d=\"M5172.05,-1299.09C5170.51,-1296.1 5169.13,-1293.06 5168,-1290 5164.21,-1279.71 5162.5,-1267.83 5161.81,-1257.3\"/>\n",
1131       "<polygon fill=\"black\" stroke=\"black\" points=\"5177.11,-1307.8 5168.2,-1301.41 5174.6,-1303.48 5172.09,-1299.16 5172.09,-1299.16 5172.09,-1299.16 5174.6,-1303.48 5175.98,-1296.9 5177.11,-1307.8 5177.11,-1307.8\"/>\n",
1132       "<text text-anchor=\"middle\" x=\"5195.5\" y=\"-1278.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1133       "</g>\n",
1134       "<!-- dssmrecommendernetwork0_resnetv21_stage1_batchnorm2_fwd -->\n",
1135       "<g id=\"node75\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_batchnorm2_fwd</title>\n",
1136       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5243,-1475 4871,-1475 4871,-1417 5243,-1417 5243,-1475\"/>\n",
1137       "<text text-anchor=\"middle\" x=\"5057\" y=\"-1442.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage1_batchnorm2_fwd</text>\n",
1138       "</g>\n",
1139       "<!-- dssmrecommendernetwork0_resnetv21_stage1_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1__plus0 -->\n",
1140       "<g id=\"edge73\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1__plus0</title>\n",
1141       "<path fill=\"none\" stroke=\"black\" d=\"M5102.61,-1410.87C5121.81,-1396.5 5143.9,-1379.98 5162.18,-1366.3\"/>\n",
1142       "<polygon fill=\"black\" stroke=\"black\" points=\"5094.57,-1416.89 5099.88,-1407.29 5098.57,-1413.89 5102.58,-1410.9 5102.58,-1410.9 5102.58,-1410.9 5098.57,-1413.89 5105.27,-1414.5 5094.57,-1416.89 5094.57,-1416.89\"/>\n",
1143       "<text text-anchor=\"middle\" x=\"5165.5\" y=\"-1387.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1144       "</g>\n",
1145       "<!-- dssmrecommendernetwork0_resnetv21_stage1_activation2 -->\n",
1146       "<g id=\"node76\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_activation2</title>\n",
1147       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5104,-1584 5010,-1584 5010,-1526 5104,-1526 5104,-1584\"/>\n",
1148       "<text text-anchor=\"middle\" x=\"5057\" y=\"-1558.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1149       "<text text-anchor=\"middle\" x=\"5057\" y=\"-1543.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1150       "</g>\n",
1151       "<!-- dssmrecommendernetwork0_resnetv21_stage1_activation2&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_batchnorm2_fwd -->\n",
1152       "<g id=\"edge74\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_activation2&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_batchnorm2_fwd</title>\n",
1153       "<path fill=\"none\" stroke=\"black\" d=\"M5057,-1515.58C5057,-1502.28 5057,-1487.63 5057,-1475.3\"/>\n",
1154       "<polygon fill=\"black\" stroke=\"black\" points=\"5057,-1525.89 5052.5,-1515.89 5057,-1520.89 5057,-1515.89 5057,-1515.89 5057,-1515.89 5057,-1520.89 5061.5,-1515.89 5057,-1525.89 5057,-1525.89\"/>\n",
1155       "<text text-anchor=\"middle\" x=\"5084.5\" y=\"-1496.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1156       "</g>\n",
1157       "<!-- dssmrecommendernetwork0_resnetv21_stage1_conv2_fwd -->\n",
1158       "<g id=\"node77\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_conv2_fwd</title>\n",
1159       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5104,-1693 5010,-1693 5010,-1635 5104,-1635 5104,-1693\"/>\n",
1160       "<text text-anchor=\"middle\" x=\"5057\" y=\"-1667.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1161       "<text text-anchor=\"middle\" x=\"5057\" y=\"-1652.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 64</text>\n",
1162       "</g>\n",
1163       "<!-- dssmrecommendernetwork0_resnetv21_stage1_conv2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_activation2 -->\n",
1164       "<g id=\"edge75\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_conv2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_activation2</title>\n",
1165       "<path fill=\"none\" stroke=\"black\" d=\"M5057,-1624.58C5057,-1611.28 5057,-1596.63 5057,-1584.3\"/>\n",
1166       "<polygon fill=\"black\" stroke=\"black\" points=\"5057,-1634.89 5052.5,-1624.89 5057,-1629.89 5057,-1624.89 5057,-1624.89 5057,-1624.89 5057,-1629.89 5061.5,-1624.89 5057,-1634.89 5057,-1634.89\"/>\n",
1167       "<text text-anchor=\"middle\" x=\"5084.5\" y=\"-1605.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1168       "</g>\n",
1169       "<!-- dssmrecommendernetwork0_resnetv21_stage1_batchnorm3_fwd -->\n",
1170       "<g id=\"node78\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_batchnorm3_fwd</title>\n",
1171       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5243,-1802 4871,-1802 4871,-1744 5243,-1744 5243,-1802\"/>\n",
1172       "<text text-anchor=\"middle\" x=\"5057\" y=\"-1769.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage1_batchnorm3_fwd</text>\n",
1173       "</g>\n",
1174       "<!-- dssmrecommendernetwork0_resnetv21_stage1_batchnorm3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_conv2_fwd -->\n",
1175       "<g id=\"edge76\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_batchnorm3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_conv2_fwd</title>\n",
1176       "<path fill=\"none\" stroke=\"black\" d=\"M5057,-1733.58C5057,-1720.28 5057,-1705.63 5057,-1693.3\"/>\n",
1177       "<polygon fill=\"black\" stroke=\"black\" points=\"5057,-1743.89 5052.5,-1733.89 5057,-1738.89 5057,-1733.89 5057,-1733.89 5057,-1733.89 5057,-1738.89 5061.5,-1733.89 5057,-1743.89 5057,-1743.89\"/>\n",
1178       "<text text-anchor=\"middle\" x=\"5084.5\" y=\"-1714.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1179       "</g>\n",
1180       "<!-- dssmrecommendernetwork0_resnetv21_stage1_activation3 -->\n",
1181       "<g id=\"node79\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_activation3</title>\n",
1182       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5174,-1911 5080,-1911 5080,-1853 5174,-1853 5174,-1911\"/>\n",
1183       "<text text-anchor=\"middle\" x=\"5127\" y=\"-1885.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1184       "<text text-anchor=\"middle\" x=\"5127\" y=\"-1870.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1185       "</g>\n",
1186       "<!-- dssmrecommendernetwork0_resnetv21_stage1_activation3&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_batchnorm3_fwd -->\n",
1187       "<g id=\"edge77\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_activation3&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_batchnorm3_fwd</title>\n",
1188       "<path fill=\"none\" stroke=\"black\" d=\"M5102.9,-1844.16C5093.93,-1830.45 5083.9,-1815.12 5075.51,-1802.3\"/>\n",
1189       "<polygon fill=\"black\" stroke=\"black\" points=\"5108.61,-1852.89 5099.37,-1846.98 5105.87,-1848.7 5103.13,-1844.52 5103.13,-1844.52 5103.13,-1844.52 5105.87,-1848.7 5106.9,-1842.06 5108.61,-1852.89 5108.61,-1852.89\"/>\n",
1190       "<text text-anchor=\"middle\" x=\"5124.5\" y=\"-1823.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1191       "</g>\n",
1192       "<!-- dssmrecommendernetwork0_resnetv21_stage1_conv3_fwd -->\n",
1193       "<g id=\"node80\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_conv3_fwd</title>\n",
1194       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5243,-2020 5149,-2020 5149,-1962 5243,-1962 5243,-2020\"/>\n",
1195       "<text text-anchor=\"middle\" x=\"5196\" y=\"-1994.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1196       "<text text-anchor=\"middle\" x=\"5196\" y=\"-1979.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 64</text>\n",
1197       "</g>\n",
1198       "<!-- dssmrecommendernetwork0_resnetv21_stage1_conv3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_activation3 -->\n",
1199       "<g id=\"edge78\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_conv3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_activation3</title>\n",
1200       "<path fill=\"none\" stroke=\"black\" d=\"M5172.24,-1953.16C5163.4,-1939.45 5153.52,-1924.12 5145.25,-1911.3\"/>\n",
1201       "<polygon fill=\"black\" stroke=\"black\" points=\"5177.87,-1961.89 5168.67,-1955.92 5175.16,-1957.68 5172.45,-1953.48 5172.45,-1953.48 5172.45,-1953.48 5175.16,-1957.68 5176.23,-1951.04 5177.87,-1961.89 5177.87,-1961.89\"/>\n",
1202       "<text text-anchor=\"middle\" x=\"5193.5\" y=\"-1932.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1203       "</g>\n",
1204       "<!-- dssmrecommendernetwork0_resnetv21_stage1__plus1 -->\n",
1205       "<g id=\"node81\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1__plus1</title>\n",
1206       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5392.5,-2129 5077.5,-2129 5077.5,-2071 5392.5,-2071 5392.5,-2129\"/>\n",
1207       "<text text-anchor=\"middle\" x=\"5235\" y=\"-2096.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage1__plus1</text>\n",
1208       "</g>\n",
1209       "<!-- dssmrecommendernetwork0_resnetv21_stage1__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1__plus0 -->\n",
1210       "<g id=\"edge80\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1__plus0</title>\n",
1211       "<path fill=\"none\" stroke=\"black\" d=\"M5254.26,-2061.41C5262.82,-2041.35 5271,-2015.92 5271,-1992 5271,-1992 5271,-1992 5271,-1445 5271,-1414.46 5250.67,-1385.96 5231.76,-1366.07\"/>\n",
1212       "<polygon fill=\"black\" stroke=\"black\" points=\"5250.06,-2070.8 5250.03,-2059.83 5252.1,-2066.24 5254.14,-2061.67 5254.14,-2061.67 5254.14,-2061.67 5252.1,-2066.24 5258.25,-2063.51 5250.06,-2070.8 5250.06,-2070.8\"/>\n",
1213       "<text text-anchor=\"middle\" x=\"5298.5\" y=\"-1714.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1214       "</g>\n",
1215       "<!-- dssmrecommendernetwork0_resnetv21_stage1__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_conv3_fwd -->\n",
1216       "<g id=\"edge79\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_conv3_fwd</title>\n",
1217       "<path fill=\"none\" stroke=\"black\" d=\"M5206.18,-2062.14C5204.58,-2059.14 5203.16,-2056.08 5202,-2053 5198.1,-2042.64 5196.38,-2030.63 5195.71,-2020.02\"/>\n",
1218       "<polygon fill=\"black\" stroke=\"black\" points=\"5211.39,-2070.88 5202.4,-2064.6 5208.83,-2066.59 5206.27,-2062.29 5206.27,-2062.29 5206.27,-2062.29 5208.83,-2066.59 5210.13,-2059.99 5211.39,-2070.88 5211.39,-2070.88\"/>\n",
1219       "<text text-anchor=\"middle\" x=\"5229.5\" y=\"-2041.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1220       "</g>\n",
1221       "<!-- dssmrecommendernetwork0_resnetv21_stage2_batchnorm0_fwd -->\n",
1222       "<g id=\"node82\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_batchnorm0_fwd</title>\n",
1223       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5421,-2238 5049,-2238 5049,-2180 5421,-2180 5421,-2238\"/>\n",
1224       "<text text-anchor=\"middle\" x=\"5235\" y=\"-2205.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage2_batchnorm0_fwd</text>\n",
1225       "</g>\n",
1226       "<!-- dssmrecommendernetwork0_resnetv21_stage2_batchnorm0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1__plus1 -->\n",
1227       "<g id=\"edge81\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_batchnorm0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1__plus1</title>\n",
1228       "<path fill=\"none\" stroke=\"black\" d=\"M5235,-2169.58C5235,-2156.28 5235,-2141.63 5235,-2129.3\"/>\n",
1229       "<polygon fill=\"black\" stroke=\"black\" points=\"5235,-2179.89 5230.5,-2169.89 5235,-2174.89 5235,-2169.89 5235,-2169.89 5235,-2169.89 5235,-2174.89 5239.5,-2169.89 5235,-2179.89 5235,-2179.89\"/>\n",
1230       "<text text-anchor=\"middle\" x=\"5262.5\" y=\"-2150.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1231       "</g>\n",
1232       "<!-- dssmrecommendernetwork0_resnetv21_stage2_activation0 -->\n",
1233       "<g id=\"node83\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_activation0</title>\n",
1234       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5282,-2347 5188,-2347 5188,-2289 5282,-2289 5282,-2347\"/>\n",
1235       "<text text-anchor=\"middle\" x=\"5235\" y=\"-2321.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1236       "<text text-anchor=\"middle\" x=\"5235\" y=\"-2306.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1237       "</g>\n",
1238       "<!-- dssmrecommendernetwork0_resnetv21_stage2_activation0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_batchnorm0_fwd -->\n",
1239       "<g id=\"edge82\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_activation0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_batchnorm0_fwd</title>\n",
1240       "<path fill=\"none\" stroke=\"black\" d=\"M5235,-2278.58C5235,-2265.28 5235,-2250.63 5235,-2238.3\"/>\n",
1241       "<polygon fill=\"black\" stroke=\"black\" points=\"5235,-2288.89 5230.5,-2278.89 5235,-2283.89 5235,-2278.89 5235,-2278.89 5235,-2278.89 5235,-2283.89 5239.5,-2278.89 5235,-2288.89 5235,-2288.89\"/>\n",
1242       "<text text-anchor=\"middle\" x=\"5262.5\" y=\"-2259.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1243       "</g>\n",
1244       "<!-- dssmrecommendernetwork0_resnetv21_stage2_conv0_fwd -->\n",
1245       "<g id=\"node84\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv0_fwd</title>\n",
1246       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5216,-2456 5122,-2456 5122,-2398 5216,-2398 5216,-2456\"/>\n",
1247       "<text text-anchor=\"middle\" x=\"5169\" y=\"-2430.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1248       "<text text-anchor=\"middle\" x=\"5169\" y=\"-2415.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/2x2, 128</text>\n",
1249       "</g>\n",
1250       "<!-- dssmrecommendernetwork0_resnetv21_stage2_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation0 -->\n",
1251       "<g id=\"edge83\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation0</title>\n",
1252       "<path fill=\"none\" stroke=\"black\" d=\"M5191.73,-2389.16C5200.18,-2375.45 5209.64,-2360.12 5217.55,-2347.3\"/>\n",
1253       "<polygon fill=\"black\" stroke=\"black\" points=\"5186.34,-2397.89 5187.76,-2387.01 5188.97,-2393.63 5191.59,-2389.38 5191.59,-2389.38 5191.59,-2389.38 5188.97,-2393.63 5195.42,-2391.74 5186.34,-2397.89 5186.34,-2397.89\"/>\n",
1254       "<text text-anchor=\"middle\" x=\"5233.5\" y=\"-2368.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1255       "</g>\n",
1256       "<!-- dssmrecommendernetwork0_resnetv21_stage2_batchnorm1_fwd -->\n",
1257       "<g id=\"node85\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_batchnorm1_fwd</title>\n",
1258       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5245,-2565 4873,-2565 4873,-2507 5245,-2507 5245,-2565\"/>\n",
1259       "<text text-anchor=\"middle\" x=\"5059\" y=\"-2532.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage2_batchnorm1_fwd</text>\n",
1260       "</g>\n",
1261       "<!-- dssmrecommendernetwork0_resnetv21_stage2_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv0_fwd -->\n",
1262       "<g id=\"edge84\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv0_fwd</title>\n",
1263       "<path fill=\"none\" stroke=\"black\" d=\"M5095.27,-2499.72C5109.76,-2485.62 5126.22,-2469.61 5139.91,-2456.3\"/>\n",
1264       "<polygon fill=\"black\" stroke=\"black\" points=\"5087.9,-2506.89 5091.93,-2496.69 5091.49,-2503.4 5095.07,-2499.91 5095.07,-2499.91 5095.07,-2499.91 5091.49,-2503.4 5098.21,-2503.14 5087.9,-2506.89 5087.9,-2506.89\"/>\n",
1265       "<text text-anchor=\"middle\" x=\"5151.5\" y=\"-2477.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n",
1266       "</g>\n",
1267       "<!-- dssmrecommendernetwork0_resnetv21_stage2_activation1 -->\n",
1268       "<g id=\"node86\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_activation1</title>\n",
1269       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5120,-2674 5026,-2674 5026,-2616 5120,-2616 5120,-2674\"/>\n",
1270       "<text text-anchor=\"middle\" x=\"5073\" y=\"-2648.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1271       "<text text-anchor=\"middle\" x=\"5073\" y=\"-2633.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1272       "</g>\n",
1273       "<!-- dssmrecommendernetwork0_resnetv21_stage2_activation1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_batchnorm1_fwd -->\n",
1274       "<g id=\"edge85\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_activation1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_batchnorm1_fwd</title>\n",
1275       "<path fill=\"none\" stroke=\"black\" d=\"M5067.97,-2605.58C5066.23,-2592.28 5064.32,-2577.63 5062.7,-2565.3\"/>\n",
1276       "<polygon fill=\"black\" stroke=\"black\" points=\"5069.32,-2615.89 5063.56,-2606.56 5068.67,-2610.93 5068.02,-2605.97 5068.02,-2605.97 5068.02,-2605.97 5068.67,-2610.93 5072.49,-2605.39 5069.32,-2615.89 5069.32,-2615.89\"/>\n",
1277       "<text text-anchor=\"middle\" x=\"5097.5\" y=\"-2586.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n",
1278       "</g>\n",
1279       "<!-- dssmrecommendernetwork0_resnetv21_stage2_conv1_fwd -->\n",
1280       "<g id=\"node87\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv1_fwd</title>\n",
1281       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5151,-2826 5057,-2826 5057,-2768 5151,-2768 5151,-2826\"/>\n",
1282       "<text text-anchor=\"middle\" x=\"5104\" y=\"-2800.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1283       "<text text-anchor=\"middle\" x=\"5104\" y=\"-2785.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 128</text>\n",
1284       "</g>\n",
1285       "<!-- dssmrecommendernetwork0_resnetv21_stage2_conv1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation1 -->\n",
1286       "<g id=\"edge86\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation1</title>\n",
1287       "<path fill=\"none\" stroke=\"black\" d=\"M5096.12,-2757.85C5090.72,-2731.75 5083.69,-2697.73 5078.8,-2674.09\"/>\n",
1288       "<polygon fill=\"black\" stroke=\"black\" points=\"5098.17,-2767.79 5091.74,-2758.9 5097.16,-2762.89 5096.15,-2757.99 5096.15,-2757.99 5096.15,-2757.99 5097.16,-2762.89 5100.55,-2757.08 5098.17,-2767.79 5098.17,-2767.79\"/>\n",
1289       "<text text-anchor=\"middle\" x=\"5124.5\" y=\"-2717.3\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n",
1290       "</g>\n",
1291       "<!-- dssmrecommendernetwork0_resnetv21_stage2_conv2_fwd -->\n",
1292       "<g id=\"node88\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv2_fwd</title>\n",
1293       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5314,-2750 5220,-2750 5220,-2692 5314,-2692 5314,-2750\"/>\n",
1294       "<text text-anchor=\"middle\" x=\"5267\" y=\"-2724.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1295       "<text text-anchor=\"middle\" x=\"5267\" y=\"-2709.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x1/2x2, 128</text>\n",
1296       "</g>\n",
1297       "<!-- dssmrecommendernetwork0_resnetv21_stage2_conv2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation0 -->\n",
1298       "<g id=\"edge87\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation0</title>\n",
1299       "<path fill=\"none\" stroke=\"black\" d=\"M5273.36,-2681.77C5277.06,-2656.27 5281,-2621.97 5281,-2591.5 5281,-2591.5 5281,-2591.5 5281,-2426 5281,-2397.97 5276.36,-2390.62 5265,-2365 5262.37,-2359.07 5259.02,-2353.05 5255.52,-2347.4\"/>\n",
1300       "<polygon fill=\"black\" stroke=\"black\" points=\"5271.86,-2691.77 5268.89,-2681.21 5272.6,-2686.82 5273.34,-2681.88 5273.34,-2681.88 5273.34,-2681.88 5272.6,-2686.82 5277.79,-2682.55 5271.86,-2691.77 5271.86,-2691.77\"/>\n",
1301       "<text text-anchor=\"middle\" x=\"5308.5\" y=\"-2532.3\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n",
1302       "</g>\n",
1303       "<!-- dssmrecommendernetwork0_resnetv21_stage2__plus0 -->\n",
1304       "<g id=\"node89\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2__plus0</title>\n",
1305       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5310.5,-2935 4995.5,-2935 4995.5,-2877 5310.5,-2877 5310.5,-2935\"/>\n",
1306       "<text text-anchor=\"middle\" x=\"5153\" y=\"-2902.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage2__plus0</text>\n",
1307       "</g>\n",
1308       "<!-- dssmrecommendernetwork0_resnetv21_stage2__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv1_fwd -->\n",
1309       "<g id=\"edge88\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv1_fwd</title>\n",
1310       "<path fill=\"none\" stroke=\"black\" d=\"M5130.45,-2867.91C5128.88,-2864.93 5127.38,-2861.93 5126,-2859 5121.08,-2848.5 5116.55,-2836.58 5112.91,-2826.07\"/>\n",
1311       "<polygon fill=\"black\" stroke=\"black\" points=\"5135.31,-2876.73 5126.55,-2870.14 5132.9,-2872.35 5130.49,-2867.97 5130.49,-2867.97 5130.49,-2867.97 5132.9,-2872.35 5134.43,-2865.8 5135.31,-2876.73 5135.31,-2876.73\"/>\n",
1312       "<text text-anchor=\"middle\" x=\"5156.5\" y=\"-2847.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n",
1313       "</g>\n",
1314       "<!-- dssmrecommendernetwork0_resnetv21_stage2__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv2_fwd -->\n",
1315       "<g id=\"edge89\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv2_fwd</title>\n",
1316       "<path fill=\"none\" stroke=\"black\" d=\"M5180.6,-2868.39C5182.81,-2865.24 5184.97,-2862.08 5187,-2859 5211.17,-2822.31 5236.28,-2778.16 5251.77,-2750.09\"/>\n",
1317       "<polygon fill=\"black\" stroke=\"black\" points=\"5174.71,-2876.63 5176.87,-2865.88 5177.62,-2872.56 5180.53,-2868.5 5180.53,-2868.5 5180.53,-2868.5 5177.62,-2872.56 5184.19,-2871.12 5174.71,-2876.63 5174.71,-2876.63\"/>\n",
1318       "<text text-anchor=\"middle\" x=\"5226.5\" y=\"-2847.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n",
1319       "</g>\n",
1320       "<!-- dssmrecommendernetwork0_resnetv21_stage2_batchnorm2_fwd -->\n",
1321       "<g id=\"node90\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_batchnorm2_fwd</title>\n",
1322       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5198,-3044 4826,-3044 4826,-2986 5198,-2986 5198,-3044\"/>\n",
1323       "<text text-anchor=\"middle\" x=\"5012\" y=\"-3011.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage2_batchnorm2_fwd</text>\n",
1324       "</g>\n",
1325       "<!-- dssmrecommendernetwork0_resnetv21_stage2_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2__plus0 -->\n",
1326       "<g id=\"edge90\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2__plus0</title>\n",
1327       "<path fill=\"none\" stroke=\"black\" d=\"M5057.22,-2979.68C5076.1,-2965.36 5097.77,-2948.91 5115.71,-2935.3\"/>\n",
1328       "<polygon fill=\"black\" stroke=\"black\" points=\"5049.05,-2985.89 5054.29,-2976.26 5053.03,-2982.86 5057.01,-2979.84 5057.01,-2979.84 5057.01,-2979.84 5053.03,-2982.86 5059.73,-2983.43 5049.05,-2985.89 5049.05,-2985.89\"/>\n",
1329       "<text text-anchor=\"middle\" x=\"5121.5\" y=\"-2956.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n",
1330       "</g>\n",
1331       "<!-- dssmrecommendernetwork0_resnetv21_stage2_activation2 -->\n",
1332       "<g id=\"node91\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_activation2</title>\n",
1333       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5059,-3153 4965,-3153 4965,-3095 5059,-3095 5059,-3153\"/>\n",
1334       "<text text-anchor=\"middle\" x=\"5012\" y=\"-3127.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1335       "<text text-anchor=\"middle\" x=\"5012\" y=\"-3112.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1336       "</g>\n",
1337       "<!-- dssmrecommendernetwork0_resnetv21_stage2_activation2&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_batchnorm2_fwd -->\n",
1338       "<g id=\"edge91\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_activation2&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_batchnorm2_fwd</title>\n",
1339       "<path fill=\"none\" stroke=\"black\" d=\"M5012,-3084.58C5012,-3071.28 5012,-3056.63 5012,-3044.3\"/>\n",
1340       "<polygon fill=\"black\" stroke=\"black\" points=\"5012,-3094.89 5007.5,-3084.89 5012,-3089.89 5012,-3084.89 5012,-3084.89 5012,-3084.89 5012,-3089.89 5016.5,-3084.89 5012,-3094.89 5012,-3094.89\"/>\n",
1341       "<text text-anchor=\"middle\" x=\"5042.5\" y=\"-3065.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n",
1342       "</g>\n",
1343       "<!-- dssmrecommendernetwork0_resnetv21_stage2_conv3_fwd -->\n",
1344       "<g id=\"node92\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv3_fwd</title>\n",
1345       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5059,-3262 4965,-3262 4965,-3204 5059,-3204 5059,-3262\"/>\n",
1346       "<text text-anchor=\"middle\" x=\"5012\" y=\"-3236.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1347       "<text text-anchor=\"middle\" x=\"5012\" y=\"-3221.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 128</text>\n",
1348       "</g>\n",
1349       "<!-- dssmrecommendernetwork0_resnetv21_stage2_conv3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation2 -->\n",
1350       "<g id=\"edge92\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation2</title>\n",
1351       "<path fill=\"none\" stroke=\"black\" d=\"M5012,-3193.58C5012,-3180.28 5012,-3165.63 5012,-3153.3\"/>\n",
1352       "<polygon fill=\"black\" stroke=\"black\" points=\"5012,-3203.89 5007.5,-3193.89 5012,-3198.89 5012,-3193.89 5012,-3193.89 5012,-3193.89 5012,-3198.89 5016.5,-3193.89 5012,-3203.89 5012,-3203.89\"/>\n",
1353       "<text text-anchor=\"middle\" x=\"5042.5\" y=\"-3174.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n",
1354       "</g>\n",
1355       "<!-- dssmrecommendernetwork0_resnetv21_stage2_batchnorm3_fwd -->\n",
1356       "<g id=\"node93\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_batchnorm3_fwd</title>\n",
1357       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5198,-3371 4826,-3371 4826,-3313 5198,-3313 5198,-3371\"/>\n",
1358       "<text text-anchor=\"middle\" x=\"5012\" y=\"-3338.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage2_batchnorm3_fwd</text>\n",
1359       "</g>\n",
1360       "<!-- dssmrecommendernetwork0_resnetv21_stage2_batchnorm3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv3_fwd -->\n",
1361       "<g id=\"edge93\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_batchnorm3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv3_fwd</title>\n",
1362       "<path fill=\"none\" stroke=\"black\" d=\"M5012,-3302.58C5012,-3289.28 5012,-3274.63 5012,-3262.3\"/>\n",
1363       "<polygon fill=\"black\" stroke=\"black\" points=\"5012,-3312.89 5007.5,-3302.89 5012,-3307.89 5012,-3302.89 5012,-3302.89 5012,-3302.89 5012,-3307.89 5016.5,-3302.89 5012,-3312.89 5012,-3312.89\"/>\n",
1364       "<text text-anchor=\"middle\" x=\"5042.5\" y=\"-3283.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n",
1365       "</g>\n",
1366       "<!-- dssmrecommendernetwork0_resnetv21_stage2_activation3 -->\n",
1367       "<g id=\"node94\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_activation3</title>\n",
1368       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5072,-3480 4978,-3480 4978,-3422 5072,-3422 5072,-3480\"/>\n",
1369       "<text text-anchor=\"middle\" x=\"5025\" y=\"-3454.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1370       "<text text-anchor=\"middle\" x=\"5025\" y=\"-3439.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1371       "</g>\n",
1372       "<!-- dssmrecommendernetwork0_resnetv21_stage2_activation3&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_batchnorm3_fwd -->\n",
1373       "<g id=\"edge94\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_activation3&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_batchnorm3_fwd</title>\n",
1374       "<path fill=\"none\" stroke=\"black\" d=\"M5020.33,-3411.58C5018.72,-3398.28 5016.94,-3383.63 5015.44,-3371.3\"/>\n",
1375       "<polygon fill=\"black\" stroke=\"black\" points=\"5021.58,-3421.89 5015.91,-3412.5 5020.98,-3416.92 5020.38,-3411.96 5020.38,-3411.96 5020.38,-3411.96 5020.98,-3416.92 5024.85,-3411.42 5021.58,-3421.89 5021.58,-3421.89\"/>\n",
1376       "<text text-anchor=\"middle\" x=\"5050.5\" y=\"-3392.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n",
1377       "</g>\n",
1378       "<!-- dssmrecommendernetwork0_resnetv21_stage2_conv4_fwd -->\n",
1379       "<g id=\"node95\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv4_fwd</title>\n",
1380       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5094,-3589 5000,-3589 5000,-3531 5094,-3531 5094,-3589\"/>\n",
1381       "<text text-anchor=\"middle\" x=\"5047\" y=\"-3563.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1382       "<text text-anchor=\"middle\" x=\"5047\" y=\"-3548.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 128</text>\n",
1383       "</g>\n",
1384       "<!-- dssmrecommendernetwork0_resnetv21_stage2_conv4_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation3 -->\n",
1385       "<g id=\"edge95\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv4_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation3</title>\n",
1386       "<path fill=\"none\" stroke=\"black\" d=\"M5039.18,-3520.98C5036.43,-3507.57 5033.38,-3492.75 5030.82,-3480.3\"/>\n",
1387       "<polygon fill=\"black\" stroke=\"black\" points=\"5041.22,-3530.89 5034.8,-3522 5040.21,-3525.99 5039.21,-3521.09 5039.21,-3521.09 5039.21,-3521.09 5040.21,-3525.99 5043.61,-3520.19 5041.22,-3530.89 5041.22,-3530.89\"/>\n",
1388       "<text text-anchor=\"middle\" x=\"5068.5\" y=\"-3501.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n",
1389       "</g>\n",
1390       "<!-- dssmrecommendernetwork0_resnetv21_stage2__plus1 -->\n",
1391       "<g id=\"node96\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2__plus1</title>\n",
1392       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5276.5,-3698 4961.5,-3698 4961.5,-3640 5276.5,-3640 5276.5,-3698\"/>\n",
1393       "<text text-anchor=\"middle\" x=\"5119\" y=\"-3665.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage2__plus1</text>\n",
1394       "</g>\n",
1395       "<!-- dssmrecommendernetwork0_resnetv21_stage2__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2__plus0 -->\n",
1396       "<g id=\"edge97\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2__plus0</title>\n",
1397       "<path fill=\"none\" stroke=\"black\" d=\"M5180.34,-3634.08C5204.24,-3616.06 5226,-3591.33 5226,-3561 5226,-3561 5226,-3561 5226,-3014 5226,-2983.42 5205.4,-2955.13 5186.08,-2935.33\"/>\n",
1398       "<polygon fill=\"black\" stroke=\"black\" points=\"5172.19,-3639.93 5177.69,-3630.45 5176.25,-3637.02 5180.31,-3634.11 5180.31,-3634.11 5180.31,-3634.11 5176.25,-3637.02 5182.94,-3637.76 5172.19,-3639.93 5172.19,-3639.93\"/>\n",
1399       "<text text-anchor=\"middle\" x=\"5256.5\" y=\"-3283.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n",
1400       "</g>\n",
1401       "<!-- dssmrecommendernetwork0_resnetv21_stage2__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv4_fwd -->\n",
1402       "<g id=\"edge96\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv4_fwd</title>\n",
1403       "<path fill=\"none\" stroke=\"black\" d=\"M5094.47,-3631.55C5085.18,-3617.74 5074.75,-3602.24 5066.04,-3589.3\"/>\n",
1404       "<polygon fill=\"black\" stroke=\"black\" points=\"5100.08,-3639.89 5090.77,-3634.1 5097.29,-3635.74 5094.5,-3631.59 5094.5,-3631.59 5094.5,-3631.59 5097.29,-3635.74 5098.23,-3629.08 5100.08,-3639.89 5100.08,-3639.89\"/>\n",
1405       "<text text-anchor=\"middle\" x=\"5118.5\" y=\"-3610.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n",
1406       "</g>\n",
1407       "<!-- dssmrecommendernetwork0_resnetv21_stage3_batchnorm0_fwd -->\n",
1408       "<g id=\"node97\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_batchnorm0_fwd</title>\n",
1409       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5305,-3807 4933,-3807 4933,-3749 5305,-3749 5305,-3807\"/>\n",
1410       "<text text-anchor=\"middle\" x=\"5119\" y=\"-3774.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage3_batchnorm0_fwd</text>\n",
1411       "</g>\n",
1412       "<!-- dssmrecommendernetwork0_resnetv21_stage3_batchnorm0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2__plus1 -->\n",
1413       "<g id=\"edge98\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_batchnorm0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2__plus1</title>\n",
1414       "<path fill=\"none\" stroke=\"black\" d=\"M5119,-3738.58C5119,-3725.28 5119,-3710.63 5119,-3698.3\"/>\n",
1415       "<polygon fill=\"black\" stroke=\"black\" points=\"5119,-3748.89 5114.5,-3738.89 5119,-3743.89 5119,-3738.89 5119,-3738.89 5119,-3738.89 5119,-3743.89 5123.5,-3738.89 5119,-3748.89 5119,-3748.89\"/>\n",
1416       "<text text-anchor=\"middle\" x=\"5149.5\" y=\"-3719.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n",
1417       "</g>\n",
1418       "<!-- dssmrecommendernetwork0_resnetv21_stage3_activation0 -->\n",
1419       "<g id=\"node98\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_activation0</title>\n",
1420       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5166,-3916 5072,-3916 5072,-3858 5166,-3858 5166,-3916\"/>\n",
1421       "<text text-anchor=\"middle\" x=\"5119\" y=\"-3890.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1422       "<text text-anchor=\"middle\" x=\"5119\" y=\"-3875.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1423       "</g>\n",
1424       "<!-- dssmrecommendernetwork0_resnetv21_stage3_activation0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_batchnorm0_fwd -->\n",
1425       "<g id=\"edge99\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_activation0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_batchnorm0_fwd</title>\n",
1426       "<path fill=\"none\" stroke=\"black\" d=\"M5119,-3847.58C5119,-3834.28 5119,-3819.63 5119,-3807.3\"/>\n",
1427       "<polygon fill=\"black\" stroke=\"black\" points=\"5119,-3857.89 5114.5,-3847.89 5119,-3852.89 5119,-3847.89 5119,-3847.89 5119,-3847.89 5119,-3852.89 5123.5,-3847.89 5119,-3857.89 5119,-3857.89\"/>\n",
1428       "<text text-anchor=\"middle\" x=\"5149.5\" y=\"-3828.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n",
1429       "</g>\n",
1430       "<!-- dssmrecommendernetwork0_resnetv21_stage3_conv0_fwd -->\n",
1431       "<g id=\"node99\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv0_fwd</title>\n",
1432       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5100,-4025 5006,-4025 5006,-3967 5100,-3967 5100,-4025\"/>\n",
1433       "<text text-anchor=\"middle\" x=\"5053\" y=\"-3999.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1434       "<text text-anchor=\"middle\" x=\"5053\" y=\"-3984.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/2x2, 256</text>\n",
1435       "</g>\n",
1436       "<!-- dssmrecommendernetwork0_resnetv21_stage3_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation0 -->\n",
1437       "<g id=\"edge100\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation0</title>\n",
1438       "<path fill=\"none\" stroke=\"black\" d=\"M5075.73,-3958.16C5084.18,-3944.45 5093.64,-3929.12 5101.55,-3916.3\"/>\n",
1439       "<polygon fill=\"black\" stroke=\"black\" points=\"5070.34,-3966.89 5071.76,-3956.01 5072.97,-3962.63 5075.59,-3958.38 5075.59,-3958.38 5075.59,-3958.38 5072.97,-3962.63 5079.42,-3960.74 5070.34,-3966.89 5070.34,-3966.89\"/>\n",
1440       "<text text-anchor=\"middle\" x=\"5120.5\" y=\"-3937.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n",
1441       "</g>\n",
1442       "<!-- dssmrecommendernetwork0_resnetv21_stage3_batchnorm1_fwd -->\n",
1443       "<g id=\"node100\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_batchnorm1_fwd</title>\n",
1444       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5130,-4134 4758,-4134 4758,-4076 5130,-4076 5130,-4134\"/>\n",
1445       "<text text-anchor=\"middle\" x=\"4944\" y=\"-4101.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage3_batchnorm1_fwd</text>\n",
1446       "</g>\n",
1447       "<!-- dssmrecommendernetwork0_resnetv21_stage3_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv0_fwd -->\n",
1448       "<g id=\"edge101\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv0_fwd</title>\n",
1449       "<path fill=\"none\" stroke=\"black\" d=\"M4979.94,-4068.72C4994.3,-4054.62 5010.61,-4038.61 5024.17,-4025.3\"/>\n",
1450       "<polygon fill=\"black\" stroke=\"black\" points=\"4972.64,-4075.89 4976.62,-4065.67 4976.21,-4072.38 4979.77,-4068.88 4979.77,-4068.88 4979.77,-4068.88 4976.21,-4072.38 4982.93,-4072.09 4972.64,-4075.89 4972.64,-4075.89\"/>\n",
1451       "<text text-anchor=\"middle\" x=\"5036.5\" y=\"-4046.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n",
1452       "</g>\n",
1453       "<!-- dssmrecommendernetwork0_resnetv21_stage3_activation1 -->\n",
1454       "<g id=\"node101\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_activation1</title>\n",
1455       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5012,-4243 4918,-4243 4918,-4185 5012,-4185 5012,-4243\"/>\n",
1456       "<text text-anchor=\"middle\" x=\"4965\" y=\"-4217.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1457       "<text text-anchor=\"middle\" x=\"4965\" y=\"-4202.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1458       "</g>\n",
1459       "<!-- dssmrecommendernetwork0_resnetv21_stage3_activation1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_batchnorm1_fwd -->\n",
1460       "<g id=\"edge102\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_activation1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_batchnorm1_fwd</title>\n",
1461       "<path fill=\"none\" stroke=\"black\" d=\"M4957.54,-4174.98C4954.91,-4161.57 4952,-4146.75 4949.55,-4134.3\"/>\n",
1462       "<polygon fill=\"black\" stroke=\"black\" points=\"4959.48,-4184.89 4953.14,-4175.94 4958.52,-4179.98 4957.56,-4175.07 4957.56,-4175.07 4957.56,-4175.07 4958.52,-4179.98 4961.97,-4174.21 4959.48,-4184.89 4959.48,-4184.89\"/>\n",
1463       "<text text-anchor=\"middle\" x=\"4986.5\" y=\"-4155.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n",
1464       "</g>\n",
1465       "<!-- dssmrecommendernetwork0_resnetv21_stage3_conv1_fwd -->\n",
1466       "<g id=\"node102\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv1_fwd</title>\n",
1467       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5023,-4395 4929,-4395 4929,-4337 5023,-4337 5023,-4395\"/>\n",
1468       "<text text-anchor=\"middle\" x=\"4976\" y=\"-4369.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1469       "<text text-anchor=\"middle\" x=\"4976\" y=\"-4354.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 256</text>\n",
1470       "</g>\n",
1471       "<!-- dssmrecommendernetwork0_resnetv21_stage3_conv1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation1 -->\n",
1472       "<g id=\"edge103\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation1</title>\n",
1473       "<path fill=\"none\" stroke=\"black\" d=\"M4973.18,-4326.51C4971.27,-4300.45 4968.79,-4266.62 4967.06,-4243.09\"/>\n",
1474       "<polygon fill=\"black\" stroke=\"black\" points=\"4973.93,-4336.79 4968.71,-4327.14 4973.57,-4331.8 4973.2,-4326.81 4973.2,-4326.81 4973.2,-4326.81 4973.57,-4331.8 4977.69,-4326.48 4973.93,-4336.79 4973.93,-4336.79\"/>\n",
1475       "<text text-anchor=\"middle\" x=\"5003.5\" y=\"-4286.3\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n",
1476       "</g>\n",
1477       "<!-- dssmrecommendernetwork0_resnetv21_stage3_conv2_fwd -->\n",
1478       "<g id=\"node103\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv2_fwd</title>\n",
1479       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5186,-4319 5092,-4319 5092,-4261 5186,-4261 5186,-4319\"/>\n",
1480       "<text text-anchor=\"middle\" x=\"5139\" y=\"-4293.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1481       "<text text-anchor=\"middle\" x=\"5139\" y=\"-4278.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x1/2x2, 256</text>\n",
1482       "</g>\n",
1483       "<!-- dssmrecommendernetwork0_resnetv21_stage3_conv2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation0 -->\n",
1484       "<g id=\"edge104\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation0</title>\n",
1485       "<path fill=\"none\" stroke=\"black\" d=\"M5151.24,-4251.18C5158.39,-4225.81 5166,-4191.49 5166,-4160.5 5166,-4160.5 5166,-4160.5 5166,-3995 5166,-3967.18 5163.44,-3959.35 5152,-3934 5149.25,-3927.91 5145.63,-3921.81 5141.8,-3916.13\"/>\n",
1486       "<polygon fill=\"black\" stroke=\"black\" points=\"5148.44,-4260.78 5146.92,-4249.92 5149.84,-4255.98 5151.24,-4251.18 5151.24,-4251.18 5151.24,-4251.18 5149.84,-4255.98 5155.56,-4252.44 5148.44,-4260.78 5148.44,-4260.78\"/>\n",
1487       "<text text-anchor=\"middle\" x=\"5196.5\" y=\"-4101.3\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n",
1488       "</g>\n",
1489       "<!-- dssmrecommendernetwork0_resnetv21_stage3__plus0 -->\n",
1490       "<g id=\"node104\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3__plus0</title>\n",
1491       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5182.5,-4504 4867.5,-4504 4867.5,-4446 5182.5,-4446 5182.5,-4504\"/>\n",
1492       "<text text-anchor=\"middle\" x=\"5025\" y=\"-4471.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage3__plus0</text>\n",
1493       "</g>\n",
1494       "<!-- dssmrecommendernetwork0_resnetv21_stage3__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv1_fwd -->\n",
1495       "<g id=\"edge105\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv1_fwd</title>\n",
1496       "<path fill=\"none\" stroke=\"black\" d=\"M5002.45,-4436.91C5000.88,-4433.93 4999.38,-4430.93 4998,-4428 4993.08,-4417.5 4988.55,-4405.58 4984.91,-4395.07\"/>\n",
1497       "<polygon fill=\"black\" stroke=\"black\" points=\"5007.31,-4445.73 4998.55,-4439.14 5004.9,-4441.35 5002.49,-4436.97 5002.49,-4436.97 5002.49,-4436.97 5004.9,-4441.35 5006.43,-4434.8 5007.31,-4445.73 5007.31,-4445.73\"/>\n",
1498       "<text text-anchor=\"middle\" x=\"5028.5\" y=\"-4416.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n",
1499       "</g>\n",
1500       "<!-- dssmrecommendernetwork0_resnetv21_stage3__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv2_fwd -->\n",
1501       "<g id=\"edge106\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv2_fwd</title>\n",
1502       "<path fill=\"none\" stroke=\"black\" d=\"M5052.6,-4437.39C5054.81,-4434.24 5056.97,-4431.08 5059,-4428 5083.17,-4391.31 5108.28,-4347.16 5123.77,-4319.09\"/>\n",
1503       "<polygon fill=\"black\" stroke=\"black\" points=\"5046.71,-4445.63 5048.87,-4434.88 5049.62,-4441.56 5052.53,-4437.5 5052.53,-4437.5 5052.53,-4437.5 5049.62,-4441.56 5056.19,-4440.12 5046.71,-4445.63 5046.71,-4445.63\"/>\n",
1504       "<text text-anchor=\"middle\" x=\"5098.5\" y=\"-4416.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n",
1505       "</g>\n",
1506       "<!-- dssmrecommendernetwork0_resnetv21_stage3_batchnorm2_fwd -->\n",
1507       "<g id=\"node105\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_batchnorm2_fwd</title>\n",
1508       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5070,-4613 4698,-4613 4698,-4555 5070,-4555 5070,-4613\"/>\n",
1509       "<text text-anchor=\"middle\" x=\"4884\" y=\"-4580.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage3_batchnorm2_fwd</text>\n",
1510       "</g>\n",
1511       "<!-- dssmrecommendernetwork0_resnetv21_stage3_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3__plus0 -->\n",
1512       "<g id=\"edge107\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3__plus0</title>\n",
1513       "<path fill=\"none\" stroke=\"black\" d=\"M4929.22,-4548.68C4948.1,-4534.36 4969.77,-4517.91 4987.71,-4504.3\"/>\n",
1514       "<polygon fill=\"black\" stroke=\"black\" points=\"4921.05,-4554.89 4926.29,-4545.26 4925.03,-4551.86 4929.01,-4548.84 4929.01,-4548.84 4929.01,-4548.84 4925.03,-4551.86 4931.73,-4552.43 4921.05,-4554.89 4921.05,-4554.89\"/>\n",
1515       "<text text-anchor=\"middle\" x=\"4993.5\" y=\"-4525.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n",
1516       "</g>\n",
1517       "<!-- dssmrecommendernetwork0_resnetv21_stage3_activation2 -->\n",
1518       "<g id=\"node106\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_activation2</title>\n",
1519       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"4931,-4722 4837,-4722 4837,-4664 4931,-4664 4931,-4722\"/>\n",
1520       "<text text-anchor=\"middle\" x=\"4884\" y=\"-4696.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1521       "<text text-anchor=\"middle\" x=\"4884\" y=\"-4681.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1522       "</g>\n",
1523       "<!-- dssmrecommendernetwork0_resnetv21_stage3_activation2&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_batchnorm2_fwd -->\n",
1524       "<g id=\"edge108\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_activation2&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_batchnorm2_fwd</title>\n",
1525       "<path fill=\"none\" stroke=\"black\" d=\"M4884,-4653.58C4884,-4640.28 4884,-4625.63 4884,-4613.3\"/>\n",
1526       "<polygon fill=\"black\" stroke=\"black\" points=\"4884,-4663.89 4879.5,-4653.89 4884,-4658.89 4884,-4653.89 4884,-4653.89 4884,-4653.89 4884,-4658.89 4888.5,-4653.89 4884,-4663.89 4884,-4663.89\"/>\n",
1527       "<text text-anchor=\"middle\" x=\"4914.5\" y=\"-4634.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n",
1528       "</g>\n",
1529       "<!-- dssmrecommendernetwork0_resnetv21_stage3_conv3_fwd -->\n",
1530       "<g id=\"node107\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv3_fwd</title>\n",
1531       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"4931,-4831 4837,-4831 4837,-4773 4931,-4773 4931,-4831\"/>\n",
1532       "<text text-anchor=\"middle\" x=\"4884\" y=\"-4805.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1533       "<text text-anchor=\"middle\" x=\"4884\" y=\"-4790.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 256</text>\n",
1534       "</g>\n",
1535       "<!-- dssmrecommendernetwork0_resnetv21_stage3_conv3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation2 -->\n",
1536       "<g id=\"edge109\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation2</title>\n",
1537       "<path fill=\"none\" stroke=\"black\" d=\"M4884,-4762.58C4884,-4749.28 4884,-4734.63 4884,-4722.3\"/>\n",
1538       "<polygon fill=\"black\" stroke=\"black\" points=\"4884,-4772.89 4879.5,-4762.89 4884,-4767.89 4884,-4762.89 4884,-4762.89 4884,-4762.89 4884,-4767.89 4888.5,-4762.89 4884,-4772.89 4884,-4772.89\"/>\n",
1539       "<text text-anchor=\"middle\" x=\"4914.5\" y=\"-4743.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n",
1540       "</g>\n",
1541       "<!-- dssmrecommendernetwork0_resnetv21_stage3_batchnorm3_fwd -->\n",
1542       "<g id=\"node108\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_batchnorm3_fwd</title>\n",
1543       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5070,-4940 4698,-4940 4698,-4882 5070,-4882 5070,-4940\"/>\n",
1544       "<text text-anchor=\"middle\" x=\"4884\" y=\"-4907.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage3_batchnorm3_fwd</text>\n",
1545       "</g>\n",
1546       "<!-- dssmrecommendernetwork0_resnetv21_stage3_batchnorm3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv3_fwd -->\n",
1547       "<g id=\"edge110\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_batchnorm3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv3_fwd</title>\n",
1548       "<path fill=\"none\" stroke=\"black\" d=\"M4884,-4871.58C4884,-4858.28 4884,-4843.63 4884,-4831.3\"/>\n",
1549       "<polygon fill=\"black\" stroke=\"black\" points=\"4884,-4881.89 4879.5,-4871.89 4884,-4876.89 4884,-4871.89 4884,-4871.89 4884,-4871.89 4884,-4876.89 4888.5,-4871.89 4884,-4881.89 4884,-4881.89\"/>\n",
1550       "<text text-anchor=\"middle\" x=\"4914.5\" y=\"-4852.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n",
1551       "</g>\n",
1552       "<!-- dssmrecommendernetwork0_resnetv21_stage3_activation3 -->\n",
1553       "<g id=\"node109\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_activation3</title>\n",
1554       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5069,-5049 4975,-5049 4975,-4991 5069,-4991 5069,-5049\"/>\n",
1555       "<text text-anchor=\"middle\" x=\"5022\" y=\"-5023.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1556       "<text text-anchor=\"middle\" x=\"5022\" y=\"-5008.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1557       "</g>\n",
1558       "<!-- dssmrecommendernetwork0_resnetv21_stage3_activation3&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_batchnorm3_fwd -->\n",
1559       "<g id=\"edge111\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_activation3&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_batchnorm3_fwd</title>\n",
1560       "<path fill=\"none\" stroke=\"black\" d=\"M4977.49,-4984.49C4959.07,-4970.21 4937.98,-4953.85 4920.49,-4940.3\"/>\n",
1561       "<polygon fill=\"black\" stroke=\"black\" points=\"4985.74,-4990.89 4975.08,-4988.32 4981.79,-4987.82 4977.84,-4984.76 4977.84,-4984.76 4977.84,-4984.76 4981.79,-4987.82 4980.6,-4981.2 4985.74,-4990.89 4985.74,-4990.89\"/>\n",
1562       "<text text-anchor=\"middle\" x=\"4992.5\" y=\"-4961.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n",
1563       "</g>\n",
1564       "<!-- dssmrecommendernetwork0_resnetv21_stage3_conv4_fwd -->\n",
1565       "<g id=\"node110\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv4_fwd</title>\n",
1566       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5069,-5158 4975,-5158 4975,-5100 5069,-5100 5069,-5158\"/>\n",
1567       "<text text-anchor=\"middle\" x=\"5022\" y=\"-5132.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1568       "<text text-anchor=\"middle\" x=\"5022\" y=\"-5117.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 256</text>\n",
1569       "</g>\n",
1570       "<!-- dssmrecommendernetwork0_resnetv21_stage3_conv4_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation3 -->\n",
1571       "<g id=\"edge112\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv4_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation3</title>\n",
1572       "<path fill=\"none\" stroke=\"black\" d=\"M5022,-5089.58C5022,-5076.28 5022,-5061.63 5022,-5049.3\"/>\n",
1573       "<polygon fill=\"black\" stroke=\"black\" points=\"5022,-5099.89 5017.5,-5089.89 5022,-5094.89 5022,-5089.89 5022,-5089.89 5022,-5089.89 5022,-5094.89 5026.5,-5089.89 5022,-5099.89 5022,-5099.89\"/>\n",
1574       "<text text-anchor=\"middle\" x=\"5052.5\" y=\"-5070.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n",
1575       "</g>\n",
1576       "<!-- dssmrecommendernetwork0_resnetv21_stage3__plus1 -->\n",
1577       "<g id=\"node111\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3__plus1</title>\n",
1578       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5217.5,-5267 4902.5,-5267 4902.5,-5209 5217.5,-5209 5217.5,-5267\"/>\n",
1579       "<text text-anchor=\"middle\" x=\"5060\" y=\"-5234.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage3__plus1</text>\n",
1580       "</g>\n",
1581       "<!-- dssmrecommendernetwork0_resnetv21_stage3__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3__plus0 -->\n",
1582       "<g id=\"edge114\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3__plus0</title>\n",
1583       "<path fill=\"none\" stroke=\"black\" d=\"M5080.2,-5199.8C5089.29,-5179.72 5098,-5154.17 5098,-5130 5098,-5130 5098,-5130 5098,-4583 5098,-4552.42 5077.4,-4524.13 5058.08,-4504.33\"/>\n",
1584       "<polygon fill=\"black\" stroke=\"black\" points=\"5075.9,-5208.9 5076.11,-5197.93 5078.04,-5204.38 5080.18,-5199.86 5080.18,-5199.86 5080.18,-5199.86 5078.04,-5204.38 5084.24,-5201.78 5075.9,-5208.9 5075.9,-5208.9\"/>\n",
1585       "<text text-anchor=\"middle\" x=\"5128.5\" y=\"-4852.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n",
1586       "</g>\n",
1587       "<!-- dssmrecommendernetwork0_resnetv21_stage3__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv4_fwd -->\n",
1588       "<g id=\"edge113\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv4_fwd</title>\n",
1589       "<path fill=\"none\" stroke=\"black\" d=\"M5027.23,-5200.2C5025.57,-5197.21 5024.13,-5194.13 5023,-5191 5019.26,-5180.64 5018.39,-5168.63 5018.68,-5158.02\"/>\n",
1590       "<polygon fill=\"black\" stroke=\"black\" points=\"5032.73,-5208.85 5023.57,-5202.83 5030.05,-5204.63 5027.36,-5200.41 5027.36,-5200.41 5027.36,-5200.41 5030.05,-5204.63 5031.16,-5198 5032.73,-5208.85 5032.73,-5208.85\"/>\n",
1591       "<text text-anchor=\"middle\" x=\"5053.5\" y=\"-5179.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n",
1592       "</g>\n",
1593       "<!-- dssmrecommendernetwork0_resnetv21_stage4_batchnorm0_fwd -->\n",
1594       "<g id=\"node112\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_batchnorm0_fwd</title>\n",
1595       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5246,-5376 4874,-5376 4874,-5318 5246,-5318 5246,-5376\"/>\n",
1596       "<text text-anchor=\"middle\" x=\"5060\" y=\"-5343.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage4_batchnorm0_fwd</text>\n",
1597       "</g>\n",
1598       "<!-- dssmrecommendernetwork0_resnetv21_stage4_batchnorm0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3__plus1 -->\n",
1599       "<g id=\"edge115\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_batchnorm0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3__plus1</title>\n",
1600       "<path fill=\"none\" stroke=\"black\" d=\"M5060,-5307.58C5060,-5294.28 5060,-5279.63 5060,-5267.3\"/>\n",
1601       "<polygon fill=\"black\" stroke=\"black\" points=\"5060,-5317.89 5055.5,-5307.89 5060,-5312.89 5060,-5307.89 5060,-5307.89 5060,-5307.89 5060,-5312.89 5064.5,-5307.89 5060,-5317.89 5060,-5317.89\"/>\n",
1602       "<text text-anchor=\"middle\" x=\"5090.5\" y=\"-5288.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n",
1603       "</g>\n",
1604       "<!-- dssmrecommendernetwork0_resnetv21_stage4_activation0 -->\n",
1605       "<g id=\"node113\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_activation0</title>\n",
1606       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5107,-5485 5013,-5485 5013,-5427 5107,-5427 5107,-5485\"/>\n",
1607       "<text text-anchor=\"middle\" x=\"5060\" y=\"-5459.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1608       "<text text-anchor=\"middle\" x=\"5060\" y=\"-5444.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1609       "</g>\n",
1610       "<!-- dssmrecommendernetwork0_resnetv21_stage4_activation0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_batchnorm0_fwd -->\n",
1611       "<g id=\"edge116\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_activation0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_batchnorm0_fwd</title>\n",
1612       "<path fill=\"none\" stroke=\"black\" d=\"M5060,-5416.58C5060,-5403.28 5060,-5388.63 5060,-5376.3\"/>\n",
1613       "<polygon fill=\"black\" stroke=\"black\" points=\"5060,-5426.89 5055.5,-5416.89 5060,-5421.89 5060,-5416.89 5060,-5416.89 5060,-5416.89 5060,-5421.89 5064.5,-5416.89 5060,-5426.89 5060,-5426.89\"/>\n",
1614       "<text text-anchor=\"middle\" x=\"5090.5\" y=\"-5397.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n",
1615       "</g>\n",
1616       "<!-- dssmrecommendernetwork0_resnetv21_stage4_conv0_fwd -->\n",
1617       "<g id=\"node114\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv0_fwd</title>\n",
1618       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5024,-5594 4930,-5594 4930,-5536 5024,-5536 5024,-5594\"/>\n",
1619       "<text text-anchor=\"middle\" x=\"4977\" y=\"-5568.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1620       "<text text-anchor=\"middle\" x=\"4977\" y=\"-5553.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/2x2, 512</text>\n",
1621       "</g>\n",
1622       "<!-- dssmrecommendernetwork0_resnetv21_stage4_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation0 -->\n",
1623       "<g id=\"edge117\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation0</title>\n",
1624       "<path fill=\"none\" stroke=\"black\" d=\"M5004.97,-5527.94C5015.76,-5514.03 5027.91,-5498.36 5038.05,-5485.3\"/>\n",
1625       "<polygon fill=\"black\" stroke=\"black\" points=\"4998.81,-5535.89 5001.38,-5525.23 5001.87,-5531.94 5004.94,-5527.99 5004.94,-5527.99 5004.94,-5527.99 5001.87,-5531.94 5008.49,-5530.74 4998.81,-5535.89 4998.81,-5535.89\"/>\n",
1626       "<text text-anchor=\"middle\" x=\"5054.5\" y=\"-5506.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n",
1627       "</g>\n",
1628       "<!-- dssmrecommendernetwork0_resnetv21_stage4_batchnorm1_fwd -->\n",
1629       "<g id=\"node115\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_batchnorm1_fwd</title>\n",
1630       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5071,-5703 4699,-5703 4699,-5645 5071,-5645 5071,-5703\"/>\n",
1631       "<text text-anchor=\"middle\" x=\"4885\" y=\"-5670.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage4_batchnorm1_fwd</text>\n",
1632       "</g>\n",
1633       "<!-- dssmrecommendernetwork0_resnetv21_stage4_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv0_fwd -->\n",
1634       "<g id=\"edge118\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv0_fwd</title>\n",
1635       "<path fill=\"none\" stroke=\"black\" d=\"M4916.01,-5636.94C4927.96,-5623.03 4941.43,-5607.36 4952.67,-5594.3\"/>\n",
1636       "<polygon fill=\"black\" stroke=\"black\" points=\"4909.17,-5644.89 4912.28,-5634.37 4912.43,-5641.1 4915.69,-5637.3 4915.69,-5637.3 4915.69,-5637.3 4912.43,-5641.1 4919.1,-5640.24 4909.17,-5644.89 4909.17,-5644.89\"/>\n",
1637       "<text text-anchor=\"middle\" x=\"4961\" y=\"-5615.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n",
1638       "</g>\n",
1639       "<!-- dssmrecommendernetwork0_resnetv21_stage4_activation1 -->\n",
1640       "<g id=\"node116\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_activation1</title>\n",
1641       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"4948,-5812 4854,-5812 4854,-5754 4948,-5754 4948,-5812\"/>\n",
1642       "<text text-anchor=\"middle\" x=\"4901\" y=\"-5786.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1643       "<text text-anchor=\"middle\" x=\"4901\" y=\"-5771.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1644       "</g>\n",
1645       "<!-- dssmrecommendernetwork0_resnetv21_stage4_activation1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_batchnorm1_fwd -->\n",
1646       "<g id=\"edge119\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_activation1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_batchnorm1_fwd</title>\n",
1647       "<path fill=\"none\" stroke=\"black\" d=\"M4895.31,-5743.98C4893.31,-5730.57 4891.09,-5715.75 4889.23,-5703.3\"/>\n",
1648       "<polygon fill=\"black\" stroke=\"black\" points=\"4896.8,-5753.89 4890.87,-5744.66 4896.06,-5748.94 4895.32,-5744 4895.32,-5744 4895.32,-5744 4896.06,-5748.94 4899.77,-5743.33 4896.8,-5753.89 4896.8,-5753.89\"/>\n",
1649       "<text text-anchor=\"middle\" x=\"4918\" y=\"-5724.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n",
1650       "</g>\n",
1651       "<!-- dssmrecommendernetwork0_resnetv21_stage4_conv1_fwd -->\n",
1652       "<g id=\"node117\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv1_fwd</title>\n",
1653       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"4984,-5964 4890,-5964 4890,-5906 4984,-5906 4984,-5964\"/>\n",
1654       "<text text-anchor=\"middle\" x=\"4937\" y=\"-5938.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1655       "<text text-anchor=\"middle\" x=\"4937\" y=\"-5923.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 512</text>\n",
1656       "</g>\n",
1657       "<!-- dssmrecommendernetwork0_resnetv21_stage4_conv1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation1 -->\n",
1658       "<g id=\"edge120\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation1</title>\n",
1659       "<path fill=\"none\" stroke=\"black\" d=\"M4927.84,-5895.85C4921.58,-5869.75 4913.41,-5835.73 4907.74,-5812.09\"/>\n",
1660       "<polygon fill=\"black\" stroke=\"black\" points=\"4930.23,-5905.79 4923.52,-5897.11 4929.06,-5900.92 4927.89,-5896.06 4927.89,-5896.06 4927.89,-5896.06 4929.06,-5900.92 4932.27,-5895.01 4930.23,-5905.79 4930.23,-5905.79\"/>\n",
1661       "<text text-anchor=\"middle\" x=\"4950\" y=\"-5855.3\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n",
1662       "</g>\n",
1663       "<!-- dssmrecommendernetwork0_resnetv21_stage4_conv2_fwd -->\n",
1664       "<g id=\"node118\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv2_fwd</title>\n",
1665       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5139,-5888 5045,-5888 5045,-5830 5139,-5830 5139,-5888\"/>\n",
1666       "<text text-anchor=\"middle\" x=\"5092\" y=\"-5862.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1667       "<text text-anchor=\"middle\" x=\"5092\" y=\"-5847.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x1/2x2, 512</text>\n",
1668       "</g>\n",
1669       "<!-- dssmrecommendernetwork0_resnetv21_stage4_conv2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation0 -->\n",
1670       "<g id=\"edge121\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation0</title>\n",
1671       "<path fill=\"none\" stroke=\"black\" d=\"M5098.82,-5819.78C5102.78,-5794.3 5107,-5760 5107,-5729.5 5107,-5729.5 5107,-5729.5 5107,-5564 5107,-5535.39 5092.74,-5505.84 5079.93,-5485.06\"/>\n",
1672       "<polygon fill=\"black\" stroke=\"black\" points=\"5097.2,-5829.78 5094.35,-5819.19 5098,-5824.85 5098.8,-5819.91 5098.8,-5819.91 5098.8,-5819.91 5098,-5824.85 5103.24,-5820.63 5097.2,-5829.78 5097.2,-5829.78\"/>\n",
1673       "<text text-anchor=\"middle\" x=\"5137.5\" y=\"-5670.3\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n",
1674       "</g>\n",
1675       "<!-- dssmrecommendernetwork0_resnetv21_stage4__plus0 -->\n",
1676       "<g id=\"node119\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4__plus0</title>\n",
1677       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5133.5,-6073 4818.5,-6073 4818.5,-6015 5133.5,-6015 5133.5,-6073\"/>\n",
1678       "<text text-anchor=\"middle\" x=\"4976\" y=\"-6040.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage4__plus0</text>\n",
1679       "</g>\n",
1680       "<!-- dssmrecommendernetwork0_resnetv21_stage4__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv1_fwd -->\n",
1681       "<g id=\"edge122\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv1_fwd</title>\n",
1682       "<path fill=\"none\" stroke=\"black\" d=\"M4957.32,-6005.27C4956.14,-6002.5 4955.02,-5999.72 4954,-5997 4950.06,-5986.5 4946.56,-5974.68 4943.78,-5964.27\"/>\n",
1683       "<polygon fill=\"black\" stroke=\"black\" points=\"4961.48,-6014.63 4953.3,-6007.32 4959.45,-6010.06 4957.41,-6005.49 4957.41,-6005.49 4957.41,-6005.49 4959.45,-6010.06 4961.53,-6003.66 4961.48,-6014.63 4961.48,-6014.63\"/>\n",
1684       "<text text-anchor=\"middle\" x=\"4978\" y=\"-5985.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n",
1685       "</g>\n",
1686       "<!-- dssmrecommendernetwork0_resnetv21_stage4__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv2_fwd -->\n",
1687       "<g id=\"edge123\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv2_fwd</title>\n",
1688       "<path fill=\"none\" stroke=\"black\" d=\"M4999.24,-6006.34C5021.3,-5971.53 5054,-5919.94 5074.11,-5888.22\"/>\n",
1689       "<polygon fill=\"black\" stroke=\"black\" points=\"4993.87,-6014.81 4995.42,-6003.95 4996.55,-6010.58 4999.22,-6006.36 4999.22,-6006.36 4999.22,-6006.36 4996.55,-6010.58 5003.03,-6008.77 4993.87,-6014.81 4993.87,-6014.81\"/>\n",
1690       "<text text-anchor=\"middle\" x=\"5039\" y=\"-5985.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n",
1691       "</g>\n",
1692       "<!-- dssmrecommendernetwork0_resnetv21_stage4_batchnorm2_fwd -->\n",
1693       "<g id=\"node120\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_batchnorm2_fwd</title>\n",
1694       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5017,-6182 4645,-6182 4645,-6124 5017,-6124 5017,-6182\"/>\n",
1695       "<text text-anchor=\"middle\" x=\"4831\" y=\"-6149.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage4_batchnorm2_fwd</text>\n",
1696       "</g>\n",
1697       "<!-- dssmrecommendernetwork0_resnetv21_stage4_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4__plus0 -->\n",
1698       "<g id=\"edge124\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4__plus0</title>\n",
1699       "<path fill=\"none\" stroke=\"black\" d=\"M4877.28,-6117.85C4896.83,-6103.42 4919.33,-6086.82 4937.91,-6073.11\"/>\n",
1700       "<polygon fill=\"black\" stroke=\"black\" points=\"4869.1,-6123.89 4874.47,-6114.33 4873.12,-6120.92 4877.14,-6117.95 4877.14,-6117.95 4877.14,-6117.95 4873.12,-6120.92 4879.82,-6121.57 4869.1,-6123.89 4869.1,-6123.89\"/>\n",
1701       "<text text-anchor=\"middle\" x=\"4937\" y=\"-6094.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n",
1702       "</g>\n",
1703       "<!-- dssmrecommendernetwork0_resnetv21_stage4_activation2 -->\n",
1704       "<g id=\"node121\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_activation2</title>\n",
1705       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"4878,-6291 4784,-6291 4784,-6233 4878,-6233 4878,-6291\"/>\n",
1706       "<text text-anchor=\"middle\" x=\"4831\" y=\"-6265.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1707       "<text text-anchor=\"middle\" x=\"4831\" y=\"-6250.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1708       "</g>\n",
1709       "<!-- dssmrecommendernetwork0_resnetv21_stage4_activation2&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_batchnorm2_fwd -->\n",
1710       "<g id=\"edge125\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_activation2&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_batchnorm2_fwd</title>\n",
1711       "<path fill=\"none\" stroke=\"black\" d=\"M4831,-6222.58C4831,-6209.28 4831,-6194.63 4831,-6182.3\"/>\n",
1712       "<polygon fill=\"black\" stroke=\"black\" points=\"4831,-6232.89 4826.5,-6222.89 4831,-6227.89 4831,-6222.89 4831,-6222.89 4831,-6222.89 4831,-6227.89 4835.5,-6222.89 4831,-6232.89 4831,-6232.89\"/>\n",
1713       "<text text-anchor=\"middle\" x=\"4855\" y=\"-6203.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n",
1714       "</g>\n",
1715       "<!-- dssmrecommendernetwork0_resnetv21_stage4_conv3_fwd -->\n",
1716       "<g id=\"node122\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv3_fwd</title>\n",
1717       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"4878,-6400 4784,-6400 4784,-6342 4878,-6342 4878,-6400\"/>\n",
1718       "<text text-anchor=\"middle\" x=\"4831\" y=\"-6374.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1719       "<text text-anchor=\"middle\" x=\"4831\" y=\"-6359.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 512</text>\n",
1720       "</g>\n",
1721       "<!-- dssmrecommendernetwork0_resnetv21_stage4_conv3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation2 -->\n",
1722       "<g id=\"edge126\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation2</title>\n",
1723       "<path fill=\"none\" stroke=\"black\" d=\"M4831,-6331.58C4831,-6318.28 4831,-6303.63 4831,-6291.3\"/>\n",
1724       "<polygon fill=\"black\" stroke=\"black\" points=\"4831,-6341.89 4826.5,-6331.89 4831,-6336.89 4831,-6331.89 4831,-6331.89 4831,-6331.89 4831,-6336.89 4835.5,-6331.89 4831,-6341.89 4831,-6341.89\"/>\n",
1725       "<text text-anchor=\"middle\" x=\"4855\" y=\"-6312.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n",
1726       "</g>\n",
1727       "<!-- dssmrecommendernetwork0_resnetv21_stage4_batchnorm3_fwd -->\n",
1728       "<g id=\"node123\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_batchnorm3_fwd</title>\n",
1729       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5017,-6509 4645,-6509 4645,-6451 5017,-6451 5017,-6509\"/>\n",
1730       "<text text-anchor=\"middle\" x=\"4831\" y=\"-6476.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage4_batchnorm3_fwd</text>\n",
1731       "</g>\n",
1732       "<!-- dssmrecommendernetwork0_resnetv21_stage4_batchnorm3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv3_fwd -->\n",
1733       "<g id=\"edge127\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_batchnorm3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv3_fwd</title>\n",
1734       "<path fill=\"none\" stroke=\"black\" d=\"M4831,-6440.58C4831,-6427.28 4831,-6412.63 4831,-6400.3\"/>\n",
1735       "<polygon fill=\"black\" stroke=\"black\" points=\"4831,-6450.89 4826.5,-6440.89 4831,-6445.89 4831,-6440.89 4831,-6440.89 4831,-6440.89 4831,-6445.89 4835.5,-6440.89 4831,-6450.89 4831,-6450.89\"/>\n",
1736       "<text text-anchor=\"middle\" x=\"4855\" y=\"-6421.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n",
1737       "</g>\n",
1738       "<!-- dssmrecommendernetwork0_resnetv21_stage4_activation3 -->\n",
1739       "<g id=\"node124\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_activation3</title>\n",
1740       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"4948,-6618 4854,-6618 4854,-6560 4948,-6560 4948,-6618\"/>\n",
1741       "<text text-anchor=\"middle\" x=\"4901\" y=\"-6592.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1742       "<text text-anchor=\"middle\" x=\"4901\" y=\"-6577.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1743       "</g>\n",
1744       "<!-- dssmrecommendernetwork0_resnetv21_stage4_activation3&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_batchnorm3_fwd -->\n",
1745       "<g id=\"edge128\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_activation3&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_batchnorm3_fwd</title>\n",
1746       "<path fill=\"none\" stroke=\"black\" d=\"M4876.9,-6551.16C4867.93,-6537.45 4857.9,-6522.12 4849.51,-6509.3\"/>\n",
1747       "<polygon fill=\"black\" stroke=\"black\" points=\"4882.61,-6559.89 4873.37,-6553.98 4879.87,-6555.7 4877.13,-6551.52 4877.13,-6551.52 4877.13,-6551.52 4879.87,-6555.7 4880.9,-6549.06 4882.61,-6559.89 4882.61,-6559.89\"/>\n",
1748       "<text text-anchor=\"middle\" x=\"4895\" y=\"-6530.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n",
1749       "</g>\n",
1750       "<!-- dssmrecommendernetwork0_resnetv21_stage4_conv4_fwd -->\n",
1751       "<g id=\"node125\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv4_fwd</title>\n",
1752       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5017,-6727 4923,-6727 4923,-6669 5017,-6669 5017,-6727\"/>\n",
1753       "<text text-anchor=\"middle\" x=\"4970\" y=\"-6701.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
1754       "<text text-anchor=\"middle\" x=\"4970\" y=\"-6686.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 512</text>\n",
1755       "</g>\n",
1756       "<!-- dssmrecommendernetwork0_resnetv21_stage4_conv4_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation3 -->\n",
1757       "<g id=\"edge129\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv4_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation3</title>\n",
1758       "<path fill=\"none\" stroke=\"black\" d=\"M4946.24,-6660.16C4937.4,-6646.45 4927.52,-6631.12 4919.25,-6618.3\"/>\n",
1759       "<polygon fill=\"black\" stroke=\"black\" points=\"4951.87,-6668.89 4942.67,-6662.92 4949.16,-6664.68 4946.45,-6660.48 4946.45,-6660.48 4946.45,-6660.48 4949.16,-6664.68 4950.23,-6658.04 4951.87,-6668.89 4951.87,-6668.89\"/>\n",
1760       "<text text-anchor=\"middle\" x=\"4964\" y=\"-6639.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n",
1761       "</g>\n",
1762       "<!-- dssmrecommendernetwork0_resnetv21_stage4__plus1 -->\n",
1763       "<g id=\"node126\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4__plus1</title>\n",
1764       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5170.5,-6836 4855.5,-6836 4855.5,-6778 5170.5,-6778 5170.5,-6836\"/>\n",
1765       "<text text-anchor=\"middle\" x=\"5013\" y=\"-6803.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage4__plus1</text>\n",
1766       "</g>\n",
1767       "<!-- dssmrecommendernetwork0_resnetv21_stage4__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4__plus0 -->\n",
1768       "<g id=\"edge131\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4__plus0</title>\n",
1769       "<path fill=\"none\" stroke=\"black\" d=\"M5030.12,-6768.2C5037.73,-6748.08 5045,-6722.66 5045,-6699 5045,-6699 5045,-6699 5045,-6152 5045,-6121.72 5025.24,-6093.2 5006.87,-6073.24\"/>\n",
1770       "<polygon fill=\"black\" stroke=\"black\" points=\"5026.39,-6777.62 5025.89,-6766.67 5028.23,-6772.97 5030.07,-6768.32 5030.07,-6768.32 5030.07,-6768.32 5028.23,-6772.97 5034.25,-6769.98 5026.39,-6777.62 5026.39,-6777.62\"/>\n",
1771       "<text text-anchor=\"middle\" x=\"5069\" y=\"-6421.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n",
1772       "</g>\n",
1773       "<!-- dssmrecommendernetwork0_resnetv21_stage4__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv4_fwd -->\n",
1774       "<g id=\"edge130\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv4_fwd</title>\n",
1775       "<path fill=\"none\" stroke=\"black\" d=\"M4987.25,-6768.97C4985.69,-6766 4984.24,-6762.99 4983,-6760 4978.72,-6749.7 4975.78,-6737.82 4973.79,-6727.29\"/>\n",
1776       "<polygon fill=\"black\" stroke=\"black\" points=\"4992.25,-6777.7 4983.38,-6771.26 4989.77,-6773.36 4987.28,-6769.02 4987.28,-6769.02 4987.28,-6769.02 4989.77,-6773.36 4991.19,-6766.78 4992.25,-6777.7 4992.25,-6777.7\"/>\n",
1777       "<text text-anchor=\"middle\" x=\"5007\" y=\"-6748.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n",
1778       "</g>\n",
1779       "<!-- dssmrecommendernetwork0_resnetv21_batchnorm2_fwd -->\n",
1780       "<g id=\"node127\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_batchnorm2_fwd</title>\n",
1781       "<polygon fill=\"#bebada\" stroke=\"black\" points=\"5178.5,-6945 4847.5,-6945 4847.5,-6887 5178.5,-6887 5178.5,-6945\"/>\n",
1782       "<text text-anchor=\"middle\" x=\"5013\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_batchnorm2_fwd</text>\n",
1783       "</g>\n",
1784       "<!-- dssmrecommendernetwork0_resnetv21_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4__plus1 -->\n",
1785       "<g id=\"edge132\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4__plus1</title>\n",
1786       "<path fill=\"none\" stroke=\"black\" d=\"M5013,-6876.58C5013,-6863.28 5013,-6848.63 5013,-6836.3\"/>\n",
1787       "<polygon fill=\"black\" stroke=\"black\" points=\"5013,-6886.89 5008.5,-6876.89 5013,-6881.89 5013,-6876.89 5013,-6876.89 5013,-6876.89 5013,-6881.89 5017.5,-6876.89 5013,-6886.89 5013,-6886.89\"/>\n",
1788       "<text text-anchor=\"middle\" x=\"5037\" y=\"-6857.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n",
1789       "</g>\n",
1790       "<!-- dssmrecommendernetwork0_resnetv21_relu1_fwd -->\n",
1791       "<g id=\"node128\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_relu1_fwd</title>\n",
1792       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5060,-7054 4966,-7054 4966,-6996 5060,-6996 5060,-7054\"/>\n",
1793       "<text text-anchor=\"middle\" x=\"5013\" y=\"-7028.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1794       "<text text-anchor=\"middle\" x=\"5013\" y=\"-7013.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1795       "</g>\n",
1796       "<!-- dssmrecommendernetwork0_resnetv21_relu1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_batchnorm2_fwd -->\n",
1797       "<g id=\"edge133\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_relu1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_batchnorm2_fwd</title>\n",
1798       "<path fill=\"none\" stroke=\"black\" d=\"M5013,-6985.58C5013,-6972.28 5013,-6957.63 5013,-6945.3\"/>\n",
1799       "<polygon fill=\"black\" stroke=\"black\" points=\"5013,-6995.89 5008.5,-6985.89 5013,-6990.89 5013,-6985.89 5013,-6985.89 5013,-6985.89 5013,-6990.89 5017.5,-6985.89 5013,-6995.89 5013,-6995.89\"/>\n",
1800       "<text text-anchor=\"middle\" x=\"5037\" y=\"-6966.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n",
1801       "</g>\n",
1802       "<!-- dssmrecommendernetwork0_resnetv21_pool1_fwd -->\n",
1803       "<g id=\"node129\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_pool1_fwd</title>\n",
1804       "<polygon fill=\"#80b1d3\" stroke=\"black\" points=\"5060,-7163 4966,-7163 4966,-7105 5060,-7105 5060,-7163\"/>\n",
1805       "<text text-anchor=\"middle\" x=\"5013\" y=\"-7137.8\" font-family=\"Times,serif\" font-size=\"14.00\">Pooling</text>\n",
1806       "<text text-anchor=\"middle\" x=\"5013\" y=\"-7122.8\" font-family=\"Times,serif\" font-size=\"14.00\">avg, 1x1/1x1</text>\n",
1807       "</g>\n",
1808       "<!-- dssmrecommendernetwork0_resnetv21_pool1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_relu1_fwd -->\n",
1809       "<g id=\"edge134\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_pool1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_relu1_fwd</title>\n",
1810       "<path fill=\"none\" stroke=\"black\" d=\"M5013,-7094.58C5013,-7081.28 5013,-7066.63 5013,-7054.3\"/>\n",
1811       "<polygon fill=\"black\" stroke=\"black\" points=\"5013,-7104.89 5008.5,-7094.89 5013,-7099.89 5013,-7094.89 5013,-7094.89 5013,-7094.89 5013,-7099.89 5017.5,-7094.89 5013,-7104.89 5013,-7104.89\"/>\n",
1812       "<text text-anchor=\"middle\" x=\"5037\" y=\"-7075.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n",
1813       "</g>\n",
1814       "<!-- dssmrecommendernetwork0_resnetv21_flatten0_flatten0 -->\n",
1815       "<g id=\"node130\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_flatten0_flatten0</title>\n",
1816       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"5176.5,-7272 4849.5,-7272 4849.5,-7214 5176.5,-7214 5176.5,-7272\"/>\n",
1817       "<text text-anchor=\"middle\" x=\"5013\" y=\"-7239.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_flatten0_flatten0</text>\n",
1818       "</g>\n",
1819       "<!-- dssmrecommendernetwork0_resnetv21_flatten0_flatten0&#45;&gt;dssmrecommendernetwork0_resnetv21_pool1_fwd -->\n",
1820       "<g id=\"edge135\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_flatten0_flatten0&#45;&gt;dssmrecommendernetwork0_resnetv21_pool1_fwd</title>\n",
1821       "<path fill=\"none\" stroke=\"black\" d=\"M5013,-7203.58C5013,-7190.28 5013,-7175.63 5013,-7163.3\"/>\n",
1822       "<polygon fill=\"black\" stroke=\"black\" points=\"5013,-7213.89 5008.5,-7203.89 5013,-7208.89 5013,-7203.89 5013,-7203.89 5013,-7203.89 5013,-7208.89 5017.5,-7203.89 5013,-7213.89 5013,-7213.89\"/>\n",
1823       "<text text-anchor=\"middle\" x=\"5037\" y=\"-7184.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x1x1</text>\n",
1824       "</g>\n",
1825       "<!-- dssmrecommendernetwork0_dense4_fwd -->\n",
1826       "<g id=\"node131\" class=\"node\"><title>dssmrecommendernetwork0_dense4_fwd</title>\n",
1827       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5064.5,-7381 4961.5,-7381 4961.5,-7323 5064.5,-7323 5064.5,-7381\"/>\n",
1828       "<text text-anchor=\"middle\" x=\"5013\" y=\"-7355.8\" font-family=\"Times,serif\" font-size=\"14.00\">FullyConnected</text>\n",
1829       "<text text-anchor=\"middle\" x=\"5013\" y=\"-7340.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
1830       "</g>\n",
1831       "<!-- dssmrecommendernetwork0_dense4_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_flatten0_flatten0 -->\n",
1832       "<g id=\"edge136\" class=\"edge\"><title>dssmrecommendernetwork0_dense4_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_flatten0_flatten0</title>\n",
1833       "<path fill=\"none\" stroke=\"black\" d=\"M5013,-7312.58C5013,-7299.28 5013,-7284.63 5013,-7272.3\"/>\n",
1834       "<polygon fill=\"black\" stroke=\"black\" points=\"5013,-7322.89 5008.5,-7312.89 5013,-7317.89 5013,-7312.89 5013,-7312.89 5013,-7312.89 5013,-7317.89 5017.5,-7312.89 5013,-7322.89 5013,-7322.89\"/>\n",
1835       "<text text-anchor=\"middle\" x=\"5023.5\" y=\"-7293.8\" font-family=\"Times,serif\" font-size=\"14.00\">512</text>\n",
1836       "</g>\n",
1837       "<!-- dssmrecommendernetwork0_dense4_relu_fwd -->\n",
1838       "<g id=\"node132\" class=\"node\"><title>dssmrecommendernetwork0_dense4_relu_fwd</title>\n",
1839       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5060,-7490 4966,-7490 4966,-7432 5060,-7432 5060,-7490\"/>\n",
1840       "<text text-anchor=\"middle\" x=\"5013\" y=\"-7464.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1841       "<text text-anchor=\"middle\" x=\"5013\" y=\"-7449.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1842       "</g>\n",
1843       "<!-- dssmrecommendernetwork0_dense4_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense4_fwd -->\n",
1844       "<g id=\"edge137\" class=\"edge\"><title>dssmrecommendernetwork0_dense4_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense4_fwd</title>\n",
1845       "<path fill=\"none\" stroke=\"black\" d=\"M5013,-7421.58C5013,-7408.28 5013,-7393.63 5013,-7381.3\"/>\n",
1846       "<polygon fill=\"black\" stroke=\"black\" points=\"5013,-7431.89 5008.5,-7421.89 5013,-7426.89 5013,-7421.89 5013,-7421.89 5013,-7421.89 5013,-7426.89 5017.5,-7421.89 5013,-7431.89 5013,-7431.89\"/>\n",
1847       "<text text-anchor=\"middle\" x=\"5023.5\" y=\"-7402.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
1848       "</g>\n",
1849       "<!-- dssmrecommendernetwork0_concat1 -->\n",
1850       "<g id=\"node133\" class=\"node\"><title>dssmrecommendernetwork0_concat1</title>\n",
1851       "<polygon fill=\"#fdb462\" stroke=\"black\" points=\"5123.5,-7599 4902.5,-7599 4902.5,-7541 5123.5,-7541 5123.5,-7599\"/>\n",
1852       "<text text-anchor=\"middle\" x=\"5013\" y=\"-7566.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_concat1</text>\n",
1853       "</g>\n",
1854       "<!-- dssmrecommendernetwork0_concat1&#45;&gt;dssmrecommendernetwork0_dense3_relu_fwd -->\n",
1855       "<g id=\"edge138\" class=\"edge\"><title>dssmrecommendernetwork0_concat1&#45;&gt;dssmrecommendernetwork0_dense3_relu_fwd</title>\n",
1856       "<path fill=\"none\" stroke=\"black\" d=\"M4975.17,-7534.1C4959.79,-7519.91 4942.24,-7503.73 4927.68,-7490.3\"/>\n",
1857       "<polygon fill=\"black\" stroke=\"black\" points=\"4982.52,-7540.89 4972.12,-7537.41 4978.85,-7537.5 4975.17,-7534.11 4975.17,-7534.11 4975.17,-7534.11 4978.85,-7537.5 4978.22,-7530.8 4982.52,-7540.89 4982.52,-7540.89\"/>\n",
1858       "<text text-anchor=\"middle\" x=\"4972.5\" y=\"-7511.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
1859       "</g>\n",
1860       "<!-- dssmrecommendernetwork0_concat1&#45;&gt;dssmrecommendernetwork0_dense4_relu_fwd -->\n",
1861       "<g id=\"edge139\" class=\"edge\"><title>dssmrecommendernetwork0_concat1&#45;&gt;dssmrecommendernetwork0_dense4_relu_fwd</title>\n",
1862       "<path fill=\"none\" stroke=\"black\" d=\"M5013,-7530.58C5013,-7517.28 5013,-7502.63 5013,-7490.3\"/>\n",
1863       "<polygon fill=\"black\" stroke=\"black\" points=\"5013,-7540.89 5008.5,-7530.89 5013,-7535.89 5013,-7530.89 5013,-7530.89 5013,-7530.89 5013,-7535.89 5017.5,-7530.89 5013,-7540.89 5013,-7540.89\"/>\n",
1864       "<text text-anchor=\"middle\" x=\"5023.5\" y=\"-7511.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
1865       "</g>\n",
1866       "<!-- dssmrecommendernetwork0_dropout1_fwd -->\n",
1867       "<g id=\"node134\" class=\"node\"><title>dssmrecommendernetwork0_dropout1_fwd</title>\n",
1868       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5140.5,-7708 4885.5,-7708 4885.5,-7650 5140.5,-7650 5140.5,-7708\"/>\n",
1869       "<text text-anchor=\"middle\" x=\"5013\" y=\"-7675.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_dropout1_fwd</text>\n",
1870       "</g>\n",
1871       "<!-- dssmrecommendernetwork0_dropout1_fwd&#45;&gt;dssmrecommendernetwork0_concat1 -->\n",
1872       "<g id=\"edge140\" class=\"edge\"><title>dssmrecommendernetwork0_dropout1_fwd&#45;&gt;dssmrecommendernetwork0_concat1</title>\n",
1873       "<path fill=\"none\" stroke=\"black\" d=\"M5013,-7639.58C5013,-7626.28 5013,-7611.63 5013,-7599.3\"/>\n",
1874       "<polygon fill=\"black\" stroke=\"black\" points=\"5013,-7649.89 5008.5,-7639.89 5013,-7644.89 5013,-7639.89 5013,-7639.89 5013,-7639.89 5013,-7644.89 5017.5,-7639.89 5013,-7649.89 5013,-7649.89\"/>\n",
1875       "<text text-anchor=\"middle\" x=\"5023.5\" y=\"-7620.8\" font-family=\"Times,serif\" font-size=\"14.00\">256</text>\n",
1876       "</g>\n",
1877       "<!-- dssmrecommendernetwork0_dense5_fwd -->\n",
1878       "<g id=\"node135\" class=\"node\"><title>dssmrecommendernetwork0_dense5_fwd</title>\n",
1879       "<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5066.5,-7817 4963.5,-7817 4963.5,-7759 5066.5,-7759 5066.5,-7817\"/>\n",
1880       "<text text-anchor=\"middle\" x=\"5015\" y=\"-7791.8\" font-family=\"Times,serif\" font-size=\"14.00\">FullyConnected</text>\n",
1881       "<text text-anchor=\"middle\" x=\"5015\" y=\"-7776.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
1882       "</g>\n",
1883       "<!-- dssmrecommendernetwork0_dense5_fwd&#45;&gt;dssmrecommendernetwork0_dropout1_fwd -->\n",
1884       "<g id=\"edge141\" class=\"edge\"><title>dssmrecommendernetwork0_dense5_fwd&#45;&gt;dssmrecommendernetwork0_dropout1_fwd</title>\n",
1885       "<path fill=\"none\" stroke=\"black\" d=\"M5014.28,-7748.58C5014.03,-7735.28 5013.76,-7720.63 5013.53,-7708.3\"/>\n",
1886       "<polygon fill=\"black\" stroke=\"black\" points=\"5014.47,-7758.89 5009.79,-7748.97 5014.38,-7753.89 5014.29,-7748.89 5014.29,-7748.89 5014.29,-7748.89 5014.38,-7753.89 5018.79,-7748.8 5014.47,-7758.89 5014.47,-7758.89\"/>\n",
1887       "<text text-anchor=\"middle\" x=\"5025.5\" y=\"-7729.8\" font-family=\"Times,serif\" font-size=\"14.00\">256</text>\n",
1888       "</g>\n",
1889       "<!-- dssmrecommendernetwork0_dense5_relu_fwd -->\n",
1890       "<g id=\"node136\" class=\"node\"><title>dssmrecommendernetwork0_dense5_relu_fwd</title>\n",
1891       "<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5093,-7926 4999,-7926 4999,-7868 5093,-7868 5093,-7926\"/>\n",
1892       "<text text-anchor=\"middle\" x=\"5046\" y=\"-7900.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
1893       "<text text-anchor=\"middle\" x=\"5046\" y=\"-7885.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
1894       "</g>\n",
1895       "<!-- dssmrecommendernetwork0_dense5_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense5_fwd -->\n",
1896       "<g id=\"edge142\" class=\"edge\"><title>dssmrecommendernetwork0_dense5_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense5_fwd</title>\n",
1897       "<path fill=\"none\" stroke=\"black\" d=\"M5034.98,-7857.98C5031.1,-7844.57 5026.81,-7829.75 5023.2,-7817.3\"/>\n",
1898       "<polygon fill=\"black\" stroke=\"black\" points=\"5037.86,-7867.89 5030.75,-7859.53 5036.46,-7863.08 5035.07,-7858.28 5035.07,-7858.28 5035.07,-7858.28 5036.46,-7863.08 5039.39,-7857.03 5037.86,-7867.89 5037.86,-7867.89\"/>\n",
1899       "<text text-anchor=\"middle\" x=\"5043.5\" y=\"-7838.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
1900       "</g>\n",
1901       "<!-- dssmrecommendernetwork0_expand_dims1 -->\n",
1902       "<g id=\"node137\" class=\"node\"><title>dssmrecommendernetwork0_expand_dims1</title>\n",
1903       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5275,-8035 5017,-8035 5017,-7977 5275,-7977 5275,-8035\"/>\n",
1904       "<text text-anchor=\"middle\" x=\"5146\" y=\"-8002.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_expand_dims1</text>\n",
1905       "</g>\n",
1906       "<!-- dssmrecommendernetwork0_expand_dims1&#45;&gt;dssmrecommendernetwork0_dense5_relu_fwd -->\n",
1907       "<g id=\"edge143\" class=\"edge\"><title>dssmrecommendernetwork0_expand_dims1&#45;&gt;dssmrecommendernetwork0_dense5_relu_fwd</title>\n",
1908       "<path fill=\"none\" stroke=\"black\" d=\"M5112.66,-7969.33C5099.58,-7955.33 5084.77,-7939.49 5072.45,-7926.3\"/>\n",
1909       "<polygon fill=\"black\" stroke=\"black\" points=\"5119.73,-7976.89 5109.61,-7972.65 5116.31,-7973.23 5112.9,-7969.58 5112.9,-7969.58 5112.9,-7969.58 5116.31,-7973.23 5116.19,-7966.51 5119.73,-7976.89 5119.73,-7976.89\"/>\n",
1910       "<text text-anchor=\"middle\" x=\"5112.5\" y=\"-7947.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
1911       "</g>\n",
1912       "<!-- dssmrecommendernetwork0_batch_dot0 -->\n",
1913       "<g id=\"node138\" class=\"node\"><title>dssmrecommendernetwork0_batch_dot0</title>\n",
1914       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5265.5,-8144 5026.5,-8144 5026.5,-8086 5265.5,-8086 5265.5,-8144\"/>\n",
1915       "<text text-anchor=\"middle\" x=\"5146\" y=\"-8111.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_batch_dot0</text>\n",
1916       "</g>\n",
1917       "<!-- dssmrecommendernetwork0_batch_dot0&#45;&gt;dssmrecommendernetwork0_expand_dims0 -->\n",
1918       "<g id=\"edge144\" class=\"edge\"><title>dssmrecommendernetwork0_batch_dot0&#45;&gt;dssmrecommendernetwork0_expand_dims0</title>\n",
1919       "<path fill=\"none\" stroke=\"black\" d=\"M5201.9,-8081.12C5222.11,-8070.58 5245.51,-8059.86 5268,-8053 5341.32,-8030.64 5426.36,-8019.14 5494.94,-8013.24\"/>\n",
1920       "<polygon fill=\"black\" stroke=\"black\" points=\"5192.84,-8085.94 5199.56,-8077.27 5197.26,-8083.59 5201.67,-8081.24 5201.67,-8081.24 5201.67,-8081.24 5197.26,-8083.59 5203.79,-8085.21 5192.84,-8085.94 5192.84,-8085.94\"/>\n",
1921       "<text text-anchor=\"middle\" x=\"5285\" y=\"-8056.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x1</text>\n",
1922       "</g>\n",
1923       "<!-- dssmrecommendernetwork0_batch_dot0&#45;&gt;dssmrecommendernetwork0_expand_dims1 -->\n",
1924       "<g id=\"edge145\" class=\"edge\"><title>dssmrecommendernetwork0_batch_dot0&#45;&gt;dssmrecommendernetwork0_expand_dims1</title>\n",
1925       "<path fill=\"none\" stroke=\"black\" d=\"M5146,-8075.58C5146,-8062.28 5146,-8047.63 5146,-8035.3\"/>\n",
1926       "<polygon fill=\"black\" stroke=\"black\" points=\"5146,-8085.89 5141.5,-8075.89 5146,-8080.89 5146,-8075.89 5146,-8075.89 5146,-8075.89 5146,-8080.89 5150.5,-8075.89 5146,-8085.89 5146,-8085.89\"/>\n",
1927       "<text text-anchor=\"middle\" x=\"5163\" y=\"-8056.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x1</text>\n",
1928       "</g>\n",
1929       "<!-- dssmrecommendernetwork0_norm0 -->\n",
1930       "<g id=\"node139\" class=\"node\"><title>dssmrecommendernetwork0_norm0</title>\n",
1931       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5731.5,-8144 5516.5,-8144 5516.5,-8086 5731.5,-8086 5731.5,-8144\"/>\n",
1932       "<text text-anchor=\"middle\" x=\"5624\" y=\"-8111.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_norm0</text>\n",
1933       "</g>\n",
1934       "<!-- dssmrecommendernetwork0_norm0&#45;&gt;dssmrecommendernetwork0_expand_dims0 -->\n",
1935       "<g id=\"edge146\" class=\"edge\"><title>dssmrecommendernetwork0_norm0&#45;&gt;dssmrecommendernetwork0_expand_dims0</title>\n",
1936       "<path fill=\"none\" stroke=\"black\" d=\"M5624,-8075.58C5624,-8062.28 5624,-8047.63 5624,-8035.3\"/>\n",
1937       "<polygon fill=\"black\" stroke=\"black\" points=\"5624,-8085.89 5619.5,-8075.89 5624,-8080.89 5624,-8075.89 5624,-8075.89 5624,-8075.89 5624,-8080.89 5628.5,-8075.89 5624,-8085.89 5624,-8085.89\"/>\n",
1938       "<text text-anchor=\"middle\" x=\"5641\" y=\"-8056.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x1</text>\n",
1939       "</g>\n",
1940       "<!-- dssmrecommendernetwork0_norm1 -->\n",
1941       "<g id=\"node140\" class=\"node\"><title>dssmrecommendernetwork0_norm1</title>\n",
1942       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5498.5,-8144 5283.5,-8144 5283.5,-8086 5498.5,-8086 5498.5,-8144\"/>\n",
1943       "<text text-anchor=\"middle\" x=\"5391\" y=\"-8111.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_norm1</text>\n",
1944       "</g>\n",
1945       "<!-- dssmrecommendernetwork0_norm1&#45;&gt;dssmrecommendernetwork0_expand_dims1 -->\n",
1946       "<g id=\"edge147\" class=\"edge\"><title>dssmrecommendernetwork0_norm1&#45;&gt;dssmrecommendernetwork0_expand_dims1</title>\n",
1947       "<path fill=\"none\" stroke=\"black\" d=\"M5349.52,-8079.92C5336.22,-8070.2 5321.03,-8060.28 5306,-8053 5291.95,-8046.19 5276.72,-8040.21 5261.41,-8035.01\"/>\n",
1948       "<polygon fill=\"black\" stroke=\"black\" points=\"5357.55,-8085.92 5346.84,-8083.53 5353.54,-8082.93 5349.54,-8079.93 5349.54,-8079.93 5349.54,-8079.93 5353.54,-8082.93 5352.24,-8076.33 5357.55,-8085.92 5357.55,-8085.92\"/>\n",
1949       "<text text-anchor=\"middle\" x=\"5348\" y=\"-8056.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x1</text>\n",
1950       "</g>\n",
1951       "<!-- dssmrecommendernetwork0__mul0 -->\n",
1952       "<g id=\"node141\" class=\"node\"><title>dssmrecommendernetwork0__mul0</title>\n",
1953       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5498,-8253 5284,-8253 5284,-8195 5498,-8195 5498,-8253\"/>\n",
1954       "<text text-anchor=\"middle\" x=\"5391\" y=\"-8220.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0__mul0</text>\n",
1955       "</g>\n",
1956       "<!-- dssmrecommendernetwork0__mul0&#45;&gt;dssmrecommendernetwork0_norm0 -->\n",
1957       "<g id=\"edge148\" class=\"edge\"><title>dssmrecommendernetwork0__mul0&#45;&gt;dssmrecommendernetwork0_norm0</title>\n",
1958       "<path fill=\"none\" stroke=\"black\" d=\"M5461.6,-8190.58C5493.87,-8175.76 5531.74,-8158.37 5562.79,-8144.11\"/>\n",
1959       "<polygon fill=\"black\" stroke=\"black\" points=\"5452.22,-8194.89 5459.43,-8186.62 5456.76,-8192.8 5461.31,-8190.71 5461.31,-8190.71 5461.31,-8190.71 5456.76,-8192.8 5463.18,-8194.8 5452.22,-8194.89 5452.22,-8194.89\"/>\n",
1960       "<text text-anchor=\"middle\" x=\"5525.5\" y=\"-8165.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
1961       "</g>\n",
1962       "<!-- dssmrecommendernetwork0__mul0&#45;&gt;dssmrecommendernetwork0_norm1 -->\n",
1963       "<g id=\"edge149\" class=\"edge\"><title>dssmrecommendernetwork0__mul0&#45;&gt;dssmrecommendernetwork0_norm1</title>\n",
1964       "<path fill=\"none\" stroke=\"black\" d=\"M5391,-8184.58C5391,-8171.28 5391,-8156.63 5391,-8144.3\"/>\n",
1965       "<polygon fill=\"black\" stroke=\"black\" points=\"5391,-8194.89 5386.5,-8184.89 5391,-8189.89 5391,-8184.89 5391,-8184.89 5391,-8184.89 5391,-8189.89 5395.5,-8184.89 5391,-8194.89 5391,-8194.89\"/>\n",
1966       "<text text-anchor=\"middle\" x=\"5394.5\" y=\"-8165.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
1967       "</g>\n",
1968       "<!-- dssmrecommendernetwork0__plusscalar0 -->\n",
1969       "<g id=\"node142\" class=\"node\"><title>dssmrecommendernetwork0__plusscalar0</title>\n",
1970       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5498,-8362 5252,-8362 5252,-8304 5498,-8304 5498,-8362\"/>\n",
1971       "<text text-anchor=\"middle\" x=\"5375\" y=\"-8329.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0__plusscalar0</text>\n",
1972       "</g>\n",
1973       "<!-- dssmrecommendernetwork0__plusscalar0&#45;&gt;dssmrecommendernetwork0__mul0 -->\n",
1974       "<g id=\"edge150\" class=\"edge\"><title>dssmrecommendernetwork0__plusscalar0&#45;&gt;dssmrecommendernetwork0__mul0</title>\n",
1975       "<path fill=\"none\" stroke=\"black\" d=\"M5380.69,-8293.98C5382.69,-8280.57 5384.91,-8265.75 5386.77,-8253.3\"/>\n",
1976       "<polygon fill=\"black\" stroke=\"black\" points=\"5379.2,-8303.89 5376.23,-8293.33 5379.94,-8298.94 5380.68,-8294 5380.68,-8294 5380.68,-8294 5379.94,-8298.94 5385.13,-8294.66 5379.2,-8303.89 5379.2,-8303.89\"/>\n",
1977       "<text text-anchor=\"middle\" x=\"5387.5\" y=\"-8274.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
1978       "</g>\n",
1979       "<!-- dssmrecommendernetwork0_expand_dims2 -->\n",
1980       "<g id=\"node143\" class=\"node\"><title>dssmrecommendernetwork0_expand_dims2</title>\n",
1981       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5479,-8471 5221,-8471 5221,-8413 5479,-8413 5479,-8471\"/>\n",
1982       "<text text-anchor=\"middle\" x=\"5350\" y=\"-8438.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_expand_dims2</text>\n",
1983       "</g>\n",
1984       "<!-- dssmrecommendernetwork0_expand_dims2&#45;&gt;dssmrecommendernetwork0__plusscalar0 -->\n",
1985       "<g id=\"edge151\" class=\"edge\"><title>dssmrecommendernetwork0_expand_dims2&#45;&gt;dssmrecommendernetwork0__plusscalar0</title>\n",
1986       "<path fill=\"none\" stroke=\"black\" d=\"M5358.88,-8402.98C5362.02,-8389.57 5365.48,-8374.75 5368.39,-8362.3\"/>\n",
1987       "<polygon fill=\"black\" stroke=\"black\" points=\"5356.57,-8412.89 5354.46,-8402.13 5357.71,-8408.02 5358.84,-8403.15 5358.84,-8403.15 5358.84,-8403.15 5357.71,-8408.02 5363.23,-8404.17 5356.57,-8412.89 5356.57,-8412.89\"/>\n",
1988       "<text text-anchor=\"middle\" x=\"5367.5\" y=\"-8383.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n",
1989       "</g>\n",
1990       "<!-- dssmrecommendernetwork0__div0 -->\n",
1991       "<g id=\"node144\" class=\"node\"><title>dssmrecommendernetwork0__div0</title>\n",
1992       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5269.5,-8580 5060.5,-8580 5060.5,-8522 5269.5,-8522 5269.5,-8580\"/>\n",
1993       "<text text-anchor=\"middle\" x=\"5165\" y=\"-8547.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0__div0</text>\n",
1994       "</g>\n",
1995       "<!-- dssmrecommendernetwork0__div0&#45;&gt;dssmrecommendernetwork0_batch_dot0 -->\n",
1996       "<g id=\"edge152\" class=\"edge\"><title>dssmrecommendernetwork0__div0&#45;&gt;dssmrecommendernetwork0_batch_dot0</title>\n",
1997       "<path fill=\"none\" stroke=\"black\" d=\"M5156.47,-8511.74C5152.65,-8491.43 5149,-8465.98 5149,-8443 5149,-8443 5149,-8443 5149,-8223 5149,-8196.24 5148.05,-8165.73 5147.22,-8144.15\"/>\n",
1998       "<polygon fill=\"black\" stroke=\"black\" points=\"5158.4,-8521.56 5152.05,-8512.62 5157.44,-8516.66 5156.47,-8511.75 5156.47,-8511.75 5156.47,-8511.75 5157.44,-8516.66 5160.89,-8510.88 5158.4,-8521.56 5158.4,-8521.56\"/>\n",
1999       "<text text-anchor=\"middle\" x=\"5159.5\" y=\"-8329.3\" font-family=\"Times,serif\" font-size=\"14.00\">1x1</text>\n",
2000       "</g>\n",
2001       "<!-- dssmrecommendernetwork0__div0&#45;&gt;dssmrecommendernetwork0_expand_dims2 -->\n",
2002       "<g id=\"edge153\" class=\"edge\"><title>dssmrecommendernetwork0__div0&#45;&gt;dssmrecommendernetwork0_expand_dims2</title>\n",
2003       "<path fill=\"none\" stroke=\"black\" d=\"M5222.38,-8516.81C5247.71,-8502.16 5277.17,-8485.12 5301.4,-8471.11\"/>\n",
2004       "<polygon fill=\"black\" stroke=\"black\" points=\"5213.61,-8521.89 5220.01,-8512.98 5217.93,-8519.38 5222.26,-8516.88 5222.26,-8516.88 5222.26,-8516.88 5217.93,-8519.38 5224.52,-8520.78 5213.61,-8521.89 5213.61,-8521.89\"/>\n",
2005       "<text text-anchor=\"middle\" x=\"5279.5\" y=\"-8492.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x1</text>\n",
2006       "</g>\n",
2007       "<!-- dssmrecommendernetwork0_squeeze0 -->\n",
2008       "<g id=\"node145\" class=\"node\"><title>dssmrecommendernetwork0_squeeze0</title>\n",
2009       "<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5279,-8689 5051,-8689 5051,-8631 5279,-8631 5279,-8689\"/>\n",
2010       "<text text-anchor=\"middle\" x=\"5165\" y=\"-8656.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_squeeze0</text>\n",
2011       "</g>\n",
2012       "<!-- dssmrecommendernetwork0_squeeze0&#45;&gt;dssmrecommendernetwork0__div0 -->\n",
2013       "<g id=\"edge154\" class=\"edge\"><title>dssmrecommendernetwork0_squeeze0&#45;&gt;dssmrecommendernetwork0__div0</title>\n",
2014       "<path fill=\"none\" stroke=\"black\" d=\"M5165,-8620.58C5165,-8607.28 5165,-8592.63 5165,-8580.3\"/>\n",
2015       "<polygon fill=\"black\" stroke=\"black\" points=\"5165,-8630.89 5160.5,-8620.89 5165,-8625.89 5165,-8620.89 5165,-8620.89 5165,-8620.89 5165,-8625.89 5169.5,-8620.89 5165,-8630.89 5165,-8630.89\"/>\n",
2016       "<text text-anchor=\"middle\" x=\"5175.5\" y=\"-8601.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x1</text>\n",
2017       "</g>\n",
2018       "</g>\n",
2019       "</svg>\n"
2020      ],
2021      "text/plain": [
2022       "<graphviz.dot.Digraph at 0x7ff0a64a48d0>"
2023      ]
2024     },
2025     "execution_count": 11,
2026     "metadata": {},
2027     "output_type": "execute_result"
2028    }
2029   ],
2030   "source": [
2031    "mx.viz.plot_network(network(\n",
2032    "                        mx.sym.var('user'), mx.sym.var('query_text'), mx.sym.var('title'), mx.sym.var('image')),\n",
2033    "                    shape={'user': (1,1), 'query_text': (1,30), 'title': (1,30), 'image': (1,3,224,224)},\n",
2034    "                    node_attrs={\"fixedsize\":\"False\"})"
2035   ]
2036  },
2037  {
2038   "cell_type": "markdown",
2039   "metadata": {},
2040   "source": [
2041    "We can print the summary of the network using dummy data. We can see it is already training on 32M parameters!"
2042   ]
2043  },
2044  {
2045   "cell_type": "code",
2046   "execution_count": 12,
2047   "metadata": {
2048    "collapsed": true
2049   },
2050   "outputs": [
2051    {
2052     "name": "stdout",
2053     "output_type": "stream",
2054     "text": [
2055      "--------------------------------------------------------------------------------\n",
2056      "        Layer (type)                                Output Shape         Param #\n",
2057      "================================================================================\n",
2058      "               Input    (2, 1), (2, 5), (2, 5), (2, 3, 224, 224)               0\n",
2059      "         Embedding-1                                 (2, 1, 128)        12800000\n",
2060      "        Activation-2  <Symbol dssmrecommendernetwork0_dense0_relu_fwd>               0\n",
2061      "        Activation-3                                    (2, 128)               0\n",
2062      "             Dense-4                                    (2, 128)           16512\n",
2063      "         Embedding-5                                 (2, 5, 128)         3840000\n",
2064      "              LSTM-6                                 (5, 2, 256)          659456\n",
2065      "        Activation-7  <Symbol dssmrecommendernetwork0_dense1_relu_fwd>               0\n",
2066      "        Activation-8                                    (2, 128)               0\n",
2067      "             Dense-9                                    (2, 128)           32896\n",
2068      "          Dropout-10                                    (2, 256)               0\n",
2069      "       Activation-11  <Symbol dssmrecommendernetwork0_dense2_relu_fwd>               0\n",
2070      "       Activation-12                                    (2, 128)               0\n",
2071      "            Dense-13                                    (2, 128)           32896\n",
2072      "        Embedding-14                                 (2, 5, 128)         3840000\n",
2073      "             LSTM-15                                 (5, 2, 256)          659456\n",
2074      "       Activation-16  <Symbol dssmrecommendernetwork0_dense3_relu_fwd>               0\n",
2075      "       Activation-17                                    (2, 128)               0\n",
2076      "            Dense-18                                    (2, 128)           32896\n",
2077      "        BatchNorm-19                            (2, 3, 224, 224)              12\n",
2078      "           Conv2D-20                           (2, 64, 112, 112)            9408\n",
2079      "        BatchNorm-21                           (2, 64, 112, 112)             256\n",
2080      "       Activation-22                           (2, 64, 112, 112)               0\n",
2081      "        MaxPool2D-23                             (2, 64, 56, 56)               0\n",
2082      "        BatchNorm-24                             (2, 64, 56, 56)             256\n",
2083      "           Conv2D-25                             (2, 64, 56, 56)           36864\n",
2084      "        BatchNorm-26                             (2, 64, 56, 56)             256\n",
2085      "           Conv2D-27                             (2, 64, 56, 56)           36864\n",
2086      "     BasicBlockV2-28                             (2, 64, 56, 56)               0\n",
2087      "        BatchNorm-29                             (2, 64, 56, 56)             256\n",
2088      "           Conv2D-30                             (2, 64, 56, 56)           36864\n",
2089      "        BatchNorm-31                             (2, 64, 56, 56)             256\n",
2090      "           Conv2D-32                             (2, 64, 56, 56)           36864\n",
2091      "     BasicBlockV2-33                             (2, 64, 56, 56)               0\n",
2092      "        BatchNorm-34                             (2, 64, 56, 56)             256\n",
2093      "           Conv2D-35                            (2, 128, 28, 28)            8192\n",
2094      "           Conv2D-36                            (2, 128, 28, 28)           73728\n",
2095      "        BatchNorm-37                            (2, 128, 28, 28)             512\n",
2096      "           Conv2D-38                            (2, 128, 28, 28)          147456\n",
2097      "     BasicBlockV2-39                            (2, 128, 28, 28)               0\n",
2098      "        BatchNorm-40                            (2, 128, 28, 28)             512\n",
2099      "           Conv2D-41                            (2, 128, 28, 28)          147456\n",
2100      "        BatchNorm-42                            (2, 128, 28, 28)             512\n",
2101      "           Conv2D-43                            (2, 128, 28, 28)          147456\n",
2102      "     BasicBlockV2-44                            (2, 128, 28, 28)               0\n",
2103      "        BatchNorm-45                            (2, 128, 28, 28)             512\n",
2104      "           Conv2D-46                            (2, 256, 14, 14)           32768\n",
2105      "           Conv2D-47                            (2, 256, 14, 14)          294912\n",
2106      "        BatchNorm-48                            (2, 256, 14, 14)            1024\n",
2107      "           Conv2D-49                            (2, 256, 14, 14)          589824\n",
2108      "     BasicBlockV2-50                            (2, 256, 14, 14)               0\n",
2109      "        BatchNorm-51                            (2, 256, 14, 14)            1024\n",
2110      "           Conv2D-52                            (2, 256, 14, 14)          589824\n",
2111      "        BatchNorm-53                            (2, 256, 14, 14)            1024\n",
2112      "           Conv2D-54                            (2, 256, 14, 14)          589824\n",
2113      "     BasicBlockV2-55                            (2, 256, 14, 14)               0\n",
2114      "        BatchNorm-56                            (2, 256, 14, 14)            1024\n",
2115      "           Conv2D-57                              (2, 512, 7, 7)          131072\n",
2116      "           Conv2D-58                              (2, 512, 7, 7)         1179648\n",
2117      "        BatchNorm-59                              (2, 512, 7, 7)            2048\n",
2118      "           Conv2D-60                              (2, 512, 7, 7)         2359296\n",
2119      "     BasicBlockV2-61                              (2, 512, 7, 7)               0\n",
2120      "        BatchNorm-62                              (2, 512, 7, 7)            2048\n",
2121      "           Conv2D-63                              (2, 512, 7, 7)         2359296\n",
2122      "        BatchNorm-64                              (2, 512, 7, 7)            2048\n",
2123      "           Conv2D-65                              (2, 512, 7, 7)         2359296\n",
2124      "     BasicBlockV2-66                              (2, 512, 7, 7)               0\n",
2125      "        BatchNorm-67                              (2, 512, 7, 7)            2048\n",
2126      "       Activation-68                              (2, 512, 7, 7)               0\n",
2127      "  GlobalAvgPool2D-69                              (2, 512, 1, 1)               0\n",
2128      "          Flatten-70                                    (2, 512)               0\n",
2129      "       Activation-71  <Symbol dssmrecommendernetwork0_dense4_relu_fwd>               0\n",
2130      "       Activation-72                                    (2, 128)               0\n",
2131      "            Dense-73                                    (2, 128)           65664\n",
2132      "          Dropout-74                                    (2, 256)               0\n",
2133      "       Activation-75  <Symbol dssmrecommendernetwork0_dense5_relu_fwd>               0\n",
2134      "       Activation-76                                    (2, 128)               0\n",
2135      "            Dense-77                                    (2, 128)           32896\n",
2136      "DSSMRecommenderNetwork-78                                      (2, 1)               0\n",
2137      "================================================================================\n",
2138      "Parameters in forward computation graph, duplicate included\n",
2139      "   Total params: 33195468\n",
2140      "   Trainable params: 33187520\n",
2141      "   Non-trainable params: 7948\n",
2142      "Shared params in forward computation graph: 0\n",
2143      "Unique parameters in model: 33195468\n",
2144      "--------------------------------------------------------------------------------\n"
2145     ]
2146    }
2147   ],
2148   "source": [
2149    "user  = mx.nd.array([[200], [100]], ctx)\n",
2150    "query = mx.nd.array([[10, 20, 0, 0, 0], [40, 50, 0, 0, 0]], ctx) # Example of an encoded text\n",
2151    "title = mx.nd.array([[10, 20, 0, 0, 0], [40, 50, 0, 0, 0]], ctx) # Example of an encoded text\n",
2152    "image = mx.nd.random.uniform(shape=(2,3, 224,224), ctx=ctx) # Example of an encoded image\n",
2153    "\n",
2154    "\n",
2155    "network.summary(user, query, title, image)"
2156   ]
2157  },
2158  {
2159   "cell_type": "code",
2160   "execution_count": 13,
2161   "metadata": {},
2162   "outputs": [
2163    {
2164     "data": {
2165      "text/plain": [
2166       "\n",
2167       "[[0.34404233]\n",
2168       " [0.3254302 ]]\n",
2169       "<NDArray 2x1 @gpu(0)>"
2170      ]
2171     },
2172     "execution_count": 13,
2173     "metadata": {},
2174     "output_type": "execute_result"
2175    }
2176   ],
2177   "source": [
2178    "network(user, query, title, image)"
2179   ]
2180  },
2181  {
2182   "cell_type": "markdown",
2183   "metadata": {},
2184   "source": [
2185    "The output is the similarity, if we wanted to train it on real data, we would need to minimize the Cosine loss, 1 - cosine_similarity."
2186   ]
2187  }
2188 ],
2189 "metadata": {
2190  "kernelspec": {
2191   "display_name": "Python 3",
2192   "language": "python",
2193   "name": "python3"
2194  },
2195  "language_info": {
2196   "codemirror_mode": {
2197    "name": "ipython",
2198    "version": 3
2199   },
2200   "file_extension": ".py",
2201   "mimetype": "text/x-python",
2202   "name": "python",
2203   "nbconvert_exporter": "python",
2204   "pygments_lexer": "ipython3",
2205   "version": "3.6.4"
2206  }
2207 },
2208 "nbformat": 4,
2209 "nbformat_minor": 2
2210}
2211