Advertisement
Guest User

Untitled

a guest
Nov 25th, 2020
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 48.20 KB | None | 0 0
  1. ---------------------------------------------------------------------------
  2. InvalidArgumentError Traceback (most recent call last)
  3. <ipython-input-7-c548bab089a8> in <module>
  4. ----> 1 tflite_model = converter.convert()
  5.  
  6. ~/.env/lib/python3.8/site-packages/tensorflow/lite/python/lite.py in convert(self)
  7. 1116 Invalid quantization parameters.
  8. 1117 """
  9. -> 1118 return super(TFLiteConverterV2, self).convert()
  10. 1119
  11. 1120
  12.  
  13. ~/.env/lib/python3.8/site-packages/tensorflow/lite/python/lite.py in convert(self)
  14. 919
  15. 920 frozen_func, graph_def = (
  16. --> 921 _convert_to_constants.convert_variables_to_constants_v2_as_graph(
  17. 922 self._funcs[0], lower_control_flow=False))
  18. 923
  19.  
  20. ~/.env/lib/python3.8/site-packages/tensorflow/python/framework/convert_to_constants.py in convert_variables_to_constants_v2_as_graph(func, lower_control_flow, aggressive_inlining)
  21. 1108 converter_data=converter_data)
  22. 1109
  23. -> 1110 frozen_func = _construct_concrete_function(func, output_graph_def,
  24. 1111 converted_input_indices)
  25. 1112 return frozen_func, output_graph_def
  26.  
  27. ~/.env/lib/python3.8/site-packages/tensorflow/python/framework/convert_to_constants.py in _construct_concrete_function(func, output_graph_def, converted_input_indices)
  28. 999 new_input_names = [tensor.name for tensor in not_converted_inputs]
  29. 1000 new_output_names = [tensor.name for tensor in func.outputs]
  30. -> 1001 new_func = wrap_function.function_from_graph_def(output_graph_def,
  31. 1002 new_input_names,
  32. 1003 new_output_names)
  33.  
  34. ~/.env/lib/python3.8/site-packages/tensorflow/python/eager/wrap_function.py in function_from_graph_def(graph_def, inputs, outputs)
  35. 648 importer.import_graph_def(graph_def, name="")
  36. 649
  37. --> 650 wrapped_import = wrap_function(_imports_graph_def, [])
  38. 651 import_graph = wrapped_import.graph
  39. 652 return wrapped_import.prune(
  40.  
  41. ~/.env/lib/python3.8/site-packages/tensorflow/python/eager/wrap_function.py in wrap_function(fn, signature, name)
  42. 618 if name is not None:
  43. 619 func_graph_name = "wrapped_function_" + name
  44. --> 620 return WrappedFunction(
  45. 621 func_graph.func_graph_from_py_func(
  46. 622 func_graph_name,
  47.  
  48. ~/.env/lib/python3.8/site-packages/tensorflow/python/eager/wrap_function.py in __init__(self, fn_graph, variable_holder, attrs, signature)
  49. 227 # properly reflects the new captured inputs.
  50. 228 for f in fn_graph.as_graph_def().library.function:
  51. --> 229 context.context().add_function_def(f)
  52. 230 self._signature = signature
  53. 231 super(WrappedFunction, self).__init__(fn_graph, attrs=attrs)
  54.  
  55. ~/.env/lib/python3.8/site-packages/tensorflow/python/eager/context.py in add_function_def(self, fdef)
  56. 1135 self.ensure_initialized()
  57. 1136 fdef_string = fdef.SerializeToString()
  58. -> 1137 pywrap_tfe.TFE_ContextAddFunctionDef(self._handle, fdef_string,
  59. 1138 len(fdef_string))
  60. 1139
  61.  
  62. InvalidArgumentError: Attempting to add a duplicate function with name: __inference_standard_lstm_32975 where the previous and current definitions differ. Previous definition: signature {
  63. name: "__inference_standard_lstm_32975"
  64. input_arg {
  65. name: "inputs"
  66. type: DT_FLOAT
  67. }
  68. input_arg {
  69. name: "init_h"
  70. type: DT_FLOAT
  71. }
  72. input_arg {
  73. name: "init_c"
  74. type: DT_FLOAT
  75. }
  76. input_arg {
  77. name: "kernel"
  78. type: DT_FLOAT
  79. }
  80. input_arg {
  81. name: "recurrent_kernel"
  82. type: DT_FLOAT
  83. }
  84. input_arg {
  85. name: "bias"
  86. type: DT_FLOAT
  87. }
  88. output_arg {
  89. name: "identity"
  90. type: DT_FLOAT
  91. }
  92. output_arg {
  93. name: "identity_1"
  94. type: DT_FLOAT
  95. }
  96. output_arg {
  97. name: "identity_2"
  98. type: DT_FLOAT
  99. }
  100. output_arg {
  101. name: "identity_3"
  102. type: DT_FLOAT
  103. }
  104. output_arg {
  105. name: "identity_4"
  106. type: DT_FLOAT
  107. }
  108. }
  109. node_def {
  110. name: "transpose/perm"
  111. op: "Const"
  112. attr {
  113. key: "dtype"
  114. value {
  115. type: DT_INT32
  116. }
  117. }
  118. attr {
  119. key: "value"
  120. value {
  121. tensor {
  122. dtype: DT_INT32
  123. tensor_shape {
  124. dim {
  125. size: 3
  126. }
  127. }
  128. tensor_content: "\001\000\000\000\000\000\000\000\002\000\000\000"
  129. }
  130. }
  131. }
  132. experimental_debug_info {
  133. original_node_names: "transpose/perm"
  134. }
  135. }
  136. node_def {
  137. name: "transpose"
  138. op: "Transpose"
  139. input: "inputs"
  140. input: "transpose/perm:output:0"
  141. attr {
  142. key: "T"
  143. value {
  144. type: DT_FLOAT
  145. }
  146. }
  147. attr {
  148. key: "Tperm"
  149. value {
  150. type: DT_INT32
  151. }
  152. }
  153. experimental_debug_info {
  154. original_node_names: "transpose"
  155. }
  156. }
  157. node_def {
  158. name: "Shape"
  159. op: "Const"
  160. attr {
  161. key: "dtype"
  162. value {
  163. type: DT_INT32
  164. }
  165. }
  166. attr {
  167. key: "value"
  168. value {
  169. tensor {
  170. dtype: DT_INT32
  171. tensor_shape {
  172. dim {
  173. size: 3
  174. }
  175. }
  176. tensor_content: "\001\000\000\000\001\000\000\000@\001\000\000"
  177. }
  178. }
  179. }
  180. experimental_debug_info {
  181. original_node_names: "Shape"
  182. }
  183. }
  184. node_def {
  185. name: "strided_slice/stack"
  186. op: "Const"
  187. attr {
  188. key: "dtype"
  189. value {
  190. type: DT_INT32
  191. }
  192. }
  193. attr {
  194. key: "value"
  195. value {
  196. tensor {
  197. dtype: DT_INT32
  198. tensor_shape {
  199. dim {
  200. size: 1
  201. }
  202. }
  203. int_val: 0
  204. }
  205. }
  206. }
  207. experimental_debug_info {
  208. original_node_names: "strided_slice/stack"
  209. }
  210. }
  211. node_def {
  212. name: "strided_slice/stack_1"
  213. op: "Const"
  214. attr {
  215. key: "dtype"
  216. value {
  217. type: DT_INT32
  218. }
  219. }
  220. attr {
  221. key: "value"
  222. value {
  223. tensor {
  224. dtype: DT_INT32
  225. tensor_shape {
  226. dim {
  227. size: 1
  228. }
  229. }
  230. int_val: 1
  231. }
  232. }
  233. }
  234. experimental_debug_info {
  235. original_node_names: "strided_slice/stack_1"
  236. }
  237. }
  238. node_def {
  239. name: "strided_slice/stack_2"
  240. op: "Const"
  241. attr {
  242. key: "dtype"
  243. value {
  244. type: DT_INT32
  245. }
  246. }
  247. attr {
  248. key: "value"
  249. value {
  250. tensor {
  251. dtype: DT_INT32
  252. tensor_shape {
  253. dim {
  254. size: 1
  255. }
  256. }
  257. int_val: 1
  258. }
  259. }
  260. }
  261. experimental_debug_info {
  262. original_node_names: "strided_slice/stack_2"
  263. }
  264. }
  265. node_def {
  266. name: "strided_slice"
  267. op: "StridedSlice"
  268. input: "Shape:output:0"
  269. input: "strided_slice/stack:output:0"
  270. input: "strided_slice/stack_1:output:0"
  271. input: "strided_slice/stack_2:output:0"
  272. attr {
  273. key: "Index"
  274. value {
  275. type: DT_INT32
  276. }
  277. }
  278. attr {
  279. key: "T"
  280. value {
  281. type: DT_INT32
  282. }
  283. }
  284. attr {
  285. key: "begin_mask"
  286. value {
  287. i: 0
  288. }
  289. }
  290. attr {
  291. key: "ellipsis_mask"
  292. value {
  293. i: 0
  294. }
  295. }
  296. attr {
  297. key: "end_mask"
  298. value {
  299. i: 0
  300. }
  301. }
  302. attr {
  303. key: "new_axis_mask"
  304. value {
  305. i: 0
  306. }
  307. }
  308. attr {
  309. key: "shrink_axis_mask"
  310. value {
  311. i: 1
  312. }
  313. }
  314. experimental_debug_info {
  315. original_node_names: "strided_slice"
  316. }
  317. }
  318. node_def {
  319. name: "TensorArrayV2/element_shape"
  320. op: "Const"
  321. attr {
  322. key: "dtype"
  323. value {
  324. type: DT_INT32
  325. }
  326. }
  327. attr {
  328. key: "value"
  329. value {
  330. tensor {
  331. dtype: DT_INT32
  332. tensor_shape {
  333. }
  334. int_val: -1
  335. }
  336. }
  337. }
  338. experimental_debug_info {
  339. original_node_names: "TensorArrayV2/element_shape"
  340. }
  341. }
  342. node_def {
  343. name: "TensorArrayV2"
  344. op: "TensorListReserve"
  345. input: "TensorArrayV2/element_shape:output:0"
  346. input: "strided_slice:output:0"
  347. attr {
  348. key: "element_dtype"
  349. value {
  350. type: DT_FLOAT
  351. }
  352. }
  353. attr {
  354. key: "shape_type"
  355. value {
  356. type: DT_INT32
  357. }
  358. }
  359. experimental_debug_info {
  360. original_node_names: "TensorArrayV2"
  361. }
  362. }
  363. node_def {
  364. name: "TensorArrayUnstack/TensorListFromTensor/element_shape"
  365. op: "Const"
  366. attr {
  367. key: "dtype"
  368. value {
  369. type: DT_INT32
  370. }
  371. }
  372. attr {
  373. key: "value"
  374. value {
  375. tensor {
  376. dtype: DT_INT32
  377. tensor_shape {
  378. dim {
  379. size: 2
  380. }
  381. }
  382. tensor_content: "\001\000\000\000@\001\000\000"
  383. }
  384. }
  385. }
  386. experimental_debug_info {
  387. original_node_names: "TensorArrayUnstack/TensorListFromTensor/element_shape"
  388. }
  389. }
  390. node_def {
  391. name: "TensorArrayUnstack/TensorListFromTensor"
  392. op: "TensorListFromTensor"
  393. input: "transpose:y:0"
  394. input: "TensorArrayUnstack/TensorListFromTensor/element_shape:output:0"
  395. attr {
  396. key: "element_dtype"
  397. value {
  398. type: DT_FLOAT
  399. }
  400. }
  401. attr {
  402. key: "shape_type"
  403. value {
  404. type: DT_INT32
  405. }
  406. }
  407. experimental_debug_info {
  408. original_node_names: "TensorArrayUnstack/TensorListFromTensor"
  409. }
  410. }
  411. node_def {
  412. name: "strided_slice_1/stack"
  413. op: "Const"
  414. attr {
  415. key: "dtype"
  416. value {
  417. type: DT_INT32
  418. }
  419. }
  420. attr {
  421. key: "value"
  422. value {
  423. tensor {
  424. dtype: DT_INT32
  425. tensor_shape {
  426. dim {
  427. size: 1
  428. }
  429. }
  430. int_val: 0
  431. }
  432. }
  433. }
  434. experimental_debug_info {
  435. original_node_names: "strided_slice_1/stack"
  436. }
  437. }
  438. node_def {
  439. name: "strided_slice_1/stack_1"
  440. op: "Const"
  441. attr {
  442. key: "dtype"
  443. value {
  444. type: DT_INT32
  445. }
  446. }
  447. attr {
  448. key: "value"
  449. value {
  450. tensor {
  451. dtype: DT_INT32
  452. tensor_shape {
  453. dim {
  454. size: 1
  455. }
  456. }
  457. int_val: 1
  458. }
  459. }
  460. }
  461. experimental_debug_info {
  462. original_node_names: "strided_slice_1/stack_1"
  463. }
  464. }
  465. node_def {
  466. name: "strided_slice_1/stack_2"
  467. op: "Const"
  468. attr {
  469. key: "dtype"
  470. value {
  471. type: DT_INT32
  472. }
  473. }
  474. attr {
  475. key: "value"
  476. value {
  477. tensor {
  478. dtype: DT_INT32
  479. tensor_shape {
  480. dim {
  481. size: 1
  482. }
  483. }
  484. int_val: 1
  485. }
  486. }
  487. }
  488. experimental_debug_info {
  489. original_node_names: "strided_slice_1/stack_2"
  490. }
  491. }
  492. node_def {
  493. name: "strided_slice_1"
  494. op: "StridedSlice"
  495. input: "transpose:y:0"
  496. input: "strided_slice_1/stack:output:0"
  497. input: "strided_slice_1/stack_1:output:0"
  498. input: "strided_slice_1/stack_2:output:0"
  499. attr {
  500. key: "Index"
  501. value {
  502. type: DT_INT32
  503. }
  504. }
  505. attr {
  506. key: "T"
  507. value {
  508. type: DT_FLOAT
  509. }
  510. }
  511. attr {
  512. key: "begin_mask"
  513. value {
  514. i: 0
  515. }
  516. }
  517. attr {
  518. key: "ellipsis_mask"
  519. value {
  520. i: 0
  521. }
  522. }
  523. attr {
  524. key: "end_mask"
  525. value {
  526. i: 0
  527. }
  528. }
  529. attr {
  530. key: "new_axis_mask"
  531. value {
  532. i: 0
  533. }
  534. }
  535. attr {
  536. key: "shrink_axis_mask"
  537. value {
  538. i: 1
  539. }
  540. }
  541. experimental_debug_info {
  542. original_node_names: "strided_slice_1"
  543. }
  544. }
  545. node_def {
  546. name: "MatMul"
  547. op: "MatMul"
  548. input: "strided_slice_1:output:0"
  549. input: "kernel"
  550. attr {
  551. key: "T"
  552. value {
  553. type: DT_FLOAT
  554. }
  555. }
  556. attr {
  557. key: "transpose_a"
  558. value {
  559. b: false
  560. }
  561. }
  562. attr {
  563. key: "transpose_b"
  564. value {
  565. b: false
  566. }
  567. }
  568. experimental_debug_info {
  569. original_node_names: "MatMul"
  570. }
  571. }
  572. node_def {
  573. name: "MatMul_1"
  574. op: "MatMul"
  575. input: "init_h"
  576. input: "recurrent_kernel"
  577. attr {
  578. key: "T"
  579. value {
  580. type: DT_FLOAT
  581. }
  582. }
  583. attr {
  584. key: "transpose_a"
  585. value {
  586. b: false
  587. }
  588. }
  589. attr {
  590. key: "transpose_b"
  591. value {
  592. b: false
  593. }
  594. }
  595. experimental_debug_info {
  596. original_node_names: "MatMul_1"
  597. }
  598. }
  599. node_def {
  600. name: "add"
  601. op: "AddV2"
  602. input: "MatMul:product:0"
  603. input: "MatMul_1:product:0"
  604. attr {
  605. key: "T"
  606. value {
  607. type: DT_FLOAT
  608. }
  609. }
  610. experimental_debug_info {
  611. original_node_names: "add"
  612. }
  613. }
  614. node_def {
  615. name: "BiasAdd"
  616. op: "BiasAdd"
  617. input: "add:z:0"
  618. input: "bias"
  619. attr {
  620. key: "T"
  621. value {
  622. type: DT_FLOAT
  623. }
  624. }
  625. attr {
  626. key: "data_format"
  627. value {
  628. s: "NHWC"
  629. }
  630. }
  631. experimental_debug_info {
  632. original_node_names: "BiasAdd"
  633. }
  634. }
  635. node_def {
  636. name: "Const"
  637. op: "Const"
  638. attr {
  639. key: "dtype"
  640. value {
  641. type: DT_INT32
  642. }
  643. }
  644. attr {
  645. key: "value"
  646. value {
  647. tensor {
  648. dtype: DT_INT32
  649. tensor_shape {
  650. }
  651. int_val: 4
  652. }
  653. }
  654. }
  655. experimental_debug_info {
  656. original_node_names: "Const"
  657. }
  658. }
  659. node_def {
  660. name: "split/split_dim"
  661. op: "Const"
  662. attr {
  663. key: "dtype"
  664. value {
  665. type: DT_INT32
  666. }
  667. }
  668. attr {
  669. key: "value"
  670. value {
  671. tensor {
  672. dtype: DT_INT32
  673. tensor_shape {
  674. }
  675. int_val: 1
  676. }
  677. }
  678. }
  679. experimental_debug_info {
  680. original_node_names: "split/split_dim"
  681. }
  682. }
  683. node_def {
  684. name: "split"
  685. op: "Split"
  686. input: "split/split_dim:output:0"
  687. input: "BiasAdd:output:0"
  688. attr {
  689. key: "T"
  690. value {
  691. type: DT_FLOAT
  692. }
  693. }
  694. attr {
  695. key: "num_split"
  696. value {
  697. i: 4
  698. }
  699. }
  700. experimental_debug_info {
  701. original_node_names: "split"
  702. }
  703. }
  704. node_def {
  705. name: "Sigmoid"
  706. op: "Sigmoid"
  707. input: "split:output:0"
  708. attr {
  709. key: "T"
  710. value {
  711. type: DT_FLOAT
  712. }
  713. }
  714. experimental_debug_info {
  715. original_node_names: "Sigmoid"
  716. }
  717. }
  718. node_def {
  719. name: "Sigmoid_1"
  720. op: "Sigmoid"
  721. input: "split:output:1"
  722. attr {
  723. key: "T"
  724. value {
  725. type: DT_FLOAT
  726. }
  727. }
  728. experimental_debug_info {
  729. original_node_names: "Sigmoid_1"
  730. }
  731. }
  732. node_def {
  733. name: "mul"
  734. op: "Mul"
  735. input: "Sigmoid_1:y:0"
  736. input: "init_c"
  737. attr {
  738. key: "T"
  739. value {
  740. type: DT_FLOAT
  741. }
  742. }
  743. experimental_debug_info {
  744. original_node_names: "mul"
  745. }
  746. }
  747. node_def {
  748. name: "Tanh"
  749. op: "Tanh"
  750. input: "split:output:2"
  751. attr {
  752. key: "T"
  753. value {
  754. type: DT_FLOAT
  755. }
  756. }
  757. experimental_debug_info {
  758. original_node_names: "Tanh"
  759. }
  760. }
  761. node_def {
  762. name: "mul_1"
  763. op: "Mul"
  764. input: "Sigmoid:y:0"
  765. input: "Tanh:y:0"
  766. attr {
  767. key: "T"
  768. value {
  769. type: DT_FLOAT
  770. }
  771. }
  772. experimental_debug_info {
  773. original_node_names: "mul_1"
  774. }
  775. }
  776. node_def {
  777. name: "add_1"
  778. op: "AddV2"
  779. input: "mul:z:0"
  780. input: "mul_1:z:0"
  781. attr {
  782. key: "T"
  783. value {
  784. type: DT_FLOAT
  785. }
  786. }
  787. experimental_debug_info {
  788. original_node_names: "add_1"
  789. }
  790. }
  791. node_def {
  792. name: "Sigmoid_2"
  793. op: "Sigmoid"
  794. input: "split:output:3"
  795. attr {
  796. key: "T"
  797. value {
  798. type: DT_FLOAT
  799. }
  800. }
  801. experimental_debug_info {
  802. original_node_names: "Sigmoid_2"
  803. }
  804. }
  805. node_def {
  806. name: "Tanh_1"
  807. op: "Tanh"
  808. input: "add_1:z:0"
  809. attr {
  810. key: "T"
  811. value {
  812. type: DT_FLOAT
  813. }
  814. }
  815. experimental_debug_info {
  816. original_node_names: "Tanh_1"
  817. }
  818. }
  819. node_def {
  820. name: "mul_2"
  821. op: "Mul"
  822. input: "Sigmoid_2:y:0"
  823. input: "Tanh_1:y:0"
  824. attr {
  825. key: "T"
  826. value {
  827. type: DT_FLOAT
  828. }
  829. }
  830. experimental_debug_info {
  831. original_node_names: "mul_2"
  832. }
  833. }
  834. node_def {
  835. name: "TensorArrayV2_1/element_shape"
  836. op: "Const"
  837. attr {
  838. key: "dtype"
  839. value {
  840. type: DT_INT32
  841. }
  842. }
  843. attr {
  844. key: "value"
  845. value {
  846. tensor {
  847. dtype: DT_INT32
  848. tensor_shape {
  849. dim {
  850. size: 2
  851. }
  852. }
  853. tensor_content: "\001\000\000\000@\001\000\000"
  854. }
  855. }
  856. }
  857. experimental_debug_info {
  858. original_node_names: "TensorArrayV2_1/element_shape"
  859. }
  860. }
  861. node_def {
  862. name: "TensorArrayV2_1"
  863. op: "TensorListReserve"
  864. input: "TensorArrayV2_1/element_shape:output:0"
  865. input: "strided_slice:output:0"
  866. attr {
  867. key: "element_dtype"
  868. value {
  869. type: DT_FLOAT
  870. }
  871. }
  872. attr {
  873. key: "shape_type"
  874. value {
  875. type: DT_INT32
  876. }
  877. }
  878. experimental_debug_info {
  879. original_node_names: "TensorArrayV2_1"
  880. }
  881. }
  882. node_def {
  883. name: "time"
  884. op: "Const"
  885. attr {
  886. key: "dtype"
  887. value {
  888. type: DT_INT32
  889. }
  890. }
  891. attr {
  892. key: "value"
  893. value {
  894. tensor {
  895. dtype: DT_INT32
  896. tensor_shape {
  897. }
  898. int_val: 0
  899. }
  900. }
  901. }
  902. experimental_debug_info {
  903. original_node_names: "time"
  904. }
  905. }
  906. node_def {
  907. name: "while/maximum_iterations"
  908. op: "Const"
  909. attr {
  910. key: "dtype"
  911. value {
  912. type: DT_INT32
  913. }
  914. }
  915. attr {
  916. key: "value"
  917. value {
  918. tensor {
  919. dtype: DT_INT32
  920. tensor_shape {
  921. }
  922. int_val: -1
  923. }
  924. }
  925. }
  926. experimental_debug_info {
  927. original_node_names: "while/maximum_iterations"
  928. }
  929. }
  930. node_def {
  931. name: "while/loop_counter"
  932. op: "Const"
  933. attr {
  934. key: "dtype"
  935. value {
  936. type: DT_INT32
  937. }
  938. }
  939. attr {
  940. key: "value"
  941. value {
  942. tensor {
  943. dtype: DT_INT32
  944. tensor_shape {
  945. }
  946. int_val: 0
  947. }
  948. }
  949. }
  950. experimental_debug_info {
  951. original_node_names: "while/loop_counter"
  952. }
  953. }
  954. node_def {
  955. name: "while"
  956. op: "StatelessWhile"
  957. input: "while/loop_counter:output:0"
  958. input: "while/maximum_iterations:output:0"
  959. input: "time:output:0"
  960. input: "TensorArrayV2_1:handle:0"
  961. input: "init_h"
  962. input: "init_c"
  963. input: "strided_slice:output:0"
  964. input: "TensorArrayUnstack/TensorListFromTensor:output_handle:0"
  965. input: "kernel"
  966. input: "recurrent_kernel"
  967. input: "bias"
  968. attr {
  969. key: "T"
  970. value {
  971. list {
  972. type: DT_INT32
  973. type: DT_INT32
  974. type: DT_INT32
  975. type: DT_VARIANT
  976. type: DT_FLOAT
  977. type: DT_FLOAT
  978. type: DT_INT32
  979. type: DT_VARIANT
  980. type: DT_FLOAT
  981. type: DT_FLOAT
  982. type: DT_FLOAT
  983. }
  984. }
  985. }
  986. attr {
  987. key: "_lower_using_switch_merge"
  988. value {
  989. b: true
  990. }
  991. }
  992. attr {
  993. key: "_num_original_outputs"
  994. value {
  995. i: 11
  996. }
  997. }
  998. attr {
  999. key: "_read_only_resource_inputs"
  1000. value {
  1001. list {
  1002. }
  1003. }
  1004. }
  1005. attr {
  1006. key: "body"
  1007. value {
  1008. func {
  1009. name: "while_body_32889"
  1010. }
  1011. }
  1012. }
  1013. attr {
  1014. key: "cond"
  1015. value {
  1016. func {
  1017. name: "while_cond_32888"
  1018. }
  1019. }
  1020. }
  1021. attr {
  1022. key: "output_shapes"
  1023. value {
  1024. list {
  1025. shape {
  1026. }
  1027. shape {
  1028. }
  1029. shape {
  1030. }
  1031. shape {
  1032. }
  1033. shape {
  1034. dim {
  1035. size: 1
  1036. }
  1037. dim {
  1038. size: 320
  1039. }
  1040. }
  1041. shape {
  1042. dim {
  1043. size: 1
  1044. }
  1045. dim {
  1046. size: 320
  1047. }
  1048. }
  1049. shape {
  1050. }
  1051. shape {
  1052. }
  1053. shape {
  1054. dim {
  1055. size: 320
  1056. }
  1057. dim {
  1058. size: 1280
  1059. }
  1060. }
  1061. shape {
  1062. dim {
  1063. size: 320
  1064. }
  1065. dim {
  1066. size: 1280
  1067. }
  1068. }
  1069. shape {
  1070. dim {
  1071. size: 1280
  1072. }
  1073. }
  1074. }
  1075. }
  1076. }
  1077. attr {
  1078. key: "parallel_iterations"
  1079. value {
  1080. i: 32
  1081. }
  1082. }
  1083. experimental_debug_info {
  1084. original_node_names: "while"
  1085. }
  1086. }
  1087. node_def {
  1088. name: "TensorArrayV2Stack/TensorListStack/element_shape"
  1089. op: "Const"
  1090. attr {
  1091. key: "dtype"
  1092. value {
  1093. type: DT_INT32
  1094. }
  1095. }
  1096. attr {
  1097. key: "value"
  1098. value {
  1099. tensor {
  1100. dtype: DT_INT32
  1101. tensor_shape {
  1102. dim {
  1103. size: 2
  1104. }
  1105. }
  1106. tensor_content: "\001\000\000\000@\001\000\000"
  1107. }
  1108. }
  1109. }
  1110. experimental_debug_info {
  1111. original_node_names: "TensorArrayV2Stack/TensorListStack/element_shape"
  1112. }
  1113. }
  1114. node_def {
  1115. name: "TensorArrayV2Stack/TensorListStack"
  1116. op: "TensorListStack"
  1117. input: "while:output:3"
  1118. input: "TensorArrayV2Stack/TensorListStack/element_shape:output:0"
  1119. attr {
  1120. key: "element_dtype"
  1121. value {
  1122. type: DT_FLOAT
  1123. }
  1124. }
  1125. attr {
  1126. key: "num_elements"
  1127. value {
  1128. i: -1
  1129. }
  1130. }
  1131. experimental_debug_info {
  1132. original_node_names: "TensorArrayV2Stack/TensorListStack"
  1133. }
  1134. }
  1135. node_def {
  1136. name: "strided_slice_2/stack"
  1137. op: "Const"
  1138. attr {
  1139. key: "dtype"
  1140. value {
  1141. type: DT_INT32
  1142. }
  1143. }
  1144. attr {
  1145. key: "value"
  1146. value {
  1147. tensor {
  1148. dtype: DT_INT32
  1149. tensor_shape {
  1150. dim {
  1151. size: 1
  1152. }
  1153. }
  1154. int_val: -1
  1155. }
  1156. }
  1157. }
  1158. experimental_debug_info {
  1159. original_node_names: "strided_slice_2/stack"
  1160. }
  1161. }
  1162. node_def {
  1163. name: "strided_slice_2/stack_1"
  1164. op: "Const"
  1165. attr {
  1166. key: "dtype"
  1167. value {
  1168. type: DT_INT32
  1169. }
  1170. }
  1171. attr {
  1172. key: "value"
  1173. value {
  1174. tensor {
  1175. dtype: DT_INT32
  1176. tensor_shape {
  1177. dim {
  1178. size: 1
  1179. }
  1180. }
  1181. int_val: 0
  1182. }
  1183. }
  1184. }
  1185. experimental_debug_info {
  1186. original_node_names: "strided_slice_2/stack_1"
  1187. }
  1188. }
  1189. node_def {
  1190. name: "strided_slice_2/stack_2"
  1191. op: "Const"
  1192. attr {
  1193. key: "dtype"
  1194. value {
  1195. type: DT_INT32
  1196. }
  1197. }
  1198. attr {
  1199. key: "value"
  1200. value {
  1201. tensor {
  1202. dtype: DT_INT32
  1203. tensor_shape {
  1204. dim {
  1205. size: 1
  1206. }
  1207. }
  1208. int_val: 1
  1209. }
  1210. }
  1211. }
  1212. experimental_debug_info {
  1213. original_node_names: "strided_slice_2/stack_2"
  1214. }
  1215. }
  1216. node_def {
  1217. name: "strided_slice_2"
  1218. op: "StridedSlice"
  1219. input: "TensorArrayV2Stack/TensorListStack:tensor:0"
  1220. input: "strided_slice_2/stack:output:0"
  1221. input: "strided_slice_2/stack_1:output:0"
  1222. input: "strided_slice_2/stack_2:output:0"
  1223. attr {
  1224. key: "Index"
  1225. value {
  1226. type: DT_INT32
  1227. }
  1228. }
  1229. attr {
  1230. key: "T"
  1231. value {
  1232. type: DT_FLOAT
  1233. }
  1234. }
  1235. attr {
  1236. key: "begin_mask"
  1237. value {
  1238. i: 0
  1239. }
  1240. }
  1241. attr {
  1242. key: "ellipsis_mask"
  1243. value {
  1244. i: 0
  1245. }
  1246. }
  1247. attr {
  1248. key: "end_mask"
  1249. value {
  1250. i: 0
  1251. }
  1252. }
  1253. attr {
  1254. key: "new_axis_mask"
  1255. value {
  1256. i: 0
  1257. }
  1258. }
  1259. attr {
  1260. key: "shrink_axis_mask"
  1261. value {
  1262. i: 1
  1263. }
  1264. }
  1265. experimental_debug_info {
  1266. original_node_names: "strided_slice_2"
  1267. }
  1268. }
  1269. node_def {
  1270. name: "transpose_1/perm"
  1271. op: "Const"
  1272. attr {
  1273. key: "dtype"
  1274. value {
  1275. type: DT_INT32
  1276. }
  1277. }
  1278. attr {
  1279. key: "value"
  1280. value {
  1281. tensor {
  1282. dtype: DT_INT32
  1283. tensor_shape {
  1284. dim {
  1285. size: 3
  1286. }
  1287. }
  1288. tensor_content: "\001\000\000\000\000\000\000\000\002\000\000\000"
  1289. }
  1290. }
  1291. }
  1292. experimental_debug_info {
  1293. original_node_names: "transpose_1/perm"
  1294. }
  1295. }
  1296. node_def {
  1297. name: "transpose_1"
  1298. op: "Transpose"
  1299. input: "TensorArrayV2Stack/TensorListStack:tensor:0"
  1300. input: "transpose_1/perm:output:0"
  1301. attr {
  1302. key: "T"
  1303. value {
  1304. type: DT_FLOAT
  1305. }
  1306. }
  1307. attr {
  1308. key: "Tperm"
  1309. value {
  1310. type: DT_INT32
  1311. }
  1312. }
  1313. experimental_debug_info {
  1314. original_node_names: "transpose_1"
  1315. }
  1316. }
  1317. node_def {
  1318. name: "runtime"
  1319. op: "Const"
  1320. device: "/device:CPU:0"
  1321. attr {
  1322. key: "dtype"
  1323. value {
  1324. type: DT_FLOAT
  1325. }
  1326. }
  1327. attr {
  1328. key: "value"
  1329. value {
  1330. tensor {
  1331. dtype: DT_FLOAT
  1332. tensor_shape {
  1333. }
  1334. float_val: 1
  1335. }
  1336. }
  1337. }
  1338. experimental_debug_info {
  1339. original_node_names: "runtime"
  1340. }
  1341. }
  1342. node_def {
  1343. name: "Identity"
  1344. op: "Identity"
  1345. input: "strided_slice_2:output:0"
  1346. attr {
  1347. key: "T"
  1348. value {
  1349. type: DT_FLOAT
  1350. }
  1351. }
  1352. experimental_debug_info {
  1353. original_node_names: "Identity"
  1354. }
  1355. }
  1356. node_def {
  1357. name: "Identity_1"
  1358. op: "Identity"
  1359. input: "transpose_1:y:0"
  1360. attr {
  1361. key: "T"
  1362. value {
  1363. type: DT_FLOAT
  1364. }
  1365. }
  1366. experimental_debug_info {
  1367. original_node_names: "Identity_1"
  1368. }
  1369. }
  1370. node_def {
  1371. name: "Identity_2"
  1372. op: "Identity"
  1373. input: "while:output:4"
  1374. attr {
  1375. key: "T"
  1376. value {
  1377. type: DT_FLOAT
  1378. }
  1379. }
  1380. experimental_debug_info {
  1381. original_node_names: "Identity_2"
  1382. }
  1383. }
  1384. node_def {
  1385. name: "Identity_3"
  1386. op: "Identity"
  1387. input: "while:output:5"
  1388. attr {
  1389. key: "T"
  1390. value {
  1391. type: DT_FLOAT
  1392. }
  1393. }
  1394. experimental_debug_info {
  1395. original_node_names: "Identity_3"
  1396. }
  1397. }
  1398. node_def {
  1399. name: "Identity_4"
  1400. op: "Identity"
  1401. input: "runtime:output:0"
  1402. attr {
  1403. key: "T"
  1404. value {
  1405. type: DT_FLOAT
  1406. }
  1407. }
  1408. experimental_debug_info {
  1409. original_node_names: "Identity_4"
  1410. }
  1411. }
  1412. ret {
  1413. key: "identity"
  1414. value: "Identity:output:0"
  1415. }
  1416. ret {
  1417. key: "identity_1"
  1418. value: "Identity_1:output:0"
  1419. }
  1420. ret {
  1421. key: "identity_2"
  1422. value: "Identity_2:output:0"
  1423. }
  1424. ret {
  1425. key: "identity_3"
  1426. value: "Identity_3:output:0"
  1427. }
  1428. ret {
  1429. key: "identity_4"
  1430. value: "Identity_4:output:0"
  1431. }
  1432. attr {
  1433. key: "api_implements"
  1434. value {
  1435. s: "lstm_b60126f2-58d5-40e1-8e60-6cd6f0b41676"
  1436. }
  1437. }
  1438. attr {
  1439. key: "api_preferred_device"
  1440. value {
  1441. s: "CPU"
  1442. }
  1443. }
  1444. attr {
  1445. key: "go_backwards"
  1446. value {
  1447. b: false
  1448. }
  1449. }
  1450. attr {
  1451. key: "time_major"
  1452. value {
  1453. b: false
  1454. }
  1455. }
  1456. arg_attr {
  1457. key: 0
  1458. value {
  1459. attr {
  1460. key: "_output_shapes"
  1461. value {
  1462. list {
  1463. shape {
  1464. dim {
  1465. size: 1
  1466. }
  1467. dim {
  1468. size: 1
  1469. }
  1470. dim {
  1471. size: 320
  1472. }
  1473. }
  1474. }
  1475. }
  1476. }
  1477. attr {
  1478. key: "_user_specified_name"
  1479. value {
  1480. s: "inputs"
  1481. }
  1482. }
  1483. }
  1484. }
  1485. arg_attr {
  1486. key: 1
  1487. value {
  1488. attr {
  1489. key: "_output_shapes"
  1490. value {
  1491. list {
  1492. shape {
  1493. dim {
  1494. size: 1
  1495. }
  1496. dim {
  1497. size: 320
  1498. }
  1499. }
  1500. }
  1501. }
  1502. }
  1503. attr {
  1504. key: "_user_specified_name"
  1505. value {
  1506. s: "init_h"
  1507. }
  1508. }
  1509. }
  1510. }
  1511. arg_attr {
  1512. key: 2
  1513. value {
  1514. attr {
  1515. key: "_output_shapes"
  1516. value {
  1517. list {
  1518. shape {
  1519. dim {
  1520. size: 1
  1521. }
  1522. dim {
  1523. size: 320
  1524. }
  1525. }
  1526. }
  1527. }
  1528. }
  1529. attr {
  1530. key: "_user_specified_name"
  1531. value {
  1532. s: "init_c"
  1533. }
  1534. }
  1535. }
  1536. }
  1537. arg_attr {
  1538. key: 3
  1539. value {
  1540. attr {
  1541. key: "_output_shapes"
  1542. value {
  1543. list {
  1544. shape {
  1545. dim {
  1546. size: 320
  1547. }
  1548. dim {
  1549. size: 1280
  1550. }
  1551. }
  1552. }
  1553. }
  1554. }
  1555. attr {
  1556. key: "_user_specified_name"
  1557. value {
  1558. s: "kernel"
  1559. }
  1560. }
  1561. }
  1562. }
  1563. arg_attr {
  1564. key: 4
  1565. value {
  1566. attr {
  1567. key: "_output_shapes"
  1568. value {
  1569. list {
  1570. shape {
  1571. dim {
  1572. size: 320
  1573. }
  1574. dim {
  1575. size: 1280
  1576. }
  1577. }
  1578. }
  1579. }
  1580. }
  1581. attr {
  1582. key: "_user_specified_name"
  1583. value {
  1584. s: "recurrent_kernel"
  1585. }
  1586. }
  1587. }
  1588. }
  1589. arg_attr {
  1590. key: 5
  1591. value {
  1592. attr {
  1593. key: "_output_shapes"
  1594. value {
  1595. list {
  1596. shape {
  1597. dim {
  1598. size: 1280
  1599. }
  1600. }
  1601. }
  1602. }
  1603. }
  1604. attr {
  1605. key: "_user_specified_name"
  1606. value {
  1607. s: "bias"
  1608. }
  1609. }
  1610. }
  1611. }
  1612. and current definition: signature {
  1613. name: "__inference_standard_lstm_32975"
  1614. input_arg {
  1615. name: "inputs"
  1616. type: DT_FLOAT
  1617. }
  1618. input_arg {
  1619. name: "init_h"
  1620. type: DT_FLOAT
  1621. }
  1622. input_arg {
  1623. name: "init_c"
  1624. type: DT_FLOAT
  1625. }
  1626. input_arg {
  1627. name: "kernel"
  1628. type: DT_FLOAT
  1629. }
  1630. input_arg {
  1631. name: "recurrent_kernel"
  1632. type: DT_FLOAT
  1633. }
  1634. input_arg {
  1635. name: "bias"
  1636. type: DT_FLOAT
  1637. }
  1638. output_arg {
  1639. name: "identity"
  1640. type: DT_FLOAT
  1641. }
  1642. output_arg {
  1643. name: "identity_1"
  1644. type: DT_FLOAT
  1645. }
  1646. output_arg {
  1647. name: "identity_2"
  1648. type: DT_FLOAT
  1649. }
  1650. output_arg {
  1651. name: "identity_3"
  1652. type: DT_FLOAT
  1653. }
  1654. output_arg {
  1655. name: "identity_4"
  1656. type: DT_FLOAT
  1657. }
  1658. }
  1659. node_def {
  1660. name: "transpose/perm"
  1661. op: "Const"
  1662. attr {
  1663. key: "dtype"
  1664. value {
  1665. type: DT_INT32
  1666. }
  1667. }
  1668. attr {
  1669. key: "value"
  1670. value {
  1671. tensor {
  1672. dtype: DT_INT32
  1673. tensor_shape {
  1674. dim {
  1675. size: 3
  1676. }
  1677. }
  1678. tensor_content: "\001\000\000\000\000\000\000\000\002\000\000\000"
  1679. }
  1680. }
  1681. }
  1682. }
  1683. node_def {
  1684. name: "Shape"
  1685. op: "Const"
  1686. attr {
  1687. key: "dtype"
  1688. value {
  1689. type: DT_INT32
  1690. }
  1691. }
  1692. attr {
  1693. key: "value"
  1694. value {
  1695. tensor {
  1696. dtype: DT_INT32
  1697. tensor_shape {
  1698. dim {
  1699. size: 3
  1700. }
  1701. }
  1702. tensor_content: "\001\000\000\000\001\000\000\000@\001\000\000"
  1703. }
  1704. }
  1705. }
  1706. }
  1707. node_def {
  1708. name: "strided_slice/stack"
  1709. op: "Const"
  1710. attr {
  1711. key: "dtype"
  1712. value {
  1713. type: DT_INT32
  1714. }
  1715. }
  1716. attr {
  1717. key: "value"
  1718. value {
  1719. tensor {
  1720. dtype: DT_INT32
  1721. tensor_shape {
  1722. dim {
  1723. size: 1
  1724. }
  1725. }
  1726. int_val: 0
  1727. }
  1728. }
  1729. }
  1730. }
  1731. node_def {
  1732. name: "strided_slice/stack_1"
  1733. op: "Const"
  1734. attr {
  1735. key: "dtype"
  1736. value {
  1737. type: DT_INT32
  1738. }
  1739. }
  1740. attr {
  1741. key: "value"
  1742. value {
  1743. tensor {
  1744. dtype: DT_INT32
  1745. tensor_shape {
  1746. dim {
  1747. size: 1
  1748. }
  1749. }
  1750. int_val: 1
  1751. }
  1752. }
  1753. }
  1754. }
  1755. node_def {
  1756. name: "strided_slice/stack_2"
  1757. op: "Const"
  1758. attr {
  1759. key: "dtype"
  1760. value {
  1761. type: DT_INT32
  1762. }
  1763. }
  1764. attr {
  1765. key: "value"
  1766. value {
  1767. tensor {
  1768. dtype: DT_INT32
  1769. tensor_shape {
  1770. dim {
  1771. size: 1
  1772. }
  1773. }
  1774. int_val: 1
  1775. }
  1776. }
  1777. }
  1778. }
  1779. node_def {
  1780. name: "TensorArrayV2/element_shape"
  1781. op: "Const"
  1782. attr {
  1783. key: "dtype"
  1784. value {
  1785. type: DT_INT32
  1786. }
  1787. }
  1788. attr {
  1789. key: "value"
  1790. value {
  1791. tensor {
  1792. dtype: DT_INT32
  1793. tensor_shape {
  1794. }
  1795. int_val: -1
  1796. }
  1797. }
  1798. }
  1799. }
  1800. node_def {
  1801. name: "TensorArrayUnstack/TensorListFromTensor/element_shape"
  1802. op: "Const"
  1803. attr {
  1804. key: "dtype"
  1805. value {
  1806. type: DT_INT32
  1807. }
  1808. }
  1809. attr {
  1810. key: "value"
  1811. value {
  1812. tensor {
  1813. dtype: DT_INT32
  1814. tensor_shape {
  1815. dim {
  1816. size: 2
  1817. }
  1818. }
  1819. tensor_content: "\001\000\000\000@\001\000\000"
  1820. }
  1821. }
  1822. }
  1823. }
  1824. node_def {
  1825. name: "strided_slice_1/stack"
  1826. op: "Const"
  1827. attr {
  1828. key: "dtype"
  1829. value {
  1830. type: DT_INT32
  1831. }
  1832. }
  1833. attr {
  1834. key: "value"
  1835. value {
  1836. tensor {
  1837. dtype: DT_INT32
  1838. tensor_shape {
  1839. dim {
  1840. size: 1
  1841. }
  1842. }
  1843. int_val: 0
  1844. }
  1845. }
  1846. }
  1847. }
  1848. node_def {
  1849. name: "strided_slice_1/stack_1"
  1850. op: "Const"
  1851. attr {
  1852. key: "dtype"
  1853. value {
  1854. type: DT_INT32
  1855. }
  1856. }
  1857. attr {
  1858. key: "value"
  1859. value {
  1860. tensor {
  1861. dtype: DT_INT32
  1862. tensor_shape {
  1863. dim {
  1864. size: 1
  1865. }
  1866. }
  1867. int_val: 1
  1868. }
  1869. }
  1870. }
  1871. }
  1872. node_def {
  1873. name: "strided_slice_1/stack_2"
  1874. op: "Const"
  1875. attr {
  1876. key: "dtype"
  1877. value {
  1878. type: DT_INT32
  1879. }
  1880. }
  1881. attr {
  1882. key: "value"
  1883. value {
  1884. tensor {
  1885. dtype: DT_INT32
  1886. tensor_shape {
  1887. dim {
  1888. size: 1
  1889. }
  1890. }
  1891. int_val: 1
  1892. }
  1893. }
  1894. }
  1895. }
  1896. node_def {
  1897. name: "Const"
  1898. op: "Const"
  1899. attr {
  1900. key: "dtype"
  1901. value {
  1902. type: DT_INT32
  1903. }
  1904. }
  1905. attr {
  1906. key: "value"
  1907. value {
  1908. tensor {
  1909. dtype: DT_INT32
  1910. tensor_shape {
  1911. }
  1912. int_val: 4
  1913. }
  1914. }
  1915. }
  1916. }
  1917. node_def {
  1918. name: "split/split_dim"
  1919. op: "Const"
  1920. attr {
  1921. key: "dtype"
  1922. value {
  1923. type: DT_INT32
  1924. }
  1925. }
  1926. attr {
  1927. key: "value"
  1928. value {
  1929. tensor {
  1930. dtype: DT_INT32
  1931. tensor_shape {
  1932. }
  1933. int_val: 1
  1934. }
  1935. }
  1936. }
  1937. }
  1938. node_def {
  1939. name: "TensorArrayV2_1/element_shape"
  1940. op: "Const"
  1941. attr {
  1942. key: "dtype"
  1943. value {
  1944. type: DT_INT32
  1945. }
  1946. }
  1947. attr {
  1948. key: "value"
  1949. value {
  1950. tensor {
  1951. dtype: DT_INT32
  1952. tensor_shape {
  1953. dim {
  1954. size: 2
  1955. }
  1956. }
  1957. tensor_content: "\001\000\000\000@\001\000\000"
  1958. }
  1959. }
  1960. }
  1961. }
  1962. node_def {
  1963. name: "time"
  1964. op: "Const"
  1965. attr {
  1966. key: "dtype"
  1967. value {
  1968. type: DT_INT32
  1969. }
  1970. }
  1971. attr {
  1972. key: "value"
  1973. value {
  1974. tensor {
  1975. dtype: DT_INT32
  1976. tensor_shape {
  1977. }
  1978. int_val: 0
  1979. }
  1980. }
  1981. }
  1982. }
  1983. node_def {
  1984. name: "while/maximum_iterations"
  1985. op: "Const"
  1986. attr {
  1987. key: "dtype"
  1988. value {
  1989. type: DT_INT32
  1990. }
  1991. }
  1992. attr {
  1993. key: "value"
  1994. value {
  1995. tensor {
  1996. dtype: DT_INT32
  1997. tensor_shape {
  1998. }
  1999. int_val: -1
  2000. }
  2001. }
  2002. }
  2003. }
  2004. node_def {
  2005. name: "while/loop_counter"
  2006. op: "Const"
  2007. attr {
  2008. key: "dtype"
  2009. value {
  2010. type: DT_INT32
  2011. }
  2012. }
  2013. attr {
  2014. key: "value"
  2015. value {
  2016. tensor {
  2017. dtype: DT_INT32
  2018. tensor_shape {
  2019. }
  2020. int_val: 0
  2021. }
  2022. }
  2023. }
  2024. }
  2025. node_def {
  2026. name: "TensorArrayV2Stack/TensorListStack/element_shape"
  2027. op: "Const"
  2028. attr {
  2029. key: "dtype"
  2030. value {
  2031. type: DT_INT32
  2032. }
  2033. }
  2034. attr {
  2035. key: "value"
  2036. value {
  2037. tensor {
  2038. dtype: DT_INT32
  2039. tensor_shape {
  2040. dim {
  2041. size: 2
  2042. }
  2043. }
  2044. tensor_content: "\001\000\000\000@\001\000\000"
  2045. }
  2046. }
  2047. }
  2048. }
  2049. node_def {
  2050. name: "strided_slice_2/stack"
  2051. op: "Const"
  2052. attr {
  2053. key: "dtype"
  2054. value {
  2055. type: DT_INT32
  2056. }
  2057. }
  2058. attr {
  2059. key: "value"
  2060. value {
  2061. tensor {
  2062. dtype: DT_INT32
  2063. tensor_shape {
  2064. dim {
  2065. size: 1
  2066. }
  2067. }
  2068. int_val: -1
  2069. }
  2070. }
  2071. }
  2072. }
  2073. node_def {
  2074. name: "strided_slice_2/stack_1"
  2075. op: "Const"
  2076. attr {
  2077. key: "dtype"
  2078. value {
  2079. type: DT_INT32
  2080. }
  2081. }
  2082. attr {
  2083. key: "value"
  2084. value {
  2085. tensor {
  2086. dtype: DT_INT32
  2087. tensor_shape {
  2088. dim {
  2089. size: 1
  2090. }
  2091. }
  2092. int_val: 0
  2093. }
  2094. }
  2095. }
  2096. }
  2097. node_def {
  2098. name: "strided_slice_2/stack_2"
  2099. op: "Const"
  2100. attr {
  2101. key: "dtype"
  2102. value {
  2103. type: DT_INT32
  2104. }
  2105. }
  2106. attr {
  2107. key: "value"
  2108. value {
  2109. tensor {
  2110. dtype: DT_INT32
  2111. tensor_shape {
  2112. dim {
  2113. size: 1
  2114. }
  2115. }
  2116. int_val: 1
  2117. }
  2118. }
  2119. }
  2120. }
  2121. node_def {
  2122. name: "transpose_1/perm"
  2123. op: "Const"
  2124. attr {
  2125. key: "dtype"
  2126. value {
  2127. type: DT_INT32
  2128. }
  2129. }
  2130. attr {
  2131. key: "value"
  2132. value {
  2133. tensor {
  2134. dtype: DT_INT32
  2135. tensor_shape {
  2136. dim {
  2137. size: 3
  2138. }
  2139. }
  2140. tensor_content: "\001\000\000\000\000\000\000\000\002\000\000\000"
  2141. }
  2142. }
  2143. }
  2144. }
  2145. node_def {
  2146. name: "runtime"
  2147. op: "Const"
  2148. device: "/device:CPU:0"
  2149. attr {
  2150. key: "dtype"
  2151. value {
  2152. type: DT_FLOAT
  2153. }
  2154. }
  2155. attr {
  2156. key: "value"
  2157. value {
  2158. tensor {
  2159. dtype: DT_FLOAT
  2160. tensor_shape {
  2161. }
  2162. float_val: 1
  2163. }
  2164. }
  2165. }
  2166. }
  2167. node_def {
  2168. name: "MatMul_1"
  2169. op: "MatMul"
  2170. input: "init_h"
  2171. input: "recurrent_kernel"
  2172. attr {
  2173. key: "T"
  2174. value {
  2175. type: DT_FLOAT
  2176. }
  2177. }
  2178. attr {
  2179. key: "transpose_a"
  2180. value {
  2181. b: false
  2182. }
  2183. }
  2184. attr {
  2185. key: "transpose_b"
  2186. value {
  2187. b: false
  2188. }
  2189. }
  2190. }
  2191. node_def {
  2192. name: "transpose"
  2193. op: "Transpose"
  2194. input: "inputs"
  2195. input: "transpose/perm:output:0"
  2196. attr {
  2197. key: "T"
  2198. value {
  2199. type: DT_FLOAT
  2200. }
  2201. }
  2202. attr {
  2203. key: "Tperm"
  2204. value {
  2205. type: DT_INT32
  2206. }
  2207. }
  2208. }
  2209. node_def {
  2210. name: "strided_slice"
  2211. op: "StridedSlice"
  2212. input: "Shape:output:0"
  2213. input: "strided_slice/stack:output:0"
  2214. input: "strided_slice/stack_1:output:0"
  2215. input: "strided_slice/stack_2:output:0"
  2216. attr {
  2217. key: "Index"
  2218. value {
  2219. type: DT_INT32
  2220. }
  2221. }
  2222. attr {
  2223. key: "T"
  2224. value {
  2225. type: DT_INT32
  2226. }
  2227. }
  2228. attr {
  2229. key: "begin_mask"
  2230. value {
  2231. i: 0
  2232. }
  2233. }
  2234. attr {
  2235. key: "ellipsis_mask"
  2236. value {
  2237. i: 0
  2238. }
  2239. }
  2240. attr {
  2241. key: "end_mask"
  2242. value {
  2243. i: 0
  2244. }
  2245. }
  2246. attr {
  2247. key: "new_axis_mask"
  2248. value {
  2249. i: 0
  2250. }
  2251. }
  2252. attr {
  2253. key: "shrink_axis_mask"
  2254. value {
  2255. i: 1
  2256. }
  2257. }
  2258. }
  2259. node_def {
  2260. name: "Identity_4"
  2261. op: "Identity"
  2262. input: "runtime:output:0"
  2263. attr {
  2264. key: "T"
  2265. value {
  2266. type: DT_FLOAT
  2267. }
  2268. }
  2269. }
  2270. node_def {
  2271. name: "TensorArrayUnstack/TensorListFromTensor"
  2272. op: "TensorListFromTensor"
  2273. input: "transpose:y:0"
  2274. input: "TensorArrayUnstack/TensorListFromTensor/element_shape:output:0"
  2275. attr {
  2276. key: "element_dtype"
  2277. value {
  2278. type: DT_FLOAT
  2279. }
  2280. }
  2281. attr {
  2282. key: "shape_type"
  2283. value {
  2284. type: DT_INT32
  2285. }
  2286. }
  2287. }
  2288. node_def {
  2289. name: "strided_slice_1"
  2290. op: "StridedSlice"
  2291. input: "transpose:y:0"
  2292. input: "strided_slice_1/stack:output:0"
  2293. input: "strided_slice_1/stack_1:output:0"
  2294. input: "strided_slice_1/stack_2:output:0"
  2295. attr {
  2296. key: "Index"
  2297. value {
  2298. type: DT_INT32
  2299. }
  2300. }
  2301. attr {
  2302. key: "T"
  2303. value {
  2304. type: DT_FLOAT
  2305. }
  2306. }
  2307. attr {
  2308. key: "begin_mask"
  2309. value {
  2310. i: 0
  2311. }
  2312. }
  2313. attr {
  2314. key: "ellipsis_mask"
  2315. value {
  2316. i: 0
  2317. }
  2318. }
  2319. attr {
  2320. key: "end_mask"
  2321. value {
  2322. i: 0
  2323. }
  2324. }
  2325. attr {
  2326. key: "new_axis_mask"
  2327. value {
  2328. i: 0
  2329. }
  2330. }
  2331. attr {
  2332. key: "shrink_axis_mask"
  2333. value {
  2334. i: 1
  2335. }
  2336. }
  2337. }
  2338. node_def {
  2339. name: "TensorArrayV2"
  2340. op: "TensorListReserve"
  2341. input: "TensorArrayV2/element_shape:output:0"
  2342. input: "strided_slice:output:0"
  2343. attr {
  2344. key: "element_dtype"
  2345. value {
  2346. type: DT_FLOAT
  2347. }
  2348. }
  2349. attr {
  2350. key: "shape_type"
  2351. value {
  2352. type: DT_INT32
  2353. }
  2354. }
  2355. }
  2356. node_def {
  2357. name: "TensorArrayV2_1"
  2358. op: "TensorListReserve"
  2359. input: "TensorArrayV2_1/element_shape:output:0"
  2360. input: "strided_slice:output:0"
  2361. attr {
  2362. key: "element_dtype"
  2363. value {
  2364. type: DT_FLOAT
  2365. }
  2366. }
  2367. attr {
  2368. key: "shape_type"
  2369. value {
  2370. type: DT_INT32
  2371. }
  2372. }
  2373. }
  2374. node_def {
  2375. name: "MatMul"
  2376. op: "MatMul"
  2377. input: "strided_slice_1:output:0"
  2378. input: "kernel"
  2379. attr {
  2380. key: "T"
  2381. value {
  2382. type: DT_FLOAT
  2383. }
  2384. }
  2385. attr {
  2386. key: "transpose_a"
  2387. value {
  2388. b: false
  2389. }
  2390. }
  2391. attr {
  2392. key: "transpose_b"
  2393. value {
  2394. b: false
  2395. }
  2396. }
  2397. }
  2398. node_def {
  2399. name: "while"
  2400. op: "StatelessWhile"
  2401. input: "while/loop_counter:output:0"
  2402. input: "while/maximum_iterations:output:0"
  2403. input: "time:output:0"
  2404. input: "TensorArrayV2_1:handle:0"
  2405. input: "init_h"
  2406. input: "init_c"
  2407. input: "strided_slice:output:0"
  2408. input: "TensorArrayUnstack/TensorListFromTensor:output_handle:0"
  2409. input: "kernel"
  2410. input: "recurrent_kernel"
  2411. input: "bias"
  2412. attr {
  2413. key: "T"
  2414. value {
  2415. list {
  2416. type: DT_INT32
  2417. type: DT_INT32
  2418. type: DT_INT32
  2419. type: DT_VARIANT
  2420. type: DT_FLOAT
  2421. type: DT_FLOAT
  2422. type: DT_INT32
  2423. type: DT_VARIANT
  2424. type: DT_FLOAT
  2425. type: DT_FLOAT
  2426. type: DT_FLOAT
  2427. }
  2428. }
  2429. }
  2430. attr {
  2431. key: "_lower_using_switch_merge"
  2432. value {
  2433. b: false
  2434. }
  2435. }
  2436. attr {
  2437. key: "_num_original_outputs"
  2438. value {
  2439. i: 11
  2440. }
  2441. }
  2442. attr {
  2443. key: "_read_only_resource_inputs"
  2444. value {
  2445. list {
  2446. }
  2447. }
  2448. }
  2449. attr {
  2450. key: "body"
  2451. value {
  2452. func {
  2453. name: "while_body_32889"
  2454. }
  2455. }
  2456. }
  2457. attr {
  2458. key: "cond"
  2459. value {
  2460. func {
  2461. name: "while_cond_32888"
  2462. }
  2463. }
  2464. }
  2465. attr {
  2466. key: "output_shapes"
  2467. value {
  2468. list {
  2469. shape {
  2470. }
  2471. shape {
  2472. }
  2473. shape {
  2474. }
  2475. shape {
  2476. }
  2477. shape {
  2478. dim {
  2479. size: 1
  2480. }
  2481. dim {
  2482. size: 320
  2483. }
  2484. }
  2485. shape {
  2486. dim {
  2487. size: 1
  2488. }
  2489. dim {
  2490. size: 320
  2491. }
  2492. }
  2493. shape {
  2494. }
  2495. shape {
  2496. }
  2497. shape {
  2498. dim {
  2499. size: 320
  2500. }
  2501. dim {
  2502. size: 1280
  2503. }
  2504. }
  2505. shape {
  2506. dim {
  2507. size: 320
  2508. }
  2509. dim {
  2510. size: 1280
  2511. }
  2512. }
  2513. shape {
  2514. dim {
  2515. size: 1280
  2516. }
  2517. }
  2518. }
  2519. }
  2520. }
  2521. attr {
  2522. key: "parallel_iterations"
  2523. value {
  2524. i: 32
  2525. }
  2526. }
  2527. }
  2528. node_def {
  2529. name: "add"
  2530. op: "AddV2"
  2531. input: "MatMul:product:0"
  2532. input: "MatMul_1:product:0"
  2533. attr {
  2534. key: "T"
  2535. value {
  2536. type: DT_FLOAT
  2537. }
  2538. }
  2539. }
  2540. node_def {
  2541. name: "TensorArrayV2Stack/TensorListStack"
  2542. op: "TensorListStack"
  2543. input: "while:output:3"
  2544. input: "TensorArrayV2Stack/TensorListStack/element_shape:output:0"
  2545. attr {
  2546. key: "element_dtype"
  2547. value {
  2548. type: DT_FLOAT
  2549. }
  2550. }
  2551. attr {
  2552. key: "num_elements"
  2553. value {
  2554. i: -1
  2555. }
  2556. }
  2557. }
  2558. node_def {
  2559. name: "Identity_2"
  2560. op: "Identity"
  2561. input: "while:output:4"
  2562. attr {
  2563. key: "T"
  2564. value {
  2565. type: DT_FLOAT
  2566. }
  2567. }
  2568. }
  2569. node_def {
  2570. name: "Identity_3"
  2571. op: "Identity"
  2572. input: "while:output:5"
  2573. attr {
  2574. key: "T"
  2575. value {
  2576. type: DT_FLOAT
  2577. }
  2578. }
  2579. }
  2580. node_def {
  2581. name: "BiasAdd"
  2582. op: "BiasAdd"
  2583. input: "add:z:0"
  2584. input: "bias"
  2585. attr {
  2586. key: "T"
  2587. value {
  2588. type: DT_FLOAT
  2589. }
  2590. }
  2591. attr {
  2592. key: "data_format"
  2593. value {
  2594. s: "NHWC"
  2595. }
  2596. }
  2597. }
  2598. node_def {
  2599. name: "strided_slice_2"
  2600. op: "StridedSlice"
  2601. input: "TensorArrayV2Stack/TensorListStack:tensor:0"
  2602. input: "strided_slice_2/stack:output:0"
  2603. input: "strided_slice_2/stack_1:output:0"
  2604. input: "strided_slice_2/stack_2:output:0"
  2605. attr {
  2606. key: "Index"
  2607. value {
  2608. type: DT_INT32
  2609. }
  2610. }
  2611. attr {
  2612. key: "T"
  2613. value {
  2614. type: DT_FLOAT
  2615. }
  2616. }
  2617. attr {
  2618. key: "begin_mask"
  2619. value {
  2620. i: 0
  2621. }
  2622. }
  2623. attr {
  2624. key: "ellipsis_mask"
  2625. value {
  2626. i: 0
  2627. }
  2628. }
  2629. attr {
  2630. key: "end_mask"
  2631. value {
  2632. i: 0
  2633. }
  2634. }
  2635. attr {
  2636. key: "new_axis_mask"
  2637. value {
  2638. i: 0
  2639. }
  2640. }
  2641. attr {
  2642. key: "shrink_axis_mask"
  2643. value {
  2644. i: 1
  2645. }
  2646. }
  2647. }
  2648. node_def {
  2649. name: "transpose_1"
  2650. op: "Transpose"
  2651. input: "TensorArrayV2Stack/TensorListStack:tensor:0"
  2652. input: "transpose_1/perm:output:0"
  2653. attr {
  2654. key: "T"
  2655. value {
  2656. type: DT_FLOAT
  2657. }
  2658. }
  2659. attr {
  2660. key: "Tperm"
  2661. value {
  2662. type: DT_INT32
  2663. }
  2664. }
  2665. }
  2666. node_def {
  2667. name: "split"
  2668. op: "Split"
  2669. input: "split/split_dim:output:0"
  2670. input: "BiasAdd:output:0"
  2671. attr {
  2672. key: "T"
  2673. value {
  2674. type: DT_FLOAT
  2675. }
  2676. }
  2677. attr {
  2678. key: "num_split"
  2679. value {
  2680. i: 4
  2681. }
  2682. }
  2683. }
  2684. node_def {
  2685. name: "Identity"
  2686. op: "Identity"
  2687. input: "strided_slice_2:output:0"
  2688. attr {
  2689. key: "T"
  2690. value {
  2691. type: DT_FLOAT
  2692. }
  2693. }
  2694. }
  2695. node_def {
  2696. name: "Identity_1"
  2697. op: "Identity"
  2698. input: "transpose_1:y:0"
  2699. attr {
  2700. key: "T"
  2701. value {
  2702. type: DT_FLOAT
  2703. }
  2704. }
  2705. }
  2706. node_def {
  2707. name: "Sigmoid"
  2708. op: "Sigmoid"
  2709. input: "split:output:0"
  2710. attr {
  2711. key: "T"
  2712. value {
  2713. type: DT_FLOAT
  2714. }
  2715. }
  2716. }
  2717. node_def {
  2718. name: "Sigmoid_1"
  2719. op: "Sigmoid"
  2720. input: "split:output:1"
  2721. attr {
  2722. key: "T"
  2723. value {
  2724. type: DT_FLOAT
  2725. }
  2726. }
  2727. }
  2728. node_def {
  2729. name: "Tanh"
  2730. op: "Tanh"
  2731. input: "split:output:2"
  2732. attr {
  2733. key: "T"
  2734. value {
  2735. type: DT_FLOAT
  2736. }
  2737. }
  2738. }
  2739. node_def {
  2740. name: "Sigmoid_2"
  2741. op: "Sigmoid"
  2742. input: "split:output:3"
  2743. attr {
  2744. key: "T"
  2745. value {
  2746. type: DT_FLOAT
  2747. }
  2748. }
  2749. }
  2750. node_def {
  2751. name: "mul"
  2752. op: "Mul"
  2753. input: "Sigmoid_1:y:0"
  2754. input: "init_c"
  2755. attr {
  2756. key: "T"
  2757. value {
  2758. type: DT_FLOAT
  2759. }
  2760. }
  2761. }
  2762. node_def {
  2763. name: "mul_1"
  2764. op: "Mul"
  2765. input: "Sigmoid:y:0"
  2766. input: "Tanh:y:0"
  2767. attr {
  2768. key: "T"
  2769. value {
  2770. type: DT_FLOAT
  2771. }
  2772. }
  2773. }
  2774. node_def {
  2775. name: "add_1"
  2776. op: "AddV2"
  2777. input: "mul:z:0"
  2778. input: "mul_1:z:0"
  2779. attr {
  2780. key: "T"
  2781. value {
  2782. type: DT_FLOAT
  2783. }
  2784. }
  2785. }
  2786. node_def {
  2787. name: "Tanh_1"
  2788. op: "Tanh"
  2789. input: "add_1:z:0"
  2790. attr {
  2791. key: "T"
  2792. value {
  2793. type: DT_FLOAT
  2794. }
  2795. }
  2796. }
  2797. node_def {
  2798. name: "mul_2"
  2799. op: "Mul"
  2800. input: "Sigmoid_2:y:0"
  2801. input: "Tanh_1:y:0"
  2802. attr {
  2803. key: "T"
  2804. value {
  2805. type: DT_FLOAT
  2806. }
  2807. }
  2808. }
  2809. ret {
  2810. key: "identity"
  2811. value: "Identity:output:0"
  2812. }
  2813. ret {
  2814. key: "identity_1"
  2815. value: "Identity_1:output:0"
  2816. }
  2817. ret {
  2818. key: "identity_2"
  2819. value: "Identity_2:output:0"
  2820. }
  2821. ret {
  2822. key: "identity_3"
  2823. value: "Identity_3:output:0"
  2824. }
  2825. ret {
  2826. key: "identity_4"
  2827. value: "Identity_4:output:0"
  2828. }
  2829. attr {
  2830. key: "api_preferred_device"
  2831. value {
  2832. s: "CPU"
  2833. }
  2834. }
  2835. attr {
  2836. key: "go_backwards"
  2837. value {
  2838. b: false
  2839. }
  2840. }
  2841. attr {
  2842. key: "time_major"
  2843. value {
  2844. b: false
  2845. }
  2846. }
  2847. arg_attr {
  2848. key: 0
  2849. value {
  2850. attr {
  2851. key: "_output_shapes"
  2852. value {
  2853. list {
  2854. shape {
  2855. dim {
  2856. size: 1
  2857. }
  2858. dim {
  2859. size: 1
  2860. }
  2861. dim {
  2862. size: 320
  2863. }
  2864. }
  2865. }
  2866. }
  2867. }
  2868. attr {
  2869. key: "_user_specified_name"
  2870. value {
  2871. s: "inputs"
  2872. }
  2873. }
  2874. }
  2875. }
  2876. arg_attr {
  2877. key: 1
  2878. value {
  2879. attr {
  2880. key: "_output_shapes"
  2881. value {
  2882. list {
  2883. shape {
  2884. dim {
  2885. size: 1
  2886. }
  2887. dim {
  2888. size: 320
  2889. }
  2890. }
  2891. }
  2892. }
  2893. }
  2894. attr {
  2895. key: "_user_specified_name"
  2896. value {
  2897. s: "init_h"
  2898. }
  2899. }
  2900. }
  2901. }
  2902. arg_attr {
  2903. key: 2
  2904. value {
  2905. attr {
  2906. key: "_output_shapes"
  2907. value {
  2908. list {
  2909. shape {
  2910. dim {
  2911. size: 1
  2912. }
  2913. dim {
  2914. size: 320
  2915. }
  2916. }
  2917. }
  2918. }
  2919. }
  2920. attr {
  2921. key: "_user_specified_name"
  2922. value {
  2923. s: "init_c"
  2924. }
  2925. }
  2926. }
  2927. }
  2928. arg_attr {
  2929. key: 3
  2930. value {
  2931. attr {
  2932. key: "_output_shapes"
  2933. value {
  2934. list {
  2935. shape {
  2936. dim {
  2937. size: 320
  2938. }
  2939. dim {
  2940. size: 1280
  2941. }
  2942. }
  2943. }
  2944. }
  2945. }
  2946. attr {
  2947. key: "_user_specified_name"
  2948. value {
  2949. s: "kernel"
  2950. }
  2951. }
  2952. }
  2953. }
  2954. arg_attr {
  2955. key: 4
  2956. value {
  2957. attr {
  2958. key: "_output_shapes"
  2959. value {
  2960. list {
  2961. shape {
  2962. dim {
  2963. size: 320
  2964. }
  2965. dim {
  2966. size: 1280
  2967. }
  2968. }
  2969. }
  2970. }
  2971. }
  2972. attr {
  2973. key: "_user_specified_name"
  2974. value {
  2975. s: "recurrent_kernel"
  2976. }
  2977. }
  2978. }
  2979. }
  2980. arg_attr {
  2981. key: 5
  2982. value {
  2983. attr {
  2984. key: "_output_shapes"
  2985. value {
  2986. list {
  2987. shape {
  2988. dim {
  2989. size: 1280
  2990. }
  2991. }
  2992. }
  2993. }
  2994. }
  2995. attr {
  2996. key: "_user_specified_name"
  2997. value {
  2998. s: "bias"
  2999. }
  3000. }
  3001. }
  3002. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement