1{
2  "version": 3,
3  "operator_codes": [
4    {
5      "deprecated_builtin_code": 44,
6      "version": 1,
7      "builtin_code": "UNIDIRECTIONAL_SEQUENCE_LSTM"
8    }
9  ],
10  "subgraphs": [
11    {
12      "tensors": [
13        {
14          "shape": [
15            batch_size,
16            time_steps,
17            input_size
18          ],
19          "type": "INT16",
20          "buffer": 0,
21          "name": "serving_default_input:0",
22          "quantization": {
23            "scale": [
24              input_scale
25            ],
26            "zero_point": [
27              input_zero_point
28            ],
29            "details_type": "NONE",
30            "quantized_dimension": 0
31          },
32          "is_variable": false,
33          "has_rank": true
34        },
35        {
36          "shape": [
37            hidden_size
38          ],
39          "type": "INT64",
40          "buffer": 2,
41          "name": "arith.constant4",
42          "quantization": {
43            "scale": [
44              0.000029
45            ],
46            "zero_point": [
47              0
48            ],
49            "details_type": "NONE",
50            "quantized_dimension": 0
51          },
52          "is_variable": false,
53          "has_rank": true
54        },
55        {
56          "shape": [
57            hidden_size
58          ],
59          "type": "INT64",
60          "buffer": 3,
61          "name": "arith.constant5",
62          "quantization": {
63            "scale": [
64              0.000024
65            ],
66            "zero_point": [
67              0
68            ],
69            "details_type": "NONE",
70            "quantized_dimension": 0
71          },
72          "is_variable": false,
73          "has_rank": true
74        },
75        {
76          "shape": [
77            hidden_size
78          ],
79          "type": "INT64",
80          "buffer": 4,
81          "name": "arith.constant6",
82          "quantization": {
83            "scale": [
84              0.000028
85            ],
86            "zero_point": [
87              0
88            ],
89            "details_type": "NONE",
90            "quantized_dimension": 0
91          },
92          "is_variable": false,
93          "has_rank": true
94        },
95        {
96          "shape": [
97            hidden_size
98          ],
99          "type": "INT64",
100          "buffer": 5,
101          "name": "arith.constant7",
102          "quantization": {
103            "scale": [
104              0.00002
105            ],
106            "zero_point": [
107              0
108            ],
109            "details_type": "NONE",
110            "quantized_dimension": 0
111          },
112          "is_variable": false,
113          "has_rank": true
114        },
115        {
116          "shape": [
117            hidden_size,
118            hidden_size
119          ],
120          "type": "INT8",
121          "buffer": 6,
122          "name": "arith.constant",
123          "quantization": {
124            "scale": [
125              output_gate_hidden_scale
126            ],
127            "zero_point": [
128              0
129            ],
130            "details_type": "NONE",
131            "quantized_dimension": 0
132          },
133          "is_variable": false,
134          "has_rank": true
135        },
136        {
137          "shape": [
138            hidden_size,
139            hidden_size
140          ],
141          "type": "INT8",
142          "buffer": 7,
143          "name": "arith.constant1",
144          "quantization": {
145            "scale": [
146              cell_gate_hidden_scale
147            ],
148            "zero_point": [
149              0
150            ],
151            "details_type": "NONE",
152            "quantized_dimension": 0
153          },
154          "is_variable": false,
155          "has_rank": true
156        },
157        {
158          "shape": [
159            hidden_size,
160            hidden_size
161          ],
162          "type": "INT8",
163          "buffer": 8,
164          "name": "arith.constant2",
165          "quantization": {
166            "scale": [
167              forget_gate_hidden_scale
168            ],
169            "zero_point": [
170              0
171            ],
172            "details_type": "NONE",
173            "quantized_dimension": 0
174          },
175          "is_variable": false,
176          "has_rank": true
177        },
178        {
179          "shape": [
180            hidden_size,
181            hidden_size
182          ],
183          "type": "INT8",
184          "buffer": 9,
185          "name": "arith.constant3",
186          "quantization": {
187            "scale": [
188              input_gate_hidden_scale
189            ],
190            "zero_point": [
191              0
192            ],
193            "details_type": "NONE",
194            "quantized_dimension": 0
195          },
196          "is_variable": false,
197          "has_rank": true
198        },
199        {
200          "shape": [
201            hidden_size,
202            input_size
203          ],
204          "type": "INT8",
205          "buffer": 10,
206          "name": "arith.constant8",
207          "quantization": {
208            "scale": [
209              output_gate_input_scale
210            ],
211            "zero_point": [
212              0
213            ],
214            "details_type": "NONE",
215            "quantized_dimension": 0
216          },
217          "is_variable": false,
218          "has_rank": true
219        },
220        {
221          "shape": [
222            hidden_size,
223            input_size
224          ],
225          "type": "INT8",
226          "buffer": 11,
227          "name": "arith.constant9",
228          "quantization": {
229            "scale": [
230              cell_gate_input_scale
231            ],
232            "zero_point": [
233              0
234            ],
235            "details_type": "NONE",
236            "quantized_dimension": 0
237          },
238          "is_variable": false,
239          "has_rank": true
240        },
241        {
242          "shape": [
243            hidden_size,
244            input_size
245          ],
246          "type": "INT8",
247          "buffer": 12,
248          "name": "arith.constant10",
249          "quantization": {
250            "scale": [
251              forget_gate_input_scale
252            ],
253            "zero_point": [
254              0
255            ],
256            "details_type": "NONE",
257            "quantized_dimension": 0
258          },
259          "is_variable": false,
260          "has_rank": true
261        },
262        {
263          "shape": [
264            hidden_size,
265            input_size
266          ],
267          "type": "INT8",
268          "buffer": 13,
269          "name": "arith.constant11",
270          "quantization": {
271            "scale": [
272              input_gate_input_scale
273            ],
274            "zero_point": [
275              0
276            ],
277            "details_type": "NONE",
278            "quantized_dimension": 0
279          },
280          "is_variable": false,
281          "has_rank": true
282        },
283        {
284          "shape": [
285            batch_size,
286            hidden_size
287          ],
288          "type": "INT16",
289          "buffer": 0,
290          "name": "tfl.pseudo_qconst",
291          "quantization": {
292            "scale": [
293              output_scale
294            ],
295            "zero_point": [
296              output_zero_point
297            ],
298            "details_type": "NONE",
299            "quantized_dimension": 0
300          },
301          "is_variable": true,
302          "has_rank": true
303        },
304        {
305          "shape": [
306            batch_size,
307            hidden_size
308          ],
309          "type": "INT16",
310          "buffer": 0,
311          "name": "tfl.pseudo_qconst1",
312          "quantization": {
313            "scale": [
314              cell_scale
315            ],
316            "zero_point": [
317              0
318            ],
319            "details_type": "NONE",
320            "quantized_dimension": 0
321          },
322          "is_variable": true,
323          "has_rank": true
324        },
325        {
326          "shape": [
327            0
328          ],
329          "type": "FLOAT32",
330          "buffer": 0,
331          "name": "input_to_input_intermediate",
332          "is_variable": false,
333          "has_rank": true
334        },
335        {
336          "shape": [
337            0
338          ],
339          "type": "FLOAT32",
340          "buffer": 0,
341          "name": "input_to_forget_intermediate",
342          "is_variable": false,
343          "has_rank": true
344        },
345        {
346          "shape": [
347            0
348          ],
349          "type": "FLOAT32",
350          "buffer": 0,
351          "name": "input_to_cell_intermediate",
352          "is_variable": false,
353          "has_rank": true
354        },
355        {
356          "shape": [
357            0
358          ],
359          "type": "FLOAT32",
360          "buffer": 0,
361          "name": "input_to_output_intermediate",
362          "is_variable": false,
363          "has_rank": true
364        },
365        {
366          "shape": [
367            0
368          ],
369          "type": "INT16",
370          "buffer": 0,
371          "name": "effective_hidden_scale_intermediate",
372          "quantization": {
373            "scale": [
374              0
375            ],
376            "zero_point": [
377              0
378            ],
379            "details_type": "NONE",
380            "quantized_dimension": 0
381          },
382          "is_variable": false,
383          "has_rank": true
384        },
385        {
386          "shape": [
387            batch_size,
388            time_steps,
389            hidden_size
390          ],
391          "type": "INT16",
392          "buffer": 16,
393          "name": "StatefulPartitionedCall:0",
394          "quantization": {
395            "scale": [
396              output_scale
397            ],
398            "zero_point": [
399              output_zero_point
400            ],
401            "details_type": "NONE",
402            "quantized_dimension": 0
403          },
404          "is_variable": false,
405          "has_rank": true
406        }
407      ],
408      "inputs": [
409        0
410      ],
411      "outputs": [
412        20
413      ],
414      "operators": [
415        {
416          "opcode_index": 0,
417          "inputs": [
418            0,
419            12,
420            11,
421            10,
422            9,
423            8,
424            7,
425            6,
426            5,
427            -1,
428            -1,
429            -1,
430            4,
431            3,
432            2,
433            1,
434            -1,
435            -1,
436            13,
437            14,
438            -1,
439            -1,
440            -1,
441            -1
442          ],
443          "outputs": [
444            20
445          ],
446          "builtin_options_type": "UnidirectionalSequenceLSTMOptions",
447          "builtin_options": {
448            "fused_activation_function": "TANH",
449            "cell_clip": cell_clip,
450            "proj_clip": 0.0,
451            "time_major": time_major,
452            "asymmetric_quantize_inputs": false,
453            "diagonal_recurrent_tensors": false
454          },
455          "custom_options_format": "FLEXBUFFERS",
456          "intermediates": [
457            15,
458            16,
459            17,
460            18,
461            19
462          ],
463          "large_custom_options_offset": 0,
464          "large_custom_options_size": 0,
465          "builtin_options_2_type": "NONE"
466        }
467      ],
468      "name": "main"
469    }
470  ],
471  "description": "MLIR Converted.",
472  "buffers": [
473    {
474      "offset": 0,
475      "size": 10
476    },
477    {
478      "offset": 0,
479      "size": 0
480    },
481    {
482      "data": [
483        output_gate_bias
484      ],
485      "offset": 0,
486      "size": 0
487    },
488    {
489"data": [
490        cell_gate_bias
491      ],
492      "offset": 0,
493      "size": 0
494    },
495    {
496"data": [
497        forget_gate_bias
498      ],
499      "offset": 0,
500      "size": 0
501    },
502    {
503"data": [
504        input_gate_bias
505      ],
506      "offset": 0,
507      "size": 0
508    },
509    {
510      "data": [
511        output_gate_hidden_weights
512      ],
513      "offset": 0,
514      "size": 0
515    },
516    {
517      "data": [
518        cell_gate_hidden_weights
519      ],
520      "offset": 0,
521      "size": 0
522    },
523    {
524      "data": [
525        forget_gate_hidden_weights
526      ],
527      "offset": 0,
528      "size": 0
529    },
530    {
531      "data": [
532        input_gate_hidden_weights
533      ],
534      "offset": 0,
535      "size": 0
536    },
537    {
538      "data": [
539        output_gate_input_weights
540      ],
541      "offset": 0,
542      "size": 0
543    },
544    {
545      "data": [
546        cell_gate_input_weights
547      ],
548      "offset": 0,
549      "size": 0
550    },
551    {
552      "data": [
553        forget_gate_input_weights
554      ],
555      "offset": 0,
556      "size": 0
557    },
558    {
559      "data": [
560        input_gate_input_weights
561      ],
562      "offset": 0,
563      "size": 0
564    },
565    {
566      "data": [
567        0,
568        0,
569        0,
570        0
571      ],
572      "offset": 0,
573      "size": 0
574    },
575    {
576      "offset": 0,
577      "size": 0
578    },
579    {
580      "offset": 0,
581      "size": 0
582    },
583    {
584      "offset": 0,
585      "size": 0
586    },
587    {
588      "offset": 0,
589      "size": 0
590    }
591  ],
592  "metadata": [
593    {
594      "name": "min_runtime_version",
595      "buffer": 17
596    },
597    {
598      "name": "CONVERSION_METADATA",
599      "buffer": 18
600    }
601  ],
602  "signature_defs": [
603    {
604      "inputs": [
605        {
606          "name": "input",
607          "tensor_index": 0
608        }
609      ],
610      "outputs": [
611        {
612          "name": "lstm",
613          "tensor_index": 20
614        }
615      ],
616      "signature_key": "serving_default",
617      "subgraph_index": 0
618    }
619  ]
620}
621