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