Home | History | Annotate | Download | only in compat
      1 op {
      2   name: "Abort"
      3   attr {
      4     name: "error_msg"
      5     type: "string"
      6     default_value {
      7       s: ""
      8     }
      9   }
     10   attr {
     11     name: "exit_without_error"
     12     type: "bool"
     13     default_value {
     14       b: false
     15     }
     16   }
     17 }
     18 op {
     19   name: "Abs"
     20   input_arg {
     21     name: "x"
     22     type_attr: "T"
     23   }
     24   output_arg {
     25     name: "y"
     26     type_attr: "T"
     27   }
     28   attr {
     29     name: "T"
     30     type: "type"
     31     allowed_values {
     32       list {
     33         type: DT_HALF
     34         type: DT_FLOAT
     35         type: DT_DOUBLE
     36         type: DT_INT32
     37         type: DT_INT64
     38       }
     39     }
     40   }
     41 }
     42 op {
     43   name: "Abs"
     44   input_arg {
     45     name: "x"
     46     type_attr: "T"
     47   }
     48   output_arg {
     49     name: "y"
     50     type_attr: "T"
     51   }
     52   attr {
     53     name: "T"
     54     type: "type"
     55     allowed_values {
     56       list {
     57         type: DT_HALF
     58         type: DT_BFLOAT16
     59         type: DT_FLOAT
     60         type: DT_DOUBLE
     61         type: DT_INT32
     62         type: DT_INT64
     63       }
     64     }
     65   }
     66 }
     67 op {
     68   name: "AccumulateNV2"
     69   input_arg {
     70     name: "inputs"
     71     type_attr: "T"
     72     number_attr: "N"
     73   }
     74   output_arg {
     75     name: "sum"
     76     type_attr: "T"
     77   }
     78   attr {
     79     name: "N"
     80     type: "int"
     81     has_minimum: true
     82     minimum: 1
     83   }
     84   attr {
     85     name: "T"
     86     type: "type"
     87     allowed_values {
     88       list {
     89         type: DT_FLOAT
     90         type: DT_DOUBLE
     91         type: DT_INT64
     92         type: DT_INT32
     93         type: DT_UINT8
     94         type: DT_UINT16
     95         type: DT_INT16
     96         type: DT_INT8
     97         type: DT_COMPLEX64
     98         type: DT_COMPLEX128
     99         type: DT_QINT8
    100         type: DT_QUINT8
    101         type: DT_QINT32
    102         type: DT_HALF
    103         type: DT_UINT32
    104         type: DT_UINT64
    105       }
    106     }
    107   }
    108   attr {
    109     name: "shape"
    110     type: "shape"
    111   }
    112   is_aggregate: true
    113   is_commutative: true
    114 }
    115 op {
    116   name: "AccumulateNV2"
    117   input_arg {
    118     name: "inputs"
    119     type_attr: "T"
    120     number_attr: "N"
    121   }
    122   output_arg {
    123     name: "sum"
    124     type_attr: "T"
    125   }
    126   attr {
    127     name: "N"
    128     type: "int"
    129     has_minimum: true
    130     minimum: 1
    131   }
    132   attr {
    133     name: "T"
    134     type: "type"
    135     allowed_values {
    136       list {
    137         type: DT_FLOAT
    138         type: DT_DOUBLE
    139         type: DT_INT64
    140         type: DT_INT32
    141         type: DT_UINT8
    142         type: DT_UINT16
    143         type: DT_INT16
    144         type: DT_INT8
    145         type: DT_COMPLEX64
    146         type: DT_COMPLEX128
    147         type: DT_QINT8
    148         type: DT_QUINT8
    149         type: DT_QINT32
    150         type: DT_HALF
    151         type: DT_UINT32
    152         type: DT_UINT64
    153         type: DT_BFLOAT16
    154       }
    155     }
    156   }
    157   attr {
    158     name: "shape"
    159     type: "shape"
    160   }
    161   is_aggregate: true
    162   is_commutative: true
    163 }
    164 op {
    165   name: "AccumulateNV2"
    166   input_arg {
    167     name: "inputs"
    168     type_attr: "T"
    169     number_attr: "N"
    170   }
    171   output_arg {
    172     name: "sum"
    173     type_attr: "T"
    174   }
    175   attr {
    176     name: "N"
    177     type: "int"
    178     has_minimum: true
    179     minimum: 1
    180   }
    181   attr {
    182     name: "T"
    183     type: "type"
    184     allowed_values {
    185       list {
    186         type: DT_FLOAT
    187         type: DT_DOUBLE
    188         type: DT_INT32
    189         type: DT_UINT8
    190         type: DT_INT16
    191         type: DT_INT8
    192         type: DT_COMPLEX64
    193         type: DT_INT64
    194         type: DT_QINT8
    195         type: DT_QUINT8
    196         type: DT_QINT32
    197         type: DT_BFLOAT16
    198         type: DT_UINT16
    199         type: DT_COMPLEX128
    200         type: DT_HALF
    201         type: DT_UINT32
    202         type: DT_UINT64
    203       }
    204     }
    205   }
    206   attr {
    207     name: "shape"
    208     type: "shape"
    209   }
    210   is_aggregate: true
    211   is_commutative: true
    212 }
    213 op {
    214   name: "AccumulatorApplyGradient"
    215   input_arg {
    216     name: "handle"
    217     type: DT_STRING
    218     is_ref: true
    219   }
    220   input_arg {
    221     name: "local_step"
    222     type: DT_INT64
    223   }
    224   input_arg {
    225     name: "gradient"
    226     type_attr: "dtype"
    227   }
    228   attr {
    229     name: "dtype"
    230     type: "type"
    231     allowed_values {
    232       list {
    233         type: DT_FLOAT
    234         type: DT_DOUBLE
    235         type: DT_INT64
    236         type: DT_INT32
    237         type: DT_UINT8
    238         type: DT_UINT16
    239         type: DT_INT16
    240         type: DT_INT8
    241         type: DT_COMPLEX64
    242         type: DT_COMPLEX128
    243         type: DT_QINT8
    244         type: DT_QUINT8
    245         type: DT_QINT32
    246         type: DT_HALF
    247       }
    248     }
    249   }
    250 }
    251 op {
    252   name: "AccumulatorApplyGradient"
    253   input_arg {
    254     name: "handle"
    255     type: DT_STRING
    256     is_ref: true
    257   }
    258   input_arg {
    259     name: "local_step"
    260     type: DT_INT64
    261   }
    262   input_arg {
    263     name: "gradient"
    264     type_attr: "dtype"
    265   }
    266   attr {
    267     name: "dtype"
    268     type: "type"
    269     allowed_values {
    270       list {
    271         type: DT_FLOAT
    272         type: DT_DOUBLE
    273         type: DT_INT64
    274         type: DT_INT32
    275         type: DT_UINT8
    276         type: DT_UINT16
    277         type: DT_INT16
    278         type: DT_INT8
    279         type: DT_COMPLEX64
    280         type: DT_COMPLEX128
    281         type: DT_QINT8
    282         type: DT_QUINT8
    283         type: DT_QINT32
    284         type: DT_HALF
    285         type: DT_UINT32
    286         type: DT_UINT64
    287       }
    288     }
    289   }
    290 }
    291 op {
    292   name: "AccumulatorApplyGradient"
    293   input_arg {
    294     name: "handle"
    295     type: DT_STRING
    296     is_ref: true
    297   }
    298   input_arg {
    299     name: "local_step"
    300     type: DT_INT64
    301   }
    302   input_arg {
    303     name: "gradient"
    304     type_attr: "dtype"
    305   }
    306   attr {
    307     name: "dtype"
    308     type: "type"
    309     allowed_values {
    310       list {
    311         type: DT_FLOAT
    312         type: DT_DOUBLE
    313         type: DT_INT64
    314         type: DT_INT32
    315         type: DT_UINT8
    316         type: DT_UINT16
    317         type: DT_INT16
    318         type: DT_INT8
    319         type: DT_COMPLEX64
    320         type: DT_COMPLEX128
    321         type: DT_QINT8
    322         type: DT_QUINT8
    323         type: DT_QINT32
    324         type: DT_HALF
    325         type: DT_UINT32
    326         type: DT_UINT64
    327         type: DT_BFLOAT16
    328       }
    329     }
    330   }
    331 }
    332 op {
    333   name: "AccumulatorApplyGradient"
    334   input_arg {
    335     name: "handle"
    336     type: DT_STRING
    337     is_ref: true
    338   }
    339   input_arg {
    340     name: "local_step"
    341     type: DT_INT64
    342   }
    343   input_arg {
    344     name: "gradient"
    345     type_attr: "dtype"
    346   }
    347   attr {
    348     name: "dtype"
    349     type: "type"
    350     allowed_values {
    351       list {
    352         type: DT_FLOAT
    353         type: DT_DOUBLE
    354         type: DT_INT32
    355         type: DT_UINT8
    356         type: DT_INT16
    357         type: DT_INT8
    358         type: DT_COMPLEX64
    359         type: DT_INT64
    360         type: DT_QINT8
    361         type: DT_QUINT8
    362         type: DT_QINT32
    363         type: DT_BFLOAT16
    364         type: DT_UINT16
    365         type: DT_COMPLEX128
    366         type: DT_HALF
    367         type: DT_UINT32
    368         type: DT_UINT64
    369       }
    370     }
    371   }
    372 }
    373 op {
    374   name: "AccumulatorNumAccumulated"
    375   input_arg {
    376     name: "handle"
    377     type: DT_STRING
    378     is_ref: true
    379   }
    380   output_arg {
    381     name: "num_accumulated"
    382     type: DT_INT32
    383   }
    384 }
    385 op {
    386   name: "AccumulatorSetGlobalStep"
    387   input_arg {
    388     name: "handle"
    389     type: DT_STRING
    390     is_ref: true
    391   }
    392   input_arg {
    393     name: "new_global_step"
    394     type: DT_INT64
    395   }
    396 }
    397 op {
    398   name: "AccumulatorTakeGradient"
    399   input_arg {
    400     name: "handle"
    401     type: DT_STRING
    402     is_ref: true
    403   }
    404   input_arg {
    405     name: "num_required"
    406     type: DT_INT32
    407   }
    408   output_arg {
    409     name: "average"
    410     type_attr: "dtype"
    411   }
    412   attr {
    413     name: "dtype"
    414     type: "type"
    415     allowed_values {
    416       list {
    417         type: DT_FLOAT
    418         type: DT_DOUBLE
    419         type: DT_INT64
    420         type: DT_INT32
    421         type: DT_UINT8
    422         type: DT_UINT16
    423         type: DT_INT16
    424         type: DT_INT8
    425         type: DT_COMPLEX64
    426         type: DT_COMPLEX128
    427         type: DT_QINT8
    428         type: DT_QUINT8
    429         type: DT_QINT32
    430         type: DT_HALF
    431       }
    432     }
    433   }
    434 }
    435 op {
    436   name: "AccumulatorTakeGradient"
    437   input_arg {
    438     name: "handle"
    439     type: DT_STRING
    440     is_ref: true
    441   }
    442   input_arg {
    443     name: "num_required"
    444     type: DT_INT32
    445   }
    446   output_arg {
    447     name: "average"
    448     type_attr: "dtype"
    449   }
    450   attr {
    451     name: "dtype"
    452     type: "type"
    453     allowed_values {
    454       list {
    455         type: DT_FLOAT
    456         type: DT_DOUBLE
    457         type: DT_INT64
    458         type: DT_INT32
    459         type: DT_UINT8
    460         type: DT_UINT16
    461         type: DT_INT16
    462         type: DT_INT8
    463         type: DT_COMPLEX64
    464         type: DT_COMPLEX128
    465         type: DT_QINT8
    466         type: DT_QUINT8
    467         type: DT_QINT32
    468         type: DT_HALF
    469         type: DT_UINT32
    470         type: DT_UINT64
    471       }
    472     }
    473   }
    474 }
    475 op {
    476   name: "AccumulatorTakeGradient"
    477   input_arg {
    478     name: "handle"
    479     type: DT_STRING
    480     is_ref: true
    481   }
    482   input_arg {
    483     name: "num_required"
    484     type: DT_INT32
    485   }
    486   output_arg {
    487     name: "average"
    488     type_attr: "dtype"
    489   }
    490   attr {
    491     name: "dtype"
    492     type: "type"
    493     allowed_values {
    494       list {
    495         type: DT_FLOAT
    496         type: DT_DOUBLE
    497         type: DT_INT64
    498         type: DT_INT32
    499         type: DT_UINT8
    500         type: DT_UINT16
    501         type: DT_INT16
    502         type: DT_INT8
    503         type: DT_COMPLEX64
    504         type: DT_COMPLEX128
    505         type: DT_QINT8
    506         type: DT_QUINT8
    507         type: DT_QINT32
    508         type: DT_HALF
    509         type: DT_UINT32
    510         type: DT_UINT64
    511         type: DT_BFLOAT16
    512       }
    513     }
    514   }
    515 }
    516 op {
    517   name: "AccumulatorTakeGradient"
    518   input_arg {
    519     name: "handle"
    520     type: DT_STRING
    521     is_ref: true
    522   }
    523   input_arg {
    524     name: "num_required"
    525     type: DT_INT32
    526   }
    527   output_arg {
    528     name: "average"
    529     type_attr: "dtype"
    530   }
    531   attr {
    532     name: "dtype"
    533     type: "type"
    534     allowed_values {
    535       list {
    536         type: DT_FLOAT
    537         type: DT_DOUBLE
    538         type: DT_INT32
    539         type: DT_UINT8
    540         type: DT_INT16
    541         type: DT_INT8
    542         type: DT_COMPLEX64
    543         type: DT_INT64
    544         type: DT_QINT8
    545         type: DT_QUINT8
    546         type: DT_QINT32
    547         type: DT_BFLOAT16
    548         type: DT_UINT16
    549         type: DT_COMPLEX128
    550         type: DT_HALF
    551         type: DT_UINT32
    552         type: DT_UINT64
    553       }
    554     }
    555   }
    556 }
    557 op {
    558   name: "Acos"
    559   input_arg {
    560     name: "x"
    561     type_attr: "T"
    562   }
    563   output_arg {
    564     name: "y"
    565     type_attr: "T"
    566   }
    567   attr {
    568     name: "T"
    569     type: "type"
    570     allowed_values {
    571       list {
    572         type: DT_HALF
    573         type: DT_FLOAT
    574         type: DT_DOUBLE
    575         type: DT_INT32
    576         type: DT_INT64
    577         type: DT_COMPLEX64
    578         type: DT_COMPLEX128
    579       }
    580     }
    581   }
    582 }
    583 op {
    584   name: "Acos"
    585   input_arg {
    586     name: "x"
    587     type_attr: "T"
    588   }
    589   output_arg {
    590     name: "y"
    591     type_attr: "T"
    592   }
    593   attr {
    594     name: "T"
    595     type: "type"
    596     allowed_values {
    597       list {
    598         type: DT_HALF
    599         type: DT_BFLOAT16
    600         type: DT_FLOAT
    601         type: DT_DOUBLE
    602         type: DT_INT32
    603         type: DT_INT64
    604         type: DT_COMPLEX64
    605         type: DT_COMPLEX128
    606       }
    607     }
    608   }
    609 }
    610 op {
    611   name: "Acosh"
    612   input_arg {
    613     name: "x"
    614     type_attr: "T"
    615   }
    616   output_arg {
    617     name: "y"
    618     type_attr: "T"
    619   }
    620   attr {
    621     name: "T"
    622     type: "type"
    623     allowed_values {
    624       list {
    625         type: DT_HALF
    626         type: DT_FLOAT
    627         type: DT_DOUBLE
    628         type: DT_COMPLEX64
    629         type: DT_COMPLEX128
    630       }
    631     }
    632   }
    633 }
    634 op {
    635   name: "Acosh"
    636   input_arg {
    637     name: "x"
    638     type_attr: "T"
    639   }
    640   output_arg {
    641     name: "y"
    642     type_attr: "T"
    643   }
    644   attr {
    645     name: "T"
    646     type: "type"
    647     allowed_values {
    648       list {
    649         type: DT_HALF
    650         type: DT_BFLOAT16
    651         type: DT_FLOAT
    652         type: DT_DOUBLE
    653         type: DT_COMPLEX64
    654         type: DT_COMPLEX128
    655       }
    656     }
    657   }
    658 }
    659 op {
    660   name: "Add"
    661   input_arg {
    662     name: "x"
    663     type_attr: "T"
    664   }
    665   input_arg {
    666     name: "y"
    667     type_attr: "T"
    668   }
    669   output_arg {
    670     name: "z"
    671     type_attr: "T"
    672   }
    673   attr {
    674     name: "T"
    675     type: "type"
    676     allowed_values {
    677       list {
    678         type: DT_HALF
    679         type: DT_FLOAT
    680         type: DT_DOUBLE
    681         type: DT_UINT8
    682         type: DT_INT8
    683         type: DT_INT16
    684         type: DT_INT32
    685         type: DT_INT64
    686         type: DT_COMPLEX64
    687         type: DT_COMPLEX128
    688         type: DT_STRING
    689       }
    690     }
    691   }
    692 }
    693 op {
    694   name: "Add"
    695   input_arg {
    696     name: "x"
    697     type_attr: "T"
    698   }
    699   input_arg {
    700     name: "y"
    701     type_attr: "T"
    702   }
    703   output_arg {
    704     name: "z"
    705     type_attr: "T"
    706   }
    707   attr {
    708     name: "T"
    709     type: "type"
    710     allowed_values {
    711       list {
    712         type: DT_HALF
    713         type: DT_BFLOAT16
    714         type: DT_FLOAT
    715         type: DT_DOUBLE
    716         type: DT_UINT8
    717         type: DT_INT8
    718         type: DT_INT16
    719         type: DT_INT32
    720         type: DT_INT64
    721         type: DT_COMPLEX64
    722         type: DT_COMPLEX128
    723         type: DT_STRING
    724       }
    725     }
    726   }
    727 }
    728 op {
    729   name: "AddManySparseToTensorsMap"
    730   input_arg {
    731     name: "sparse_indices"
    732     type: DT_INT64
    733   }
    734   input_arg {
    735     name: "sparse_values"
    736     type_attr: "T"
    737   }
    738   input_arg {
    739     name: "sparse_shape"
    740     type: DT_INT64
    741   }
    742   output_arg {
    743     name: "sparse_handles"
    744     type: DT_INT64
    745   }
    746   attr {
    747     name: "T"
    748     type: "type"
    749   }
    750   attr {
    751     name: "container"
    752     type: "string"
    753     default_value {
    754       s: ""
    755     }
    756   }
    757   attr {
    758     name: "shared_name"
    759     type: "string"
    760     default_value {
    761       s: ""
    762     }
    763   }
    764   is_stateful: true
    765 }
    766 op {
    767   name: "AddN"
    768   input_arg {
    769     name: "inputs"
    770     type_attr: "T"
    771     number_attr: "N"
    772   }
    773   output_arg {
    774     name: "sum"
    775     type_attr: "T"
    776   }
    777   attr {
    778     name: "N"
    779     type: "int"
    780     has_minimum: true
    781     minimum: 1
    782   }
    783   attr {
    784     name: "T"
    785     type: "type"
    786     allowed_values {
    787       list {
    788         type: DT_FLOAT
    789         type: DT_DOUBLE
    790         type: DT_INT64
    791         type: DT_INT32
    792         type: DT_UINT8
    793         type: DT_UINT16
    794         type: DT_INT16
    795         type: DT_INT8
    796         type: DT_COMPLEX64
    797         type: DT_COMPLEX128
    798         type: DT_QINT8
    799         type: DT_QUINT8
    800         type: DT_QINT32
    801         type: DT_HALF
    802       }
    803     }
    804   }
    805   is_aggregate: true
    806   is_commutative: true
    807 }
    808 op {
    809   name: "AddN"
    810   input_arg {
    811     name: "inputs"
    812     type_attr: "T"
    813     number_attr: "N"
    814   }
    815   output_arg {
    816     name: "sum"
    817     type_attr: "T"
    818   }
    819   attr {
    820     name: "N"
    821     type: "int"
    822     has_minimum: true
    823     minimum: 1
    824   }
    825   attr {
    826     name: "T"
    827     type: "type"
    828     allowed_values {
    829       list {
    830         type: DT_FLOAT
    831         type: DT_DOUBLE
    832         type: DT_INT64
    833         type: DT_INT32
    834         type: DT_UINT8
    835         type: DT_UINT16
    836         type: DT_INT16
    837         type: DT_INT8
    838         type: DT_COMPLEX64
    839         type: DT_COMPLEX128
    840         type: DT_QINT8
    841         type: DT_QUINT8
    842         type: DT_QINT32
    843         type: DT_HALF
    844         type: DT_VARIANT
    845       }
    846     }
    847   }
    848   is_aggregate: true
    849   is_commutative: true
    850 }
    851 op {
    852   name: "AddN"
    853   input_arg {
    854     name: "inputs"
    855     type_attr: "T"
    856     number_attr: "N"
    857   }
    858   output_arg {
    859     name: "sum"
    860     type_attr: "T"
    861   }
    862   attr {
    863     name: "N"
    864     type: "int"
    865     has_minimum: true
    866     minimum: 1
    867   }
    868   attr {
    869     name: "T"
    870     type: "type"
    871     allowed_values {
    872       list {
    873         type: DT_FLOAT
    874         type: DT_DOUBLE
    875         type: DT_INT64
    876         type: DT_INT32
    877         type: DT_UINT8
    878         type: DT_UINT16
    879         type: DT_INT16
    880         type: DT_INT8
    881         type: DT_COMPLEX64
    882         type: DT_COMPLEX128
    883         type: DT_QINT8
    884         type: DT_QUINT8
    885         type: DT_QINT32
    886         type: DT_HALF
    887         type: DT_UINT32
    888         type: DT_UINT64
    889         type: DT_VARIANT
    890       }
    891     }
    892   }
    893   is_aggregate: true
    894   is_commutative: true
    895 }
    896 op {
    897   name: "AddN"
    898   input_arg {
    899     name: "inputs"
    900     type_attr: "T"
    901     number_attr: "N"
    902   }
    903   output_arg {
    904     name: "sum"
    905     type_attr: "T"
    906   }
    907   attr {
    908     name: "N"
    909     type: "int"
    910     has_minimum: true
    911     minimum: 1
    912   }
    913   attr {
    914     name: "T"
    915     type: "type"
    916     allowed_values {
    917       list {
    918         type: DT_FLOAT
    919         type: DT_DOUBLE
    920         type: DT_INT64
    921         type: DT_INT32
    922         type: DT_UINT8
    923         type: DT_UINT16
    924         type: DT_INT16
    925         type: DT_INT8
    926         type: DT_COMPLEX64
    927         type: DT_COMPLEX128
    928         type: DT_QINT8
    929         type: DT_QUINT8
    930         type: DT_QINT32
    931         type: DT_HALF
    932         type: DT_UINT32
    933         type: DT_UINT64
    934         type: DT_BFLOAT16
    935         type: DT_VARIANT
    936       }
    937     }
    938   }
    939   is_aggregate: true
    940   is_commutative: true
    941 }
    942 op {
    943   name: "AddN"
    944   input_arg {
    945     name: "inputs"
    946     type_attr: "T"
    947     number_attr: "N"
    948   }
    949   output_arg {
    950     name: "sum"
    951     type_attr: "T"
    952   }
    953   attr {
    954     name: "N"
    955     type: "int"
    956     has_minimum: true
    957     minimum: 1
    958   }
    959   attr {
    960     name: "T"
    961     type: "type"
    962     allowed_values {
    963       list {
    964         type: DT_FLOAT
    965         type: DT_DOUBLE
    966         type: DT_INT32
    967         type: DT_UINT8
    968         type: DT_INT16
    969         type: DT_INT8
    970         type: DT_COMPLEX64
    971         type: DT_INT64
    972         type: DT_QINT8
    973         type: DT_QUINT8
    974         type: DT_QINT32
    975         type: DT_BFLOAT16
    976         type: DT_UINT16
    977         type: DT_COMPLEX128
    978         type: DT_HALF
    979         type: DT_UINT32
    980         type: DT_UINT64
    981         type: DT_VARIANT
    982       }
    983     }
    984   }
    985   is_aggregate: true
    986   is_commutative: true
    987 }
    988 op {
    989   name: "AddSparseToTensorsMap"
    990   input_arg {
    991     name: "sparse_indices"
    992     type: DT_INT64
    993   }
    994   input_arg {
    995     name: "sparse_values"
    996     type_attr: "T"
    997   }
    998   input_arg {
    999     name: "sparse_shape"
   1000     type: DT_INT64
   1001   }
   1002   output_arg {
   1003     name: "sparse_handle"
   1004     type: DT_INT64
   1005   }
   1006   attr {
   1007     name: "T"
   1008     type: "type"
   1009   }
   1010   attr {
   1011     name: "container"
   1012     type: "string"
   1013     default_value {
   1014       s: ""
   1015     }
   1016   }
   1017   attr {
   1018     name: "shared_name"
   1019     type: "string"
   1020     default_value {
   1021       s: ""
   1022     }
   1023   }
   1024   is_stateful: true
   1025 }
   1026 op {
   1027   name: "AddV2"
   1028   input_arg {
   1029     name: "x"
   1030     type_attr: "T"
   1031   }
   1032   input_arg {
   1033     name: "y"
   1034     type_attr: "T"
   1035   }
   1036   output_arg {
   1037     name: "z"
   1038     type_attr: "T"
   1039   }
   1040   attr {
   1041     name: "T"
   1042     type: "type"
   1043     allowed_values {
   1044       list {
   1045         type: DT_HALF
   1046         type: DT_FLOAT
   1047         type: DT_DOUBLE
   1048         type: DT_UINT8
   1049         type: DT_INT8
   1050         type: DT_INT16
   1051         type: DT_INT32
   1052         type: DT_INT64
   1053         type: DT_COMPLEX64
   1054         type: DT_COMPLEX128
   1055       }
   1056     }
   1057   }
   1058   is_aggregate: true
   1059   is_commutative: true
   1060 }
   1061 op {
   1062   name: "AddV2"
   1063   input_arg {
   1064     name: "x"
   1065     type_attr: "T"
   1066   }
   1067   input_arg {
   1068     name: "y"
   1069     type_attr: "T"
   1070   }
   1071   output_arg {
   1072     name: "z"
   1073     type_attr: "T"
   1074   }
   1075   attr {
   1076     name: "T"
   1077     type: "type"
   1078     allowed_values {
   1079       list {
   1080         type: DT_HALF
   1081         type: DT_BFLOAT16
   1082         type: DT_FLOAT
   1083         type: DT_DOUBLE
   1084         type: DT_UINT8
   1085         type: DT_INT8
   1086         type: DT_INT16
   1087         type: DT_INT32
   1088         type: DT_INT64
   1089         type: DT_COMPLEX64
   1090         type: DT_COMPLEX128
   1091       }
   1092     }
   1093   }
   1094   is_aggregate: true
   1095   is_commutative: true
   1096 }
   1097 op {
   1098   name: "AdjustContrast"
   1099   input_arg {
   1100     name: "images"
   1101     type_attr: "T"
   1102   }
   1103   input_arg {
   1104     name: "contrast_factor"
   1105     type: DT_FLOAT
   1106   }
   1107   input_arg {
   1108     name: "min_value"
   1109     type: DT_FLOAT
   1110   }
   1111   input_arg {
   1112     name: "max_value"
   1113     type: DT_FLOAT
   1114   }
   1115   output_arg {
   1116     name: "output"
   1117     type: DT_FLOAT
   1118   }
   1119   attr {
   1120     name: "T"
   1121     type: "type"
   1122     allowed_values {
   1123       list {
   1124         type: DT_UINT8
   1125         type: DT_INT8
   1126         type: DT_INT16
   1127         type: DT_INT32
   1128         type: DT_INT64
   1129         type: DT_FLOAT
   1130         type: DT_DOUBLE
   1131       }
   1132     }
   1133   }
   1134   deprecation {
   1135     version: 2
   1136   }
   1137 }
   1138 op {
   1139   name: "AdjustContrastv2"
   1140   input_arg {
   1141     name: "images"
   1142     type: DT_FLOAT
   1143   }
   1144   input_arg {
   1145     name: "contrast_factor"
   1146     type: DT_FLOAT
   1147   }
   1148   output_arg {
   1149     name: "output"
   1150     type: DT_FLOAT
   1151   }
   1152 }
   1153 op {
   1154   name: "AdjustHue"
   1155   input_arg {
   1156     name: "images"
   1157     type: DT_FLOAT
   1158   }
   1159   input_arg {
   1160     name: "delta"
   1161     type: DT_FLOAT
   1162   }
   1163   output_arg {
   1164     name: "output"
   1165     type: DT_FLOAT
   1166   }
   1167 }
   1168 op {
   1169   name: "AdjustSaturation"
   1170   input_arg {
   1171     name: "images"
   1172     type: DT_FLOAT
   1173   }
   1174   input_arg {
   1175     name: "scale"
   1176     type: DT_FLOAT
   1177   }
   1178   output_arg {
   1179     name: "output"
   1180     type: DT_FLOAT
   1181   }
   1182 }
   1183 op {
   1184   name: "All"
   1185   input_arg {
   1186     name: "input"
   1187     type: DT_BOOL
   1188   }
   1189   input_arg {
   1190     name: "reduction_indices"
   1191     type_attr: "Tidx"
   1192   }
   1193   output_arg {
   1194     name: "output"
   1195     type: DT_BOOL
   1196   }
   1197   attr {
   1198     name: "keep_dims"
   1199     type: "bool"
   1200     default_value {
   1201       b: false
   1202     }
   1203   }
   1204   attr {
   1205     name: "Tidx"
   1206     type: "type"
   1207     default_value {
   1208       type: DT_INT32
   1209     }
   1210     allowed_values {
   1211       list {
   1212         type: DT_INT32
   1213         type: DT_INT64
   1214       }
   1215     }
   1216   }
   1217 }
   1218 op {
   1219   name: "AllCandidateSampler"
   1220   input_arg {
   1221     name: "true_classes"
   1222     type: DT_INT64
   1223   }
   1224   output_arg {
   1225     name: "sampled_candidates"
   1226     type: DT_INT64
   1227   }
   1228   output_arg {
   1229     name: "true_expected_count"
   1230     type: DT_FLOAT
   1231   }
   1232   output_arg {
   1233     name: "sampled_expected_count"
   1234     type: DT_FLOAT
   1235   }
   1236   attr {
   1237     name: "num_true"
   1238     type: "int"
   1239     has_minimum: true
   1240     minimum: 1
   1241   }
   1242   attr {
   1243     name: "num_sampled"
   1244     type: "int"
   1245     has_minimum: true
   1246     minimum: 1
   1247   }
   1248   attr {
   1249     name: "unique"
   1250     type: "bool"
   1251   }
   1252   attr {
   1253     name: "seed"
   1254     type: "int"
   1255     default_value {
   1256       i: 0
   1257     }
   1258   }
   1259   attr {
   1260     name: "seed2"
   1261     type: "int"
   1262     default_value {
   1263       i: 0
   1264     }
   1265   }
   1266 }
   1267 op {
   1268   name: "AllCandidateSampler"
   1269   input_arg {
   1270     name: "true_classes"
   1271     type: DT_INT64
   1272   }
   1273   output_arg {
   1274     name: "sampled_candidates"
   1275     type: DT_INT64
   1276   }
   1277   output_arg {
   1278     name: "true_expected_count"
   1279     type: DT_FLOAT
   1280   }
   1281   output_arg {
   1282     name: "sampled_expected_count"
   1283     type: DT_FLOAT
   1284   }
   1285   attr {
   1286     name: "num_true"
   1287     type: "int"
   1288     has_minimum: true
   1289     minimum: 1
   1290   }
   1291   attr {
   1292     name: "num_sampled"
   1293     type: "int"
   1294     has_minimum: true
   1295     minimum: 1
   1296   }
   1297   attr {
   1298     name: "unique"
   1299     type: "bool"
   1300   }
   1301   attr {
   1302     name: "seed"
   1303     type: "int"
   1304     default_value {
   1305       i: 0
   1306     }
   1307   }
   1308   attr {
   1309     name: "seed2"
   1310     type: "int"
   1311     default_value {
   1312       i: 0
   1313     }
   1314   }
   1315   is_stateful: true
   1316 }
   1317 op {
   1318   name: "Angle"
   1319   input_arg {
   1320     name: "input"
   1321     type_attr: "T"
   1322   }
   1323   output_arg {
   1324     name: "output"
   1325     type_attr: "Tout"
   1326   }
   1327   attr {
   1328     name: "T"
   1329     type: "type"
   1330     default_value {
   1331       type: DT_COMPLEX64
   1332     }
   1333     allowed_values {
   1334       list {
   1335         type: DT_COMPLEX64
   1336         type: DT_COMPLEX128
   1337       }
   1338     }
   1339   }
   1340   attr {
   1341     name: "Tout"
   1342     type: "type"
   1343     default_value {
   1344       type: DT_FLOAT
   1345     }
   1346     allowed_values {
   1347       list {
   1348         type: DT_FLOAT
   1349         type: DT_DOUBLE
   1350       }
   1351     }
   1352   }
   1353 }
   1354 op {
   1355   name: "Any"
   1356   input_arg {
   1357     name: "input"
   1358     type: DT_BOOL
   1359   }
   1360   input_arg {
   1361     name: "reduction_indices"
   1362     type_attr: "Tidx"
   1363   }
   1364   output_arg {
   1365     name: "output"
   1366     type: DT_BOOL
   1367   }
   1368   attr {
   1369     name: "keep_dims"
   1370     type: "bool"
   1371     default_value {
   1372       b: false
   1373     }
   1374   }
   1375   attr {
   1376     name: "Tidx"
   1377     type: "type"
   1378     default_value {
   1379       type: DT_INT32
   1380     }
   1381     allowed_values {
   1382       list {
   1383         type: DT_INT32
   1384         type: DT_INT64
   1385       }
   1386     }
   1387   }
   1388 }
   1389 op {
   1390   name: "ApplyAdadelta"
   1391   input_arg {
   1392     name: "var"
   1393     type_attr: "T"
   1394     is_ref: true
   1395   }
   1396   input_arg {
   1397     name: "accum"
   1398     type_attr: "T"
   1399     is_ref: true
   1400   }
   1401   input_arg {
   1402     name: "accum_update"
   1403     type_attr: "T"
   1404     is_ref: true
   1405   }
   1406   input_arg {
   1407     name: "lr"
   1408     type_attr: "T"
   1409   }
   1410   input_arg {
   1411     name: "rho"
   1412     type_attr: "T"
   1413   }
   1414   input_arg {
   1415     name: "epsilon"
   1416     type_attr: "T"
   1417   }
   1418   input_arg {
   1419     name: "grad"
   1420     type_attr: "T"
   1421   }
   1422   output_arg {
   1423     name: "out"
   1424     type_attr: "T"
   1425     is_ref: true
   1426   }
   1427   attr {
   1428     name: "T"
   1429     type: "type"
   1430     allowed_values {
   1431       list {
   1432         type: DT_FLOAT
   1433         type: DT_DOUBLE
   1434         type: DT_INT64
   1435         type: DT_INT32
   1436         type: DT_UINT8
   1437         type: DT_UINT16
   1438         type: DT_INT16
   1439         type: DT_INT8
   1440         type: DT_COMPLEX64
   1441         type: DT_COMPLEX128
   1442         type: DT_QINT8
   1443         type: DT_QUINT8
   1444         type: DT_QINT32
   1445         type: DT_HALF
   1446       }
   1447     }
   1448   }
   1449   attr {
   1450     name: "use_locking"
   1451     type: "bool"
   1452     default_value {
   1453       b: false
   1454     }
   1455   }
   1456 }
   1457 op {
   1458   name: "ApplyAdadelta"
   1459   input_arg {
   1460     name: "var"
   1461     type_attr: "T"
   1462     is_ref: true
   1463   }
   1464   input_arg {
   1465     name: "accum"
   1466     type_attr: "T"
   1467     is_ref: true
   1468   }
   1469   input_arg {
   1470     name: "accum_update"
   1471     type_attr: "T"
   1472     is_ref: true
   1473   }
   1474   input_arg {
   1475     name: "lr"
   1476     type_attr: "T"
   1477   }
   1478   input_arg {
   1479     name: "rho"
   1480     type_attr: "T"
   1481   }
   1482   input_arg {
   1483     name: "epsilon"
   1484     type_attr: "T"
   1485   }
   1486   input_arg {
   1487     name: "grad"
   1488     type_attr: "T"
   1489   }
   1490   output_arg {
   1491     name: "out"
   1492     type_attr: "T"
   1493     is_ref: true
   1494   }
   1495   attr {
   1496     name: "T"
   1497     type: "type"
   1498     allowed_values {
   1499       list {
   1500         type: DT_FLOAT
   1501         type: DT_DOUBLE
   1502         type: DT_INT64
   1503         type: DT_INT32
   1504         type: DT_UINT8
   1505         type: DT_UINT16
   1506         type: DT_INT16
   1507         type: DT_INT8
   1508         type: DT_COMPLEX64
   1509         type: DT_COMPLEX128
   1510         type: DT_QINT8
   1511         type: DT_QUINT8
   1512         type: DT_QINT32
   1513         type: DT_HALF
   1514         type: DT_UINT32
   1515         type: DT_UINT64
   1516       }
   1517     }
   1518   }
   1519   attr {
   1520     name: "use_locking"
   1521     type: "bool"
   1522     default_value {
   1523       b: false
   1524     }
   1525   }
   1526 }
   1527 op {
   1528   name: "ApplyAdadelta"
   1529   input_arg {
   1530     name: "var"
   1531     type_attr: "T"
   1532     is_ref: true
   1533   }
   1534   input_arg {
   1535     name: "accum"
   1536     type_attr: "T"
   1537     is_ref: true
   1538   }
   1539   input_arg {
   1540     name: "accum_update"
   1541     type_attr: "T"
   1542     is_ref: true
   1543   }
   1544   input_arg {
   1545     name: "lr"
   1546     type_attr: "T"
   1547   }
   1548   input_arg {
   1549     name: "rho"
   1550     type_attr: "T"
   1551   }
   1552   input_arg {
   1553     name: "epsilon"
   1554     type_attr: "T"
   1555   }
   1556   input_arg {
   1557     name: "grad"
   1558     type_attr: "T"
   1559   }
   1560   output_arg {
   1561     name: "out"
   1562     type_attr: "T"
   1563     is_ref: true
   1564   }
   1565   attr {
   1566     name: "T"
   1567     type: "type"
   1568     allowed_values {
   1569       list {
   1570         type: DT_FLOAT
   1571         type: DT_DOUBLE
   1572         type: DT_INT64
   1573         type: DT_INT32
   1574         type: DT_UINT8
   1575         type: DT_UINT16
   1576         type: DT_INT16
   1577         type: DT_INT8
   1578         type: DT_COMPLEX64
   1579         type: DT_COMPLEX128
   1580         type: DT_QINT8
   1581         type: DT_QUINT8
   1582         type: DT_QINT32
   1583         type: DT_HALF
   1584         type: DT_UINT32
   1585         type: DT_UINT64
   1586         type: DT_BFLOAT16
   1587       }
   1588     }
   1589   }
   1590   attr {
   1591     name: "use_locking"
   1592     type: "bool"
   1593     default_value {
   1594       b: false
   1595     }
   1596   }
   1597 }
   1598 op {
   1599   name: "ApplyAdadelta"
   1600   input_arg {
   1601     name: "var"
   1602     type_attr: "T"
   1603     is_ref: true
   1604   }
   1605   input_arg {
   1606     name: "accum"
   1607     type_attr: "T"
   1608     is_ref: true
   1609   }
   1610   input_arg {
   1611     name: "accum_update"
   1612     type_attr: "T"
   1613     is_ref: true
   1614   }
   1615   input_arg {
   1616     name: "lr"
   1617     type_attr: "T"
   1618   }
   1619   input_arg {
   1620     name: "rho"
   1621     type_attr: "T"
   1622   }
   1623   input_arg {
   1624     name: "epsilon"
   1625     type_attr: "T"
   1626   }
   1627   input_arg {
   1628     name: "grad"
   1629     type_attr: "T"
   1630   }
   1631   output_arg {
   1632     name: "out"
   1633     type_attr: "T"
   1634     is_ref: true
   1635   }
   1636   attr {
   1637     name: "T"
   1638     type: "type"
   1639     allowed_values {
   1640       list {
   1641         type: DT_FLOAT
   1642         type: DT_DOUBLE
   1643         type: DT_INT32
   1644         type: DT_UINT8
   1645         type: DT_INT16
   1646         type: DT_INT8
   1647         type: DT_COMPLEX64
   1648         type: DT_INT64
   1649         type: DT_QINT8
   1650         type: DT_QUINT8
   1651         type: DT_QINT32
   1652         type: DT_BFLOAT16
   1653         type: DT_UINT16
   1654         type: DT_COMPLEX128
   1655         type: DT_HALF
   1656         type: DT_UINT32
   1657         type: DT_UINT64
   1658       }
   1659     }
   1660   }
   1661   attr {
   1662     name: "use_locking"
   1663     type: "bool"
   1664     default_value {
   1665       b: false
   1666     }
   1667   }
   1668 }
   1669 op {
   1670   name: "ApplyAdagrad"
   1671   input_arg {
   1672     name: "var"
   1673     type_attr: "T"
   1674     is_ref: true
   1675   }
   1676   input_arg {
   1677     name: "accum"
   1678     type_attr: "T"
   1679     is_ref: true
   1680   }
   1681   input_arg {
   1682     name: "lr"
   1683     type_attr: "T"
   1684   }
   1685   input_arg {
   1686     name: "grad"
   1687     type_attr: "T"
   1688   }
   1689   output_arg {
   1690     name: "out"
   1691     type_attr: "T"
   1692     is_ref: true
   1693   }
   1694   attr {
   1695     name: "T"
   1696     type: "type"
   1697     allowed_values {
   1698       list {
   1699         type: DT_FLOAT
   1700         type: DT_DOUBLE
   1701         type: DT_INT64
   1702         type: DT_INT32
   1703         type: DT_UINT8
   1704         type: DT_UINT16
   1705         type: DT_INT16
   1706         type: DT_INT8
   1707         type: DT_COMPLEX64
   1708         type: DT_COMPLEX128
   1709         type: DT_QINT8
   1710         type: DT_QUINT8
   1711         type: DT_QINT32
   1712         type: DT_HALF
   1713       }
   1714     }
   1715   }
   1716   attr {
   1717     name: "use_locking"
   1718     type: "bool"
   1719     default_value {
   1720       b: false
   1721     }
   1722   }
   1723 }
   1724 op {
   1725   name: "ApplyAdagrad"
   1726   input_arg {
   1727     name: "var"
   1728     type_attr: "T"
   1729     is_ref: true
   1730   }
   1731   input_arg {
   1732     name: "accum"
   1733     type_attr: "T"
   1734     is_ref: true
   1735   }
   1736   input_arg {
   1737     name: "lr"
   1738     type_attr: "T"
   1739   }
   1740   input_arg {
   1741     name: "grad"
   1742     type_attr: "T"
   1743   }
   1744   output_arg {
   1745     name: "out"
   1746     type_attr: "T"
   1747     is_ref: true
   1748   }
   1749   attr {
   1750     name: "T"
   1751     type: "type"
   1752     allowed_values {
   1753       list {
   1754         type: DT_FLOAT
   1755         type: DT_DOUBLE
   1756         type: DT_INT64
   1757         type: DT_INT32
   1758         type: DT_UINT8
   1759         type: DT_UINT16
   1760         type: DT_INT16
   1761         type: DT_INT8
   1762         type: DT_COMPLEX64
   1763         type: DT_COMPLEX128
   1764         type: DT_QINT8
   1765         type: DT_QUINT8
   1766         type: DT_QINT32
   1767         type: DT_HALF
   1768         type: DT_UINT32
   1769         type: DT_UINT64
   1770       }
   1771     }
   1772   }
   1773   attr {
   1774     name: "use_locking"
   1775     type: "bool"
   1776     default_value {
   1777       b: false
   1778     }
   1779   }
   1780 }
   1781 op {
   1782   name: "ApplyAdagrad"
   1783   input_arg {
   1784     name: "var"
   1785     type_attr: "T"
   1786     is_ref: true
   1787   }
   1788   input_arg {
   1789     name: "accum"
   1790     type_attr: "T"
   1791     is_ref: true
   1792   }
   1793   input_arg {
   1794     name: "lr"
   1795     type_attr: "T"
   1796   }
   1797   input_arg {
   1798     name: "grad"
   1799     type_attr: "T"
   1800   }
   1801   output_arg {
   1802     name: "out"
   1803     type_attr: "T"
   1804     is_ref: true
   1805   }
   1806   attr {
   1807     name: "T"
   1808     type: "type"
   1809     allowed_values {
   1810       list {
   1811         type: DT_FLOAT
   1812         type: DT_DOUBLE
   1813         type: DT_INT64
   1814         type: DT_INT32
   1815         type: DT_UINT8
   1816         type: DT_UINT16
   1817         type: DT_INT16
   1818         type: DT_INT8
   1819         type: DT_COMPLEX64
   1820         type: DT_COMPLEX128
   1821         type: DT_QINT8
   1822         type: DT_QUINT8
   1823         type: DT_QINT32
   1824         type: DT_HALF
   1825         type: DT_UINT32
   1826         type: DT_UINT64
   1827         type: DT_BFLOAT16
   1828       }
   1829     }
   1830   }
   1831   attr {
   1832     name: "use_locking"
   1833     type: "bool"
   1834     default_value {
   1835       b: false
   1836     }
   1837   }
   1838 }
   1839 op {
   1840   name: "ApplyAdagrad"
   1841   input_arg {
   1842     name: "var"
   1843     type_attr: "T"
   1844     is_ref: true
   1845   }
   1846   input_arg {
   1847     name: "accum"
   1848     type_attr: "T"
   1849     is_ref: true
   1850   }
   1851   input_arg {
   1852     name: "lr"
   1853     type_attr: "T"
   1854   }
   1855   input_arg {
   1856     name: "grad"
   1857     type_attr: "T"
   1858   }
   1859   output_arg {
   1860     name: "out"
   1861     type_attr: "T"
   1862     is_ref: true
   1863   }
   1864   attr {
   1865     name: "T"
   1866     type: "type"
   1867     allowed_values {
   1868       list {
   1869         type: DT_FLOAT
   1870         type: DT_DOUBLE
   1871         type: DT_INT32
   1872         type: DT_UINT8
   1873         type: DT_INT16
   1874         type: DT_INT8
   1875         type: DT_COMPLEX64
   1876         type: DT_INT64
   1877         type: DT_QINT8
   1878         type: DT_QUINT8
   1879         type: DT_QINT32
   1880         type: DT_BFLOAT16
   1881         type: DT_UINT16
   1882         type: DT_COMPLEX128
   1883         type: DT_HALF
   1884         type: DT_UINT32
   1885         type: DT_UINT64
   1886       }
   1887     }
   1888   }
   1889   attr {
   1890     name: "use_locking"
   1891     type: "bool"
   1892     default_value {
   1893       b: false
   1894     }
   1895   }
   1896 }
   1897 op {
   1898   name: "ApplyAdagradDA"
   1899   input_arg {
   1900     name: "var"
   1901     type_attr: "T"
   1902     is_ref: true
   1903   }
   1904   input_arg {
   1905     name: "gradient_accumulator"
   1906     type_attr: "T"
   1907     is_ref: true
   1908   }
   1909   input_arg {
   1910     name: "gradient_squared_accumulator"
   1911     type_attr: "T"
   1912     is_ref: true
   1913   }
   1914   input_arg {
   1915     name: "grad"
   1916     type_attr: "T"
   1917   }
   1918   input_arg {
   1919     name: "lr"
   1920     type_attr: "T"
   1921   }
   1922   input_arg {
   1923     name: "l1"
   1924     type_attr: "T"
   1925   }
   1926   input_arg {
   1927     name: "l2"
   1928     type_attr: "T"
   1929   }
   1930   input_arg {
   1931     name: "global_step"
   1932     type: DT_INT64
   1933   }
   1934   output_arg {
   1935     name: "out"
   1936     type_attr: "T"
   1937     is_ref: true
   1938   }
   1939   attr {
   1940     name: "T"
   1941     type: "type"
   1942     allowed_values {
   1943       list {
   1944         type: DT_FLOAT
   1945         type: DT_DOUBLE
   1946         type: DT_INT64
   1947         type: DT_INT32
   1948         type: DT_UINT8
   1949         type: DT_UINT16
   1950         type: DT_INT16
   1951         type: DT_INT8
   1952         type: DT_COMPLEX64
   1953         type: DT_COMPLEX128
   1954         type: DT_QINT8
   1955         type: DT_QUINT8
   1956         type: DT_QINT32
   1957         type: DT_HALF
   1958       }
   1959     }
   1960   }
   1961   attr {
   1962     name: "use_locking"
   1963     type: "bool"
   1964     default_value {
   1965       b: false
   1966     }
   1967   }
   1968 }
   1969 op {
   1970   name: "ApplyAdagradDA"
   1971   input_arg {
   1972     name: "var"
   1973     type_attr: "T"
   1974     is_ref: true
   1975   }
   1976   input_arg {
   1977     name: "gradient_accumulator"
   1978     type_attr: "T"
   1979     is_ref: true
   1980   }
   1981   input_arg {
   1982     name: "gradient_squared_accumulator"
   1983     type_attr: "T"
   1984     is_ref: true
   1985   }
   1986   input_arg {
   1987     name: "grad"
   1988     type_attr: "T"
   1989   }
   1990   input_arg {
   1991     name: "lr"
   1992     type_attr: "T"
   1993   }
   1994   input_arg {
   1995     name: "l1"
   1996     type_attr: "T"
   1997   }
   1998   input_arg {
   1999     name: "l2"
   2000     type_attr: "T"
   2001   }
   2002   input_arg {
   2003     name: "global_step"
   2004     type: DT_INT64
   2005   }
   2006   output_arg {
   2007     name: "out"
   2008     type_attr: "T"
   2009     is_ref: true
   2010   }
   2011   attr {
   2012     name: "T"
   2013     type: "type"
   2014     allowed_values {
   2015       list {
   2016         type: DT_FLOAT
   2017         type: DT_DOUBLE
   2018         type: DT_INT64
   2019         type: DT_INT32
   2020         type: DT_UINT8
   2021         type: DT_UINT16
   2022         type: DT_INT16
   2023         type: DT_INT8
   2024         type: DT_COMPLEX64
   2025         type: DT_COMPLEX128
   2026         type: DT_QINT8
   2027         type: DT_QUINT8
   2028         type: DT_QINT32
   2029         type: DT_HALF
   2030         type: DT_UINT32
   2031         type: DT_UINT64
   2032       }
   2033     }
   2034   }
   2035   attr {
   2036     name: "use_locking"
   2037     type: "bool"
   2038     default_value {
   2039       b: false
   2040     }
   2041   }
   2042 }
   2043 op {
   2044   name: "ApplyAdagradDA"
   2045   input_arg {
   2046     name: "var"
   2047     type_attr: "T"
   2048     is_ref: true
   2049   }
   2050   input_arg {
   2051     name: "gradient_accumulator"
   2052     type_attr: "T"
   2053     is_ref: true
   2054   }
   2055   input_arg {
   2056     name: "gradient_squared_accumulator"
   2057     type_attr: "T"
   2058     is_ref: true
   2059   }
   2060   input_arg {
   2061     name: "grad"
   2062     type_attr: "T"
   2063   }
   2064   input_arg {
   2065     name: "lr"
   2066     type_attr: "T"
   2067   }
   2068   input_arg {
   2069     name: "l1"
   2070     type_attr: "T"
   2071   }
   2072   input_arg {
   2073     name: "l2"
   2074     type_attr: "T"
   2075   }
   2076   input_arg {
   2077     name: "global_step"
   2078     type: DT_INT64
   2079   }
   2080   output_arg {
   2081     name: "out"
   2082     type_attr: "T"
   2083     is_ref: true
   2084   }
   2085   attr {
   2086     name: "T"
   2087     type: "type"
   2088     allowed_values {
   2089       list {
   2090         type: DT_FLOAT
   2091         type: DT_DOUBLE
   2092         type: DT_INT64
   2093         type: DT_INT32
   2094         type: DT_UINT8
   2095         type: DT_UINT16
   2096         type: DT_INT16
   2097         type: DT_INT8
   2098         type: DT_COMPLEX64
   2099         type: DT_COMPLEX128
   2100         type: DT_QINT8
   2101         type: DT_QUINT8
   2102         type: DT_QINT32
   2103         type: DT_HALF
   2104         type: DT_UINT32
   2105         type: DT_UINT64
   2106         type: DT_BFLOAT16
   2107       }
   2108     }
   2109   }
   2110   attr {
   2111     name: "use_locking"
   2112     type: "bool"
   2113     default_value {
   2114       b: false
   2115     }
   2116   }
   2117 }
   2118 op {
   2119   name: "ApplyAdagradDA"
   2120   input_arg {
   2121     name: "var"
   2122     type_attr: "T"
   2123     is_ref: true
   2124   }
   2125   input_arg {
   2126     name: "gradient_accumulator"
   2127     type_attr: "T"
   2128     is_ref: true
   2129   }
   2130   input_arg {
   2131     name: "gradient_squared_accumulator"
   2132     type_attr: "T"
   2133     is_ref: true
   2134   }
   2135   input_arg {
   2136     name: "grad"
   2137     type_attr: "T"
   2138   }
   2139   input_arg {
   2140     name: "lr"
   2141     type_attr: "T"
   2142   }
   2143   input_arg {
   2144     name: "l1"
   2145     type_attr: "T"
   2146   }
   2147   input_arg {
   2148     name: "l2"
   2149     type_attr: "T"
   2150   }
   2151   input_arg {
   2152     name: "global_step"
   2153     type: DT_INT64
   2154   }
   2155   output_arg {
   2156     name: "out"
   2157     type_attr: "T"
   2158     is_ref: true
   2159   }
   2160   attr {
   2161     name: "T"
   2162     type: "type"
   2163     allowed_values {
   2164       list {
   2165         type: DT_FLOAT
   2166         type: DT_DOUBLE
   2167         type: DT_INT32
   2168         type: DT_UINT8
   2169         type: DT_INT16
   2170         type: DT_INT8
   2171         type: DT_COMPLEX64
   2172         type: DT_INT64
   2173         type: DT_QINT8
   2174         type: DT_QUINT8
   2175         type: DT_QINT32
   2176         type: DT_BFLOAT16
   2177         type: DT_UINT16
   2178         type: DT_COMPLEX128
   2179         type: DT_HALF
   2180         type: DT_UINT32
   2181         type: DT_UINT64
   2182       }
   2183     }
   2184   }
   2185   attr {
   2186     name: "use_locking"
   2187     type: "bool"
   2188     default_value {
   2189       b: false
   2190     }
   2191   }
   2192 }
   2193 op {
   2194   name: "ApplyAdam"
   2195   input_arg {
   2196     name: "var"
   2197     type_attr: "T"
   2198     is_ref: true
   2199   }
   2200   input_arg {
   2201     name: "m"
   2202     type_attr: "T"
   2203     is_ref: true
   2204   }
   2205   input_arg {
   2206     name: "v"
   2207     type_attr: "T"
   2208     is_ref: true
   2209   }
   2210   input_arg {
   2211     name: "beta1_power"
   2212     type_attr: "T"
   2213   }
   2214   input_arg {
   2215     name: "beta2_power"
   2216     type_attr: "T"
   2217   }
   2218   input_arg {
   2219     name: "lr"
   2220     type_attr: "T"
   2221   }
   2222   input_arg {
   2223     name: "beta1"
   2224     type_attr: "T"
   2225   }
   2226   input_arg {
   2227     name: "beta2"
   2228     type_attr: "T"
   2229   }
   2230   input_arg {
   2231     name: "epsilon"
   2232     type_attr: "T"
   2233   }
   2234   input_arg {
   2235     name: "grad"
   2236     type_attr: "T"
   2237   }
   2238   output_arg {
   2239     name: "out"
   2240     type_attr: "T"
   2241     is_ref: true
   2242   }
   2243   attr {
   2244     name: "T"
   2245     type: "type"
   2246     allowed_values {
   2247       list {
   2248         type: DT_FLOAT
   2249         type: DT_DOUBLE
   2250         type: DT_INT64
   2251         type: DT_INT32
   2252         type: DT_UINT8
   2253         type: DT_UINT16
   2254         type: DT_INT16
   2255         type: DT_INT8
   2256         type: DT_COMPLEX64
   2257         type: DT_COMPLEX128
   2258         type: DT_QINT8
   2259         type: DT_QUINT8
   2260         type: DT_QINT32
   2261         type: DT_HALF
   2262       }
   2263     }
   2264   }
   2265   attr {
   2266     name: "use_locking"
   2267     type: "bool"
   2268     default_value {
   2269       b: false
   2270     }
   2271   }
   2272 }
   2273 op {
   2274   name: "ApplyAdam"
   2275   input_arg {
   2276     name: "var"
   2277     type_attr: "T"
   2278     is_ref: true
   2279   }
   2280   input_arg {
   2281     name: "m"
   2282     type_attr: "T"
   2283     is_ref: true
   2284   }
   2285   input_arg {
   2286     name: "v"
   2287     type_attr: "T"
   2288     is_ref: true
   2289   }
   2290   input_arg {
   2291     name: "beta1_power"
   2292     type_attr: "T"
   2293   }
   2294   input_arg {
   2295     name: "beta2_power"
   2296     type_attr: "T"
   2297   }
   2298   input_arg {
   2299     name: "lr"
   2300     type_attr: "T"
   2301   }
   2302   input_arg {
   2303     name: "beta1"
   2304     type_attr: "T"
   2305   }
   2306   input_arg {
   2307     name: "beta2"
   2308     type_attr: "T"
   2309   }
   2310   input_arg {
   2311     name: "epsilon"
   2312     type_attr: "T"
   2313   }
   2314   input_arg {
   2315     name: "grad"
   2316     type_attr: "T"
   2317   }
   2318   output_arg {
   2319     name: "out"
   2320     type_attr: "T"
   2321     is_ref: true
   2322   }
   2323   attr {
   2324     name: "T"
   2325     type: "type"
   2326     allowed_values {
   2327       list {
   2328         type: DT_FLOAT
   2329         type: DT_DOUBLE
   2330         type: DT_INT64
   2331         type: DT_INT32
   2332         type: DT_UINT8
   2333         type: DT_UINT16
   2334         type: DT_INT16
   2335         type: DT_INT8
   2336         type: DT_COMPLEX64
   2337         type: DT_COMPLEX128
   2338         type: DT_QINT8
   2339         type: DT_QUINT8
   2340         type: DT_QINT32
   2341         type: DT_HALF
   2342       }
   2343     }
   2344   }
   2345   attr {
   2346     name: "use_locking"
   2347     type: "bool"
   2348     default_value {
   2349       b: false
   2350     }
   2351   }
   2352   attr {
   2353     name: "use_nesterov"
   2354     type: "bool"
   2355     default_value {
   2356       b: false
   2357     }
   2358   }
   2359 }
   2360 op {
   2361   name: "ApplyAdam"
   2362   input_arg {
   2363     name: "var"
   2364     type_attr: "T"
   2365     is_ref: true
   2366   }
   2367   input_arg {
   2368     name: "m"
   2369     type_attr: "T"
   2370     is_ref: true
   2371   }
   2372   input_arg {
   2373     name: "v"
   2374     type_attr: "T"
   2375     is_ref: true
   2376   }
   2377   input_arg {
   2378     name: "beta1_power"
   2379     type_attr: "T"
   2380   }
   2381   input_arg {
   2382     name: "beta2_power"
   2383     type_attr: "T"
   2384   }
   2385   input_arg {
   2386     name: "lr"
   2387     type_attr: "T"
   2388   }
   2389   input_arg {
   2390     name: "beta1"
   2391     type_attr: "T"
   2392   }
   2393   input_arg {
   2394     name: "beta2"
   2395     type_attr: "T"
   2396   }
   2397   input_arg {
   2398     name: "epsilon"
   2399     type_attr: "T"
   2400   }
   2401   input_arg {
   2402     name: "grad"
   2403     type_attr: "T"
   2404   }
   2405   output_arg {
   2406     name: "out"
   2407     type_attr: "T"
   2408     is_ref: true
   2409   }
   2410   attr {
   2411     name: "T"
   2412     type: "type"
   2413     allowed_values {
   2414       list {
   2415         type: DT_FLOAT
   2416         type: DT_DOUBLE
   2417         type: DT_INT64
   2418         type: DT_INT32
   2419         type: DT_UINT8
   2420         type: DT_UINT16
   2421         type: DT_INT16
   2422         type: DT_INT8
   2423         type: DT_COMPLEX64
   2424         type: DT_COMPLEX128
   2425         type: DT_QINT8
   2426         type: DT_QUINT8
   2427         type: DT_QINT32
   2428         type: DT_HALF
   2429         type: DT_UINT32
   2430         type: DT_UINT64
   2431       }
   2432     }
   2433   }
   2434   attr {
   2435     name: "use_locking"
   2436     type: "bool"
   2437     default_value {
   2438       b: false
   2439     }
   2440   }
   2441   attr {
   2442     name: "use_nesterov"
   2443     type: "bool"
   2444     default_value {
   2445       b: false
   2446     }
   2447   }
   2448 }
   2449 op {
   2450   name: "ApplyAdam"
   2451   input_arg {
   2452     name: "var"
   2453     type_attr: "T"
   2454     is_ref: true
   2455   }
   2456   input_arg {
   2457     name: "m"
   2458     type_attr: "T"
   2459     is_ref: true
   2460   }
   2461   input_arg {
   2462     name: "v"
   2463     type_attr: "T"
   2464     is_ref: true
   2465   }
   2466   input_arg {
   2467     name: "beta1_power"
   2468     type_attr: "T"
   2469   }
   2470   input_arg {
   2471     name: "beta2_power"
   2472     type_attr: "T"
   2473   }
   2474   input_arg {
   2475     name: "lr"
   2476     type_attr: "T"
   2477   }
   2478   input_arg {
   2479     name: "beta1"
   2480     type_attr: "T"
   2481   }
   2482   input_arg {
   2483     name: "beta2"
   2484     type_attr: "T"
   2485   }
   2486   input_arg {
   2487     name: "epsilon"
   2488     type_attr: "T"
   2489   }
   2490   input_arg {
   2491     name: "grad"
   2492     type_attr: "T"
   2493   }
   2494   output_arg {
   2495     name: "out"
   2496     type_attr: "T"
   2497     is_ref: true
   2498   }
   2499   attr {
   2500     name: "T"
   2501     type: "type"
   2502     allowed_values {
   2503       list {
   2504         type: DT_FLOAT
   2505         type: DT_DOUBLE
   2506         type: DT_INT64
   2507         type: DT_INT32
   2508         type: DT_UINT8
   2509         type: DT_UINT16
   2510         type: DT_INT16
   2511         type: DT_INT8
   2512         type: DT_COMPLEX64
   2513         type: DT_COMPLEX128
   2514         type: DT_QINT8
   2515         type: DT_QUINT8
   2516         type: DT_QINT32
   2517         type: DT_HALF
   2518         type: DT_UINT32
   2519         type: DT_UINT64
   2520         type: DT_BFLOAT16
   2521       }
   2522     }
   2523   }
   2524   attr {
   2525     name: "use_locking"
   2526     type: "bool"
   2527     default_value {
   2528       b: false
   2529     }
   2530   }
   2531   attr {
   2532     name: "use_nesterov"
   2533     type: "bool"
   2534     default_value {
   2535       b: false
   2536     }
   2537   }
   2538 }
   2539 op {
   2540   name: "ApplyAdam"
   2541   input_arg {
   2542     name: "var"
   2543     type_attr: "T"
   2544     is_ref: true
   2545   }
   2546   input_arg {
   2547     name: "m"
   2548     type_attr: "T"
   2549     is_ref: true
   2550   }
   2551   input_arg {
   2552     name: "v"
   2553     type_attr: "T"
   2554     is_ref: true
   2555   }
   2556   input_arg {
   2557     name: "beta1_power"
   2558     type_attr: "T"
   2559   }
   2560   input_arg {
   2561     name: "beta2_power"
   2562     type_attr: "T"
   2563   }
   2564   input_arg {
   2565     name: "lr"
   2566     type_attr: "T"
   2567   }
   2568   input_arg {
   2569     name: "beta1"
   2570     type_attr: "T"
   2571   }
   2572   input_arg {
   2573     name: "beta2"
   2574     type_attr: "T"
   2575   }
   2576   input_arg {
   2577     name: "epsilon"
   2578     type_attr: "T"
   2579   }
   2580   input_arg {
   2581     name: "grad"
   2582     type_attr: "T"
   2583   }
   2584   output_arg {
   2585     name: "out"
   2586     type_attr: "T"
   2587     is_ref: true
   2588   }
   2589   attr {
   2590     name: "T"
   2591     type: "type"
   2592     allowed_values {
   2593       list {
   2594         type: DT_FLOAT
   2595         type: DT_DOUBLE
   2596         type: DT_INT32
   2597         type: DT_UINT8
   2598         type: DT_INT16
   2599         type: DT_INT8
   2600         type: DT_COMPLEX64
   2601         type: DT_INT64
   2602         type: DT_QINT8
   2603         type: DT_QUINT8
   2604         type: DT_QINT32
   2605         type: DT_BFLOAT16
   2606         type: DT_UINT16
   2607         type: DT_COMPLEX128
   2608         type: DT_HALF
   2609         type: DT_UINT32
   2610         type: DT_UINT64
   2611       }
   2612     }
   2613   }
   2614   attr {
   2615     name: "use_locking"
   2616     type: "bool"
   2617     default_value {
   2618       b: false
   2619     }
   2620   }
   2621   attr {
   2622     name: "use_nesterov"
   2623     type: "bool"
   2624     default_value {
   2625       b: false
   2626     }
   2627   }
   2628 }
   2629 op {
   2630   name: "ApplyAddSign"
   2631   input_arg {
   2632     name: "var"
   2633     type_attr: "T"
   2634     is_ref: true
   2635   }
   2636   input_arg {
   2637     name: "m"
   2638     type_attr: "T"
   2639     is_ref: true
   2640   }
   2641   input_arg {
   2642     name: "lr"
   2643     type_attr: "T"
   2644   }
   2645   input_arg {
   2646     name: "alpha"
   2647     type_attr: "T"
   2648   }
   2649   input_arg {
   2650     name: "sign_decay"
   2651     type_attr: "T"
   2652   }
   2653   input_arg {
   2654     name: "beta"
   2655     type_attr: "T"
   2656   }
   2657   input_arg {
   2658     name: "grad"
   2659     type_attr: "T"
   2660   }
   2661   output_arg {
   2662     name: "out"
   2663     type_attr: "T"
   2664     is_ref: true
   2665   }
   2666   attr {
   2667     name: "T"
   2668     type: "type"
   2669     allowed_values {
   2670       list {
   2671         type: DT_FLOAT
   2672         type: DT_DOUBLE
   2673         type: DT_INT64
   2674         type: DT_INT32
   2675         type: DT_UINT8
   2676         type: DT_UINT16
   2677         type: DT_INT16
   2678         type: DT_INT8
   2679         type: DT_COMPLEX64
   2680         type: DT_COMPLEX128
   2681         type: DT_QINT8
   2682         type: DT_QUINT8
   2683         type: DT_QINT32
   2684         type: DT_HALF
   2685         type: DT_UINT32
   2686         type: DT_UINT64
   2687       }
   2688     }
   2689   }
   2690   attr {
   2691     name: "use_locking"
   2692     type: "bool"
   2693     default_value {
   2694       b: false
   2695     }
   2696   }
   2697 }
   2698 op {
   2699   name: "ApplyAddSign"
   2700   input_arg {
   2701     name: "var"
   2702     type_attr: "T"
   2703     is_ref: true
   2704   }
   2705   input_arg {
   2706     name: "m"
   2707     type_attr: "T"
   2708     is_ref: true
   2709   }
   2710   input_arg {
   2711     name: "lr"
   2712     type_attr: "T"
   2713   }
   2714   input_arg {
   2715     name: "alpha"
   2716     type_attr: "T"
   2717   }
   2718   input_arg {
   2719     name: "sign_decay"
   2720     type_attr: "T"
   2721   }
   2722   input_arg {
   2723     name: "beta"
   2724     type_attr: "T"
   2725   }
   2726   input_arg {
   2727     name: "grad"
   2728     type_attr: "T"
   2729   }
   2730   output_arg {
   2731     name: "out"
   2732     type_attr: "T"
   2733     is_ref: true
   2734   }
   2735   attr {
   2736     name: "T"
   2737     type: "type"
   2738     allowed_values {
   2739       list {
   2740         type: DT_FLOAT
   2741         type: DT_DOUBLE
   2742         type: DT_INT64
   2743         type: DT_INT32
   2744         type: DT_UINT8
   2745         type: DT_UINT16
   2746         type: DT_INT16
   2747         type: DT_INT8
   2748         type: DT_COMPLEX64
   2749         type: DT_COMPLEX128
   2750         type: DT_QINT8
   2751         type: DT_QUINT8
   2752         type: DT_QINT32
   2753         type: DT_HALF
   2754         type: DT_UINT32
   2755         type: DT_UINT64
   2756         type: DT_BFLOAT16
   2757       }
   2758     }
   2759   }
   2760   attr {
   2761     name: "use_locking"
   2762     type: "bool"
   2763     default_value {
   2764       b: false
   2765     }
   2766   }
   2767 }
   2768 op {
   2769   name: "ApplyAddSign"
   2770   input_arg {
   2771     name: "var"
   2772     type_attr: "T"
   2773     is_ref: true
   2774   }
   2775   input_arg {
   2776     name: "m"
   2777     type_attr: "T"
   2778     is_ref: true
   2779   }
   2780   input_arg {
   2781     name: "lr"
   2782     type_attr: "T"
   2783   }
   2784   input_arg {
   2785     name: "alpha"
   2786     type_attr: "T"
   2787   }
   2788   input_arg {
   2789     name: "sign_decay"
   2790     type_attr: "T"
   2791   }
   2792   input_arg {
   2793     name: "beta"
   2794     type_attr: "T"
   2795   }
   2796   input_arg {
   2797     name: "grad"
   2798     type_attr: "T"
   2799   }
   2800   output_arg {
   2801     name: "out"
   2802     type_attr: "T"
   2803     is_ref: true
   2804   }
   2805   attr {
   2806     name: "T"
   2807     type: "type"
   2808     allowed_values {
   2809       list {
   2810         type: DT_FLOAT
   2811         type: DT_DOUBLE
   2812         type: DT_INT32
   2813         type: DT_UINT8
   2814         type: DT_INT16
   2815         type: DT_INT8
   2816         type: DT_COMPLEX64
   2817         type: DT_INT64
   2818         type: DT_QINT8
   2819         type: DT_QUINT8
   2820         type: DT_QINT32
   2821         type: DT_BFLOAT16
   2822         type: DT_UINT16
   2823         type: DT_COMPLEX128
   2824         type: DT_HALF
   2825         type: DT_UINT32
   2826         type: DT_UINT64
   2827       }
   2828     }
   2829   }
   2830   attr {
   2831     name: "use_locking"
   2832     type: "bool"
   2833     default_value {
   2834       b: false
   2835     }
   2836   }
   2837 }
   2838 op {
   2839   name: "ApplyCenteredRMSProp"
   2840   input_arg {
   2841     name: "var"
   2842     type_attr: "T"
   2843     is_ref: true
   2844   }
   2845   input_arg {
   2846     name: "mg"
   2847     type_attr: "T"
   2848     is_ref: true
   2849   }
   2850   input_arg {
   2851     name: "ms"
   2852     type_attr: "T"
   2853     is_ref: true
   2854   }
   2855   input_arg {
   2856     name: "mom"
   2857     type_attr: "T"
   2858     is_ref: true
   2859   }
   2860   input_arg {
   2861     name: "lr"
   2862     type_attr: "T"
   2863   }
   2864   input_arg {
   2865     name: "rho"
   2866     type_attr: "T"
   2867   }
   2868   input_arg {
   2869     name: "momentum"
   2870     type_attr: "T"
   2871   }
   2872   input_arg {
   2873     name: "epsilon"
   2874     type_attr: "T"
   2875   }
   2876   input_arg {
   2877     name: "grad"
   2878     type_attr: "T"
   2879   }
   2880   output_arg {
   2881     name: "out"
   2882     type_attr: "T"
   2883     is_ref: true
   2884   }
   2885   attr {
   2886     name: "T"
   2887     type: "type"
   2888     allowed_values {
   2889       list {
   2890         type: DT_FLOAT
   2891         type: DT_DOUBLE
   2892         type: DT_INT64
   2893         type: DT_INT32
   2894         type: DT_UINT8
   2895         type: DT_UINT16
   2896         type: DT_INT16
   2897         type: DT_INT8
   2898         type: DT_COMPLEX64
   2899         type: DT_COMPLEX128
   2900         type: DT_QINT8
   2901         type: DT_QUINT8
   2902         type: DT_QINT32
   2903         type: DT_HALF
   2904       }
   2905     }
   2906   }
   2907   attr {
   2908     name: "use_locking"
   2909     type: "bool"
   2910     default_value {
   2911       b: false
   2912     }
   2913   }
   2914 }
   2915 op {
   2916   name: "ApplyCenteredRMSProp"
   2917   input_arg {
   2918     name: "var"
   2919     type_attr: "T"
   2920     is_ref: true
   2921   }
   2922   input_arg {
   2923     name: "mg"
   2924     type_attr: "T"
   2925     is_ref: true
   2926   }
   2927   input_arg {
   2928     name: "ms"
   2929     type_attr: "T"
   2930     is_ref: true
   2931   }
   2932   input_arg {
   2933     name: "mom"
   2934     type_attr: "T"
   2935     is_ref: true
   2936   }
   2937   input_arg {
   2938     name: "lr"
   2939     type_attr: "T"
   2940   }
   2941   input_arg {
   2942     name: "rho"
   2943     type_attr: "T"
   2944   }
   2945   input_arg {
   2946     name: "momentum"
   2947     type_attr: "T"
   2948   }
   2949   input_arg {
   2950     name: "epsilon"
   2951     type_attr: "T"
   2952   }
   2953   input_arg {
   2954     name: "grad"
   2955     type_attr: "T"
   2956   }
   2957   output_arg {
   2958     name: "out"
   2959     type_attr: "T"
   2960     is_ref: true
   2961   }
   2962   attr {
   2963     name: "T"
   2964     type: "type"
   2965     allowed_values {
   2966       list {
   2967         type: DT_FLOAT
   2968         type: DT_DOUBLE
   2969         type: DT_INT64
   2970         type: DT_INT32
   2971         type: DT_UINT8
   2972         type: DT_UINT16
   2973         type: DT_INT16
   2974         type: DT_INT8
   2975         type: DT_COMPLEX64
   2976         type: DT_COMPLEX128
   2977         type: DT_QINT8
   2978         type: DT_QUINT8
   2979         type: DT_QINT32
   2980         type: DT_HALF
   2981         type: DT_UINT32
   2982         type: DT_UINT64
   2983       }
   2984     }
   2985   }
   2986   attr {
   2987     name: "use_locking"
   2988     type: "bool"
   2989     default_value {
   2990       b: false
   2991     }
   2992   }
   2993 }
   2994 op {
   2995   name: "ApplyCenteredRMSProp"
   2996   input_arg {
   2997     name: "var"
   2998     type_attr: "T"
   2999     is_ref: true
   3000   }
   3001   input_arg {
   3002     name: "mg"
   3003     type_attr: "T"
   3004     is_ref: true
   3005   }
   3006   input_arg {
   3007     name: "ms"
   3008     type_attr: "T"
   3009     is_ref: true
   3010   }
   3011   input_arg {
   3012     name: "mom"
   3013     type_attr: "T"
   3014     is_ref: true
   3015   }
   3016   input_arg {
   3017     name: "lr"
   3018     type_attr: "T"
   3019   }
   3020   input_arg {
   3021     name: "rho"
   3022     type_attr: "T"
   3023   }
   3024   input_arg {
   3025     name: "momentum"
   3026     type_attr: "T"
   3027   }
   3028   input_arg {
   3029     name: "epsilon"
   3030     type_attr: "T"
   3031   }
   3032   input_arg {
   3033     name: "grad"
   3034     type_attr: "T"
   3035   }
   3036   output_arg {
   3037     name: "out"
   3038     type_attr: "T"
   3039     is_ref: true
   3040   }
   3041   attr {
   3042     name: "T"
   3043     type: "type"
   3044     allowed_values {
   3045       list {
   3046         type: DT_FLOAT
   3047         type: DT_DOUBLE
   3048         type: DT_INT64
   3049         type: DT_INT32
   3050         type: DT_UINT8
   3051         type: DT_UINT16
   3052         type: DT_INT16
   3053         type: DT_INT8
   3054         type: DT_COMPLEX64
   3055         type: DT_COMPLEX128
   3056         type: DT_QINT8
   3057         type: DT_QUINT8
   3058         type: DT_QINT32
   3059         type: DT_HALF
   3060         type: DT_UINT32
   3061         type: DT_UINT64
   3062         type: DT_BFLOAT16
   3063       }
   3064     }
   3065   }
   3066   attr {
   3067     name: "use_locking"
   3068     type: "bool"
   3069     default_value {
   3070       b: false
   3071     }
   3072   }
   3073 }
   3074 op {
   3075   name: "ApplyCenteredRMSProp"
   3076   input_arg {
   3077     name: "var"
   3078     type_attr: "T"
   3079     is_ref: true
   3080   }
   3081   input_arg {
   3082     name: "mg"
   3083     type_attr: "T"
   3084     is_ref: true
   3085   }
   3086   input_arg {
   3087     name: "ms"
   3088     type_attr: "T"
   3089     is_ref: true
   3090   }
   3091   input_arg {
   3092     name: "mom"
   3093     type_attr: "T"
   3094     is_ref: true
   3095   }
   3096   input_arg {
   3097     name: "lr"
   3098     type_attr: "T"
   3099   }
   3100   input_arg {
   3101     name: "rho"
   3102     type_attr: "T"
   3103   }
   3104   input_arg {
   3105     name: "momentum"
   3106     type_attr: "T"
   3107   }
   3108   input_arg {
   3109     name: "epsilon"
   3110     type_attr: "T"
   3111   }
   3112   input_arg {
   3113     name: "grad"
   3114     type_attr: "T"
   3115   }
   3116   output_arg {
   3117     name: "out"
   3118     type_attr: "T"
   3119     is_ref: true
   3120   }
   3121   attr {
   3122     name: "T"
   3123     type: "type"
   3124     allowed_values {
   3125       list {
   3126         type: DT_FLOAT
   3127         type: DT_DOUBLE
   3128         type: DT_INT32
   3129         type: DT_UINT8
   3130         type: DT_INT16
   3131         type: DT_INT8
   3132         type: DT_COMPLEX64
   3133         type: DT_INT64
   3134         type: DT_QINT8
   3135         type: DT_QUINT8
   3136         type: DT_QINT32
   3137         type: DT_BFLOAT16
   3138         type: DT_UINT16
   3139         type: DT_COMPLEX128
   3140         type: DT_HALF
   3141         type: DT_UINT32
   3142         type: DT_UINT64
   3143       }
   3144     }
   3145   }
   3146   attr {
   3147     name: "use_locking"
   3148     type: "bool"
   3149     default_value {
   3150       b: false
   3151     }
   3152   }
   3153 }
   3154 op {
   3155   name: "ApplyFtrl"
   3156   input_arg {
   3157     name: "var"
   3158     type_attr: "T"
   3159     is_ref: true
   3160   }
   3161   input_arg {
   3162     name: "accum"
   3163     type_attr: "T"
   3164     is_ref: true
   3165   }
   3166   input_arg {
   3167     name: "linear"
   3168     type_attr: "T"
   3169     is_ref: true
   3170   }
   3171   input_arg {
   3172     name: "grad"
   3173     type_attr: "T"
   3174   }
   3175   input_arg {
   3176     name: "lr"
   3177     type_attr: "T"
   3178   }
   3179   input_arg {
   3180     name: "l1"
   3181     type_attr: "T"
   3182   }
   3183   input_arg {
   3184     name: "l2"
   3185     type_attr: "T"
   3186   }
   3187   input_arg {
   3188     name: "lr_power"
   3189     type_attr: "T"
   3190   }
   3191   output_arg {
   3192     name: "out"
   3193     type_attr: "T"
   3194     is_ref: true
   3195   }
   3196   attr {
   3197     name: "T"
   3198     type: "type"
   3199     allowed_values {
   3200       list {
   3201         type: DT_FLOAT
   3202         type: DT_DOUBLE
   3203         type: DT_INT64
   3204         type: DT_INT32
   3205         type: DT_UINT8
   3206         type: DT_UINT16
   3207         type: DT_INT16
   3208         type: DT_INT8
   3209         type: DT_COMPLEX64
   3210         type: DT_COMPLEX128
   3211         type: DT_QINT8
   3212         type: DT_QUINT8
   3213         type: DT_QINT32
   3214         type: DT_HALF
   3215       }
   3216     }
   3217   }
   3218   attr {
   3219     name: "use_locking"
   3220     type: "bool"
   3221     default_value {
   3222       b: false
   3223     }
   3224   }
   3225 }
   3226 op {
   3227   name: "ApplyFtrl"
   3228   input_arg {
   3229     name: "var"
   3230     type_attr: "T"
   3231     is_ref: true
   3232   }
   3233   input_arg {
   3234     name: "accum"
   3235     type_attr: "T"
   3236     is_ref: true
   3237   }
   3238   input_arg {
   3239     name: "linear"
   3240     type_attr: "T"
   3241     is_ref: true
   3242   }
   3243   input_arg {
   3244     name: "grad"
   3245     type_attr: "T"
   3246   }
   3247   input_arg {
   3248     name: "lr"
   3249     type_attr: "T"
   3250   }
   3251   input_arg {
   3252     name: "l1"
   3253     type_attr: "T"
   3254   }
   3255   input_arg {
   3256     name: "l2"
   3257     type_attr: "T"
   3258   }
   3259   input_arg {
   3260     name: "lr_power"
   3261     type_attr: "T"
   3262   }
   3263   output_arg {
   3264     name: "out"
   3265     type_attr: "T"
   3266     is_ref: true
   3267   }
   3268   attr {
   3269     name: "T"
   3270     type: "type"
   3271     allowed_values {
   3272       list {
   3273         type: DT_FLOAT
   3274         type: DT_DOUBLE
   3275         type: DT_INT64
   3276         type: DT_INT32
   3277         type: DT_UINT8
   3278         type: DT_UINT16
   3279         type: DT_INT16
   3280         type: DT_INT8
   3281         type: DT_COMPLEX64
   3282         type: DT_COMPLEX128
   3283         type: DT_QINT8
   3284         type: DT_QUINT8
   3285         type: DT_QINT32
   3286         type: DT_HALF
   3287         type: DT_UINT32
   3288         type: DT_UINT64
   3289       }
   3290     }
   3291   }
   3292   attr {
   3293     name: "use_locking"
   3294     type: "bool"
   3295     default_value {
   3296       b: false
   3297     }
   3298   }
   3299 }
   3300 op {
   3301   name: "ApplyFtrl"
   3302   input_arg {
   3303     name: "var"
   3304     type_attr: "T"
   3305     is_ref: true
   3306   }
   3307   input_arg {
   3308     name: "accum"
   3309     type_attr: "T"
   3310     is_ref: true
   3311   }
   3312   input_arg {
   3313     name: "linear"
   3314     type_attr: "T"
   3315     is_ref: true
   3316   }
   3317   input_arg {
   3318     name: "grad"
   3319     type_attr: "T"
   3320   }
   3321   input_arg {
   3322     name: "lr"
   3323     type_attr: "T"
   3324   }
   3325   input_arg {
   3326     name: "l1"
   3327     type_attr: "T"
   3328   }
   3329   input_arg {
   3330     name: "l2"
   3331     type_attr: "T"
   3332   }
   3333   input_arg {
   3334     name: "lr_power"
   3335     type_attr: "T"
   3336   }
   3337   output_arg {
   3338     name: "out"
   3339     type_attr: "T"
   3340     is_ref: true
   3341   }
   3342   attr {
   3343     name: "T"
   3344     type: "type"
   3345     allowed_values {
   3346       list {
   3347         type: DT_FLOAT
   3348         type: DT_DOUBLE
   3349         type: DT_INT64
   3350         type: DT_INT32
   3351         type: DT_UINT8
   3352         type: DT_UINT16
   3353         type: DT_INT16
   3354         type: DT_INT8
   3355         type: DT_COMPLEX64
   3356         type: DT_COMPLEX128
   3357         type: DT_QINT8
   3358         type: DT_QUINT8
   3359         type: DT_QINT32
   3360         type: DT_HALF
   3361         type: DT_UINT32
   3362         type: DT_UINT64
   3363         type: DT_BFLOAT16
   3364       }
   3365     }
   3366   }
   3367   attr {
   3368     name: "use_locking"
   3369     type: "bool"
   3370     default_value {
   3371       b: false
   3372     }
   3373   }
   3374 }
   3375 op {
   3376   name: "ApplyFtrl"
   3377   input_arg {
   3378     name: "var"
   3379     type_attr: "T"
   3380     is_ref: true
   3381   }
   3382   input_arg {
   3383     name: "accum"
   3384     type_attr: "T"
   3385     is_ref: true
   3386   }
   3387   input_arg {
   3388     name: "linear"
   3389     type_attr: "T"
   3390     is_ref: true
   3391   }
   3392   input_arg {
   3393     name: "grad"
   3394     type_attr: "T"
   3395   }
   3396   input_arg {
   3397     name: "lr"
   3398     type_attr: "T"
   3399   }
   3400   input_arg {
   3401     name: "l1"
   3402     type_attr: "T"
   3403   }
   3404   input_arg {
   3405     name: "l2"
   3406     type_attr: "T"
   3407   }
   3408   input_arg {
   3409     name: "lr_power"
   3410     type_attr: "T"
   3411   }
   3412   output_arg {
   3413     name: "out"
   3414     type_attr: "T"
   3415     is_ref: true
   3416   }
   3417   attr {
   3418     name: "T"
   3419     type: "type"
   3420     allowed_values {
   3421       list {
   3422         type: DT_FLOAT
   3423         type: DT_DOUBLE
   3424         type: DT_INT32
   3425         type: DT_UINT8
   3426         type: DT_INT16
   3427         type: DT_INT8
   3428         type: DT_COMPLEX64
   3429         type: DT_INT64
   3430         type: DT_QINT8
   3431         type: DT_QUINT8
   3432         type: DT_QINT32
   3433         type: DT_BFLOAT16
   3434         type: DT_UINT16
   3435         type: DT_COMPLEX128
   3436         type: DT_HALF
   3437         type: DT_UINT32
   3438         type: DT_UINT64
   3439       }
   3440     }
   3441   }
   3442   attr {
   3443     name: "use_locking"
   3444     type: "bool"
   3445     default_value {
   3446       b: false
   3447     }
   3448   }
   3449 }
   3450 op {
   3451   name: "ApplyFtrlV2"
   3452   input_arg {
   3453     name: "var"
   3454     type_attr: "T"
   3455     is_ref: true
   3456   }
   3457   input_arg {
   3458     name: "accum"
   3459     type_attr: "T"
   3460     is_ref: true
   3461   }
   3462   input_arg {
   3463     name: "linear"
   3464     type_attr: "T"
   3465     is_ref: true
   3466   }
   3467   input_arg {
   3468     name: "grad"
   3469     type_attr: "T"
   3470   }
   3471   input_arg {
   3472     name: "lr"
   3473     type_attr: "T"
   3474   }
   3475   input_arg {
   3476     name: "l1"
   3477     type_attr: "T"
   3478   }
   3479   input_arg {
   3480     name: "l2"
   3481     type_attr: "T"
   3482   }
   3483   input_arg {
   3484     name: "l2_shrinkage"
   3485     type_attr: "T"
   3486   }
   3487   input_arg {
   3488     name: "lr_power"
   3489     type_attr: "T"
   3490   }
   3491   output_arg {
   3492     name: "out"
   3493     type_attr: "T"
   3494     is_ref: true
   3495   }
   3496   attr {
   3497     name: "T"
   3498     type: "type"
   3499     allowed_values {
   3500       list {
   3501         type: DT_FLOAT
   3502         type: DT_DOUBLE
   3503         type: DT_INT64
   3504         type: DT_INT32
   3505         type: DT_UINT8
   3506         type: DT_UINT16
   3507         type: DT_INT16
   3508         type: DT_INT8
   3509         type: DT_COMPLEX64
   3510         type: DT_COMPLEX128
   3511         type: DT_QINT8
   3512         type: DT_QUINT8
   3513         type: DT_QINT32
   3514         type: DT_HALF
   3515       }
   3516     }
   3517   }
   3518   attr {
   3519     name: "use_locking"
   3520     type: "bool"
   3521     default_value {
   3522       b: false
   3523     }
   3524   }
   3525 }
   3526 op {
   3527   name: "ApplyFtrlV2"
   3528   input_arg {
   3529     name: "var"
   3530     type_attr: "T"
   3531     is_ref: true
   3532   }
   3533   input_arg {
   3534     name: "accum"
   3535     type_attr: "T"
   3536     is_ref: true
   3537   }
   3538   input_arg {
   3539     name: "linear"
   3540     type_attr: "T"
   3541     is_ref: true
   3542   }
   3543   input_arg {
   3544     name: "grad"
   3545     type_attr: "T"
   3546   }
   3547   input_arg {
   3548     name: "lr"
   3549     type_attr: "T"
   3550   }
   3551   input_arg {
   3552     name: "l1"
   3553     type_attr: "T"
   3554   }
   3555   input_arg {
   3556     name: "l2"
   3557     type_attr: "T"
   3558   }
   3559   input_arg {
   3560     name: "l2_shrinkage"
   3561     type_attr: "T"
   3562   }
   3563   input_arg {
   3564     name: "lr_power"
   3565     type_attr: "T"
   3566   }
   3567   output_arg {
   3568     name: "out"
   3569     type_attr: "T"
   3570     is_ref: true
   3571   }
   3572   attr {
   3573     name: "T"
   3574     type: "type"
   3575     allowed_values {
   3576       list {
   3577         type: DT_FLOAT
   3578         type: DT_DOUBLE
   3579         type: DT_INT64
   3580         type: DT_INT32
   3581         type: DT_UINT8
   3582         type: DT_UINT16
   3583         type: DT_INT16
   3584         type: DT_INT8
   3585         type: DT_COMPLEX64
   3586         type: DT_COMPLEX128
   3587         type: DT_QINT8
   3588         type: DT_QUINT8
   3589         type: DT_QINT32
   3590         type: DT_HALF
   3591         type: DT_UINT32
   3592         type: DT_UINT64
   3593       }
   3594     }
   3595   }
   3596   attr {
   3597     name: "use_locking"
   3598     type: "bool"
   3599     default_value {
   3600       b: false
   3601     }
   3602   }
   3603 }
   3604 op {
   3605   name: "ApplyFtrlV2"
   3606   input_arg {
   3607     name: "var"
   3608     type_attr: "T"
   3609     is_ref: true
   3610   }
   3611   input_arg {
   3612     name: "accum"
   3613     type_attr: "T"
   3614     is_ref: true
   3615   }
   3616   input_arg {
   3617     name: "linear"
   3618     type_attr: "T"
   3619     is_ref: true
   3620   }
   3621   input_arg {
   3622     name: "grad"
   3623     type_attr: "T"
   3624   }
   3625   input_arg {
   3626     name: "lr"
   3627     type_attr: "T"
   3628   }
   3629   input_arg {
   3630     name: "l1"
   3631     type_attr: "T"
   3632   }
   3633   input_arg {
   3634     name: "l2"
   3635     type_attr: "T"
   3636   }
   3637   input_arg {
   3638     name: "l2_shrinkage"
   3639     type_attr: "T"
   3640   }
   3641   input_arg {
   3642     name: "lr_power"
   3643     type_attr: "T"
   3644   }
   3645   output_arg {
   3646     name: "out"
   3647     type_attr: "T"
   3648     is_ref: true
   3649   }
   3650   attr {
   3651     name: "T"
   3652     type: "type"
   3653     allowed_values {
   3654       list {
   3655         type: DT_FLOAT
   3656         type: DT_DOUBLE
   3657         type: DT_INT64
   3658         type: DT_INT32
   3659         type: DT_UINT8
   3660         type: DT_UINT16
   3661         type: DT_INT16
   3662         type: DT_INT8
   3663         type: DT_COMPLEX64
   3664         type: DT_COMPLEX128
   3665         type: DT_QINT8
   3666         type: DT_QUINT8
   3667         type: DT_QINT32
   3668         type: DT_HALF
   3669         type: DT_UINT32
   3670         type: DT_UINT64
   3671         type: DT_BFLOAT16
   3672       }
   3673     }
   3674   }
   3675   attr {
   3676     name: "use_locking"
   3677     type: "bool"
   3678     default_value {
   3679       b: false
   3680     }
   3681   }
   3682 }
   3683 op {
   3684   name: "ApplyFtrlV2"
   3685   input_arg {
   3686     name: "var"
   3687     type_attr: "T"
   3688     is_ref: true
   3689   }
   3690   input_arg {
   3691     name: "accum"
   3692     type_attr: "T"
   3693     is_ref: true
   3694   }
   3695   input_arg {
   3696     name: "linear"
   3697     type_attr: "T"
   3698     is_ref: true
   3699   }
   3700   input_arg {
   3701     name: "grad"
   3702     type_attr: "T"
   3703   }
   3704   input_arg {
   3705     name: "lr"
   3706     type_attr: "T"
   3707   }
   3708   input_arg {
   3709     name: "l1"
   3710     type_attr: "T"
   3711   }
   3712   input_arg {
   3713     name: "l2"
   3714     type_attr: "T"
   3715   }
   3716   input_arg {
   3717     name: "l2_shrinkage"
   3718     type_attr: "T"
   3719   }
   3720   input_arg {
   3721     name: "lr_power"
   3722     type_attr: "T"
   3723   }
   3724   output_arg {
   3725     name: "out"
   3726     type_attr: "T"
   3727     is_ref: true
   3728   }
   3729   attr {
   3730     name: "T"
   3731     type: "type"
   3732     allowed_values {
   3733       list {
   3734         type: DT_FLOAT
   3735         type: DT_DOUBLE
   3736         type: DT_INT32
   3737         type: DT_UINT8
   3738         type: DT_INT16
   3739         type: DT_INT8
   3740         type: DT_COMPLEX64
   3741         type: DT_INT64
   3742         type: DT_QINT8
   3743         type: DT_QUINT8
   3744         type: DT_QINT32
   3745         type: DT_BFLOAT16
   3746         type: DT_UINT16
   3747         type: DT_COMPLEX128
   3748         type: DT_HALF
   3749         type: DT_UINT32
   3750         type: DT_UINT64
   3751       }
   3752     }
   3753   }
   3754   attr {
   3755     name: "use_locking"
   3756     type: "bool"
   3757     default_value {
   3758       b: false
   3759     }
   3760   }
   3761 }
   3762 op {
   3763   name: "ApplyGradientDescent"
   3764   input_arg {
   3765     name: "var"
   3766     type_attr: "T"
   3767     is_ref: true
   3768   }
   3769   input_arg {
   3770     name: "alpha"
   3771     type_attr: "T"
   3772   }
   3773   input_arg {
   3774     name: "delta"
   3775     type_attr: "T"
   3776   }
   3777   output_arg {
   3778     name: "out"
   3779     type_attr: "T"
   3780     is_ref: true
   3781   }
   3782   attr {
   3783     name: "T"
   3784     type: "type"
   3785     allowed_values {
   3786       list {
   3787         type: DT_FLOAT
   3788         type: DT_DOUBLE
   3789         type: DT_INT64
   3790         type: DT_INT32
   3791         type: DT_UINT8
   3792         type: DT_UINT16
   3793         type: DT_INT16
   3794         type: DT_INT8
   3795         type: DT_COMPLEX64
   3796         type: DT_COMPLEX128
   3797         type: DT_QINT8
   3798         type: DT_QUINT8
   3799         type: DT_QINT32
   3800         type: DT_HALF
   3801       }
   3802     }
   3803   }
   3804   attr {
   3805     name: "use_locking"
   3806     type: "bool"
   3807     default_value {
   3808       b: false
   3809     }
   3810   }
   3811 }
   3812 op {
   3813   name: "ApplyGradientDescent"
   3814   input_arg {
   3815     name: "var"
   3816     type_attr: "T"
   3817     is_ref: true
   3818   }
   3819   input_arg {
   3820     name: "alpha"
   3821     type_attr: "T"
   3822   }
   3823   input_arg {
   3824     name: "delta"
   3825     type_attr: "T"
   3826   }
   3827   output_arg {
   3828     name: "out"
   3829     type_attr: "T"
   3830     is_ref: true
   3831   }
   3832   attr {
   3833     name: "T"
   3834     type: "type"
   3835     allowed_values {
   3836       list {
   3837         type: DT_FLOAT
   3838         type: DT_DOUBLE
   3839         type: DT_INT64
   3840         type: DT_INT32
   3841         type: DT_UINT8
   3842         type: DT_UINT16
   3843         type: DT_INT16
   3844         type: DT_INT8
   3845         type: DT_COMPLEX64
   3846         type: DT_COMPLEX128
   3847         type: DT_QINT8
   3848         type: DT_QUINT8
   3849         type: DT_QINT32
   3850         type: DT_HALF
   3851         type: DT_UINT32
   3852         type: DT_UINT64
   3853       }
   3854     }
   3855   }
   3856   attr {
   3857     name: "use_locking"
   3858     type: "bool"
   3859     default_value {
   3860       b: false
   3861     }
   3862   }
   3863 }
   3864 op {
   3865   name: "ApplyGradientDescent"
   3866   input_arg {
   3867     name: "var"
   3868     type_attr: "T"
   3869     is_ref: true
   3870   }
   3871   input_arg {
   3872     name: "alpha"
   3873     type_attr: "T"
   3874   }
   3875   input_arg {
   3876     name: "delta"
   3877     type_attr: "T"
   3878   }
   3879   output_arg {
   3880     name: "out"
   3881     type_attr: "T"
   3882     is_ref: true
   3883   }
   3884   attr {
   3885     name: "T"
   3886     type: "type"
   3887     allowed_values {
   3888       list {
   3889         type: DT_FLOAT
   3890         type: DT_DOUBLE
   3891         type: DT_INT64
   3892         type: DT_INT32
   3893         type: DT_UINT8
   3894         type: DT_UINT16
   3895         type: DT_INT16
   3896         type: DT_INT8
   3897         type: DT_COMPLEX64
   3898         type: DT_COMPLEX128
   3899         type: DT_QINT8
   3900         type: DT_QUINT8
   3901         type: DT_QINT32
   3902         type: DT_HALF
   3903         type: DT_UINT32
   3904         type: DT_UINT64
   3905         type: DT_BFLOAT16
   3906       }
   3907     }
   3908   }
   3909   attr {
   3910     name: "use_locking"
   3911     type: "bool"
   3912     default_value {
   3913       b: false
   3914     }
   3915   }
   3916 }
   3917 op {
   3918   name: "ApplyGradientDescent"
   3919   input_arg {
   3920     name: "var"
   3921     type_attr: "T"
   3922     is_ref: true
   3923   }
   3924   input_arg {
   3925     name: "alpha"
   3926     type_attr: "T"
   3927   }
   3928   input_arg {
   3929     name: "delta"
   3930     type_attr: "T"
   3931   }
   3932   output_arg {
   3933     name: "out"
   3934     type_attr: "T"
   3935     is_ref: true
   3936   }
   3937   attr {
   3938     name: "T"
   3939     type: "type"
   3940     allowed_values {
   3941       list {
   3942         type: DT_FLOAT
   3943         type: DT_DOUBLE
   3944         type: DT_INT32
   3945         type: DT_UINT8
   3946         type: DT_INT16
   3947         type: DT_INT8
   3948         type: DT_COMPLEX64
   3949         type: DT_INT64
   3950         type: DT_QINT8
   3951         type: DT_QUINT8
   3952         type: DT_QINT32
   3953         type: DT_BFLOAT16
   3954         type: DT_UINT16
   3955         type: DT_COMPLEX128
   3956         type: DT_HALF
   3957         type: DT_UINT32
   3958         type: DT_UINT64
   3959       }
   3960     }
   3961   }
   3962   attr {
   3963     name: "use_locking"
   3964     type: "bool"
   3965     default_value {
   3966       b: false
   3967     }
   3968   }
   3969 }
   3970 op {
   3971   name: "ApplyMomentum"
   3972   input_arg {
   3973     name: "var"
   3974     type_attr: "T"
   3975     is_ref: true
   3976   }
   3977   input_arg {
   3978     name: "accum"
   3979     type_attr: "T"
   3980     is_ref: true
   3981   }
   3982   input_arg {
   3983     name: "lr"
   3984     type_attr: "T"
   3985   }
   3986   input_arg {
   3987     name: "grad"
   3988     type_attr: "T"
   3989   }
   3990   input_arg {
   3991     name: "momentum"
   3992     type_attr: "T"
   3993   }
   3994   output_arg {
   3995     name: "out"
   3996     type_attr: "T"
   3997     is_ref: true
   3998   }
   3999   attr {
   4000     name: "T"
   4001     type: "type"
   4002     allowed_values {
   4003       list {
   4004         type: DT_FLOAT
   4005         type: DT_DOUBLE
   4006         type: DT_INT64
   4007         type: DT_INT32
   4008         type: DT_UINT8
   4009         type: DT_UINT16
   4010         type: DT_INT16
   4011         type: DT_INT8
   4012         type: DT_COMPLEX64
   4013         type: DT_COMPLEX128
   4014         type: DT_QINT8
   4015         type: DT_QUINT8
   4016         type: DT_QINT32
   4017         type: DT_HALF
   4018       }
   4019     }
   4020   }
   4021   attr {
   4022     name: "use_locking"
   4023     type: "bool"
   4024     default_value {
   4025       b: false
   4026     }
   4027   }
   4028   attr {
   4029     name: "use_nesterov"
   4030     type: "bool"
   4031     default_value {
   4032       b: false
   4033     }
   4034   }
   4035 }
   4036 op {
   4037   name: "ApplyMomentum"
   4038   input_arg {
   4039     name: "var"
   4040     type_attr: "T"
   4041     is_ref: true
   4042   }
   4043   input_arg {
   4044     name: "accum"
   4045     type_attr: "T"
   4046     is_ref: true
   4047   }
   4048   input_arg {
   4049     name: "lr"
   4050     type_attr: "T"
   4051   }
   4052   input_arg {
   4053     name: "grad"
   4054     type_attr: "T"
   4055   }
   4056   input_arg {
   4057     name: "momentum"
   4058     type_attr: "T"
   4059   }
   4060   output_arg {
   4061     name: "out"
   4062     type_attr: "T"
   4063     is_ref: true
   4064   }
   4065   attr {
   4066     name: "T"
   4067     type: "type"
   4068     allowed_values {
   4069       list {
   4070         type: DT_FLOAT
   4071         type: DT_DOUBLE
   4072         type: DT_INT64
   4073         type: DT_INT32
   4074         type: DT_UINT8
   4075         type: DT_UINT16
   4076         type: DT_INT16
   4077         type: DT_INT8
   4078         type: DT_COMPLEX64
   4079         type: DT_COMPLEX128
   4080         type: DT_QINT8
   4081         type: DT_QUINT8
   4082         type: DT_QINT32
   4083         type: DT_HALF
   4084         type: DT_UINT32
   4085         type: DT_UINT64
   4086       }
   4087     }
   4088   }
   4089   attr {
   4090     name: "use_locking"
   4091     type: "bool"
   4092     default_value {
   4093       b: false
   4094     }
   4095   }
   4096   attr {
   4097     name: "use_nesterov"
   4098     type: "bool"
   4099     default_value {
   4100       b: false
   4101     }
   4102   }
   4103 }
   4104 op {
   4105   name: "ApplyMomentum"
   4106   input_arg {
   4107     name: "var"
   4108     type_attr: "T"
   4109     is_ref: true
   4110   }
   4111   input_arg {
   4112     name: "accum"
   4113     type_attr: "T"
   4114     is_ref: true
   4115   }
   4116   input_arg {
   4117     name: "lr"
   4118     type_attr: "T"
   4119   }
   4120   input_arg {
   4121     name: "grad"
   4122     type_attr: "T"
   4123   }
   4124   input_arg {
   4125     name: "momentum"
   4126     type_attr: "T"
   4127   }
   4128   output_arg {
   4129     name: "out"
   4130     type_attr: "T"
   4131     is_ref: true
   4132   }
   4133   attr {
   4134     name: "T"
   4135     type: "type"
   4136     allowed_values {
   4137       list {
   4138         type: DT_FLOAT
   4139         type: DT_DOUBLE
   4140         type: DT_INT64
   4141         type: DT_INT32
   4142         type: DT_UINT8
   4143         type: DT_UINT16
   4144         type: DT_INT16
   4145         type: DT_INT8
   4146         type: DT_COMPLEX64
   4147         type: DT_COMPLEX128
   4148         type: DT_QINT8
   4149         type: DT_QUINT8
   4150         type: DT_QINT32
   4151         type: DT_HALF
   4152         type: DT_UINT32
   4153         type: DT_UINT64
   4154         type: DT_BFLOAT16
   4155       }
   4156     }
   4157   }
   4158   attr {
   4159     name: "use_locking"
   4160     type: "bool"
   4161     default_value {
   4162       b: false
   4163     }
   4164   }
   4165   attr {
   4166     name: "use_nesterov"
   4167     type: "bool"
   4168     default_value {
   4169       b: false
   4170     }
   4171   }
   4172 }
   4173 op {
   4174   name: "ApplyMomentum"
   4175   input_arg {
   4176     name: "var"
   4177     type_attr: "T"
   4178     is_ref: true
   4179   }
   4180   input_arg {
   4181     name: "accum"
   4182     type_attr: "T"
   4183     is_ref: true
   4184   }
   4185   input_arg {
   4186     name: "lr"
   4187     type_attr: "T"
   4188   }
   4189   input_arg {
   4190     name: "grad"
   4191     type_attr: "T"
   4192   }
   4193   input_arg {
   4194     name: "momentum"
   4195     type_attr: "T"
   4196   }
   4197   output_arg {
   4198     name: "out"
   4199     type_attr: "T"
   4200     is_ref: true
   4201   }
   4202   attr {
   4203     name: "T"
   4204     type: "type"
   4205     allowed_values {
   4206       list {
   4207         type: DT_FLOAT
   4208         type: DT_DOUBLE
   4209         type: DT_INT32
   4210         type: DT_UINT8
   4211         type: DT_INT16
   4212         type: DT_INT8
   4213         type: DT_COMPLEX64
   4214         type: DT_INT64
   4215         type: DT_QINT8
   4216         type: DT_QUINT8
   4217         type: DT_QINT32
   4218         type: DT_BFLOAT16
   4219         type: DT_UINT16
   4220         type: DT_COMPLEX128
   4221         type: DT_HALF
   4222         type: DT_UINT32
   4223         type: DT_UINT64
   4224       }
   4225     }
   4226   }
   4227   attr {
   4228     name: "use_locking"
   4229     type: "bool"
   4230     default_value {
   4231       b: false
   4232     }
   4233   }
   4234   attr {
   4235     name: "use_nesterov"
   4236     type: "bool"
   4237     default_value {
   4238       b: false
   4239     }
   4240   }
   4241 }
   4242 op {
   4243   name: "ApplyPowerSign"
   4244   input_arg {
   4245     name: "var"
   4246     type_attr: "T"
   4247     is_ref: true
   4248   }
   4249   input_arg {
   4250     name: "m"
   4251     type_attr: "T"
   4252     is_ref: true
   4253   }
   4254   input_arg {
   4255     name: "lr"
   4256     type_attr: "T"
   4257   }
   4258   input_arg {
   4259     name: "logbase"
   4260     type_attr: "T"
   4261   }
   4262   input_arg {
   4263     name: "sign_decay"
   4264     type_attr: "T"
   4265   }
   4266   input_arg {
   4267     name: "beta"
   4268     type_attr: "T"
   4269   }
   4270   input_arg {
   4271     name: "grad"
   4272     type_attr: "T"
   4273   }
   4274   output_arg {
   4275     name: "out"
   4276     type_attr: "T"
   4277     is_ref: true
   4278   }
   4279   attr {
   4280     name: "T"
   4281     type: "type"
   4282     allowed_values {
   4283       list {
   4284         type: DT_FLOAT
   4285         type: DT_DOUBLE
   4286         type: DT_INT64
   4287         type: DT_INT32
   4288         type: DT_UINT8
   4289         type: DT_UINT16
   4290         type: DT_INT16
   4291         type: DT_INT8
   4292         type: DT_COMPLEX64
   4293         type: DT_COMPLEX128
   4294         type: DT_QINT8
   4295         type: DT_QUINT8
   4296         type: DT_QINT32
   4297         type: DT_HALF
   4298         type: DT_UINT32
   4299         type: DT_UINT64
   4300       }
   4301     }
   4302   }
   4303   attr {
   4304     name: "use_locking"
   4305     type: "bool"
   4306     default_value {
   4307       b: false
   4308     }
   4309   }
   4310 }
   4311 op {
   4312   name: "ApplyPowerSign"
   4313   input_arg {
   4314     name: "var"
   4315     type_attr: "T"
   4316     is_ref: true
   4317   }
   4318   input_arg {
   4319     name: "m"
   4320     type_attr: "T"
   4321     is_ref: true
   4322   }
   4323   input_arg {
   4324     name: "lr"
   4325     type_attr: "T"
   4326   }
   4327   input_arg {
   4328     name: "logbase"
   4329     type_attr: "T"
   4330   }
   4331   input_arg {
   4332     name: "sign_decay"
   4333     type_attr: "T"
   4334   }
   4335   input_arg {
   4336     name: "beta"
   4337     type_attr: "T"
   4338   }
   4339   input_arg {
   4340     name: "grad"
   4341     type_attr: "T"
   4342   }
   4343   output_arg {
   4344     name: "out"
   4345     type_attr: "T"
   4346     is_ref: true
   4347   }
   4348   attr {
   4349     name: "T"
   4350     type: "type"
   4351     allowed_values {
   4352       list {
   4353         type: DT_FLOAT
   4354         type: DT_DOUBLE
   4355         type: DT_INT64
   4356         type: DT_INT32
   4357         type: DT_UINT8
   4358         type: DT_UINT16
   4359         type: DT_INT16
   4360         type: DT_INT8
   4361         type: DT_COMPLEX64
   4362         type: DT_COMPLEX128
   4363         type: DT_QINT8
   4364         type: DT_QUINT8
   4365         type: DT_QINT32
   4366         type: DT_HALF
   4367         type: DT_UINT32
   4368         type: DT_UINT64
   4369         type: DT_BFLOAT16
   4370       }
   4371     }
   4372   }
   4373   attr {
   4374     name: "use_locking"
   4375     type: "bool"
   4376     default_value {
   4377       b: false
   4378     }
   4379   }
   4380 }
   4381 op {
   4382   name: "ApplyPowerSign"
   4383   input_arg {
   4384     name: "var"
   4385     type_attr: "T"
   4386     is_ref: true
   4387   }
   4388   input_arg {
   4389     name: "m"
   4390     type_attr: "T"
   4391     is_ref: true
   4392   }
   4393   input_arg {
   4394     name: "lr"
   4395     type_attr: "T"
   4396   }
   4397   input_arg {
   4398     name: "logbase"
   4399     type_attr: "T"
   4400   }
   4401   input_arg {
   4402     name: "sign_decay"
   4403     type_attr: "T"
   4404   }
   4405   input_arg {
   4406     name: "beta"
   4407     type_attr: "T"
   4408   }
   4409   input_arg {
   4410     name: "grad"
   4411     type_attr: "T"
   4412   }
   4413   output_arg {
   4414     name: "out"
   4415     type_attr: "T"
   4416     is_ref: true
   4417   }
   4418   attr {
   4419     name: "T"
   4420     type: "type"
   4421     allowed_values {
   4422       list {
   4423         type: DT_FLOAT
   4424         type: DT_DOUBLE
   4425         type: DT_INT32
   4426         type: DT_UINT8
   4427         type: DT_INT16
   4428         type: DT_INT8
   4429         type: DT_COMPLEX64
   4430         type: DT_INT64
   4431         type: DT_QINT8
   4432         type: DT_QUINT8
   4433         type: DT_QINT32
   4434         type: DT_BFLOAT16
   4435         type: DT_UINT16
   4436         type: DT_COMPLEX128
   4437         type: DT_HALF
   4438         type: DT_UINT32
   4439         type: DT_UINT64
   4440       }
   4441     }
   4442   }
   4443   attr {
   4444     name: "use_locking"
   4445     type: "bool"
   4446     default_value {
   4447       b: false
   4448     }
   4449   }
   4450 }
   4451 op {
   4452   name: "ApplyProximalAdagrad"
   4453   input_arg {
   4454     name: "var"
   4455     type_attr: "T"
   4456     is_ref: true
   4457   }
   4458   input_arg {
   4459     name: "accum"
   4460     type_attr: "T"
   4461     is_ref: true
   4462   }
   4463   input_arg {
   4464     name: "lr"
   4465     type_attr: "T"
   4466   }
   4467   input_arg {
   4468     name: "l1"
   4469     type_attr: "T"
   4470   }
   4471   input_arg {
   4472     name: "l2"
   4473     type_attr: "T"
   4474   }
   4475   input_arg {
   4476     name: "grad"
   4477     type_attr: "T"
   4478   }
   4479   output_arg {
   4480     name: "out"
   4481     type_attr: "T"
   4482     is_ref: true
   4483   }
   4484   attr {
   4485     name: "T"
   4486     type: "type"
   4487     allowed_values {
   4488       list {
   4489         type: DT_FLOAT
   4490         type: DT_DOUBLE
   4491         type: DT_INT64
   4492         type: DT_INT32
   4493         type: DT_UINT8
   4494         type: DT_UINT16
   4495         type: DT_INT16
   4496         type: DT_INT8
   4497         type: DT_COMPLEX64
   4498         type: DT_COMPLEX128
   4499         type: DT_QINT8
   4500         type: DT_QUINT8
   4501         type: DT_QINT32
   4502         type: DT_HALF
   4503       }
   4504     }
   4505   }
   4506   attr {
   4507     name: "use_locking"
   4508     type: "bool"
   4509     default_value {
   4510       b: false
   4511     }
   4512   }
   4513 }
   4514 op {
   4515   name: "ApplyProximalAdagrad"
   4516   input_arg {
   4517     name: "var"
   4518     type_attr: "T"
   4519     is_ref: true
   4520   }
   4521   input_arg {
   4522     name: "accum"
   4523     type_attr: "T"
   4524     is_ref: true
   4525   }
   4526   input_arg {
   4527     name: "lr"
   4528     type_attr: "T"
   4529   }
   4530   input_arg {
   4531     name: "l1"
   4532     type_attr: "T"
   4533   }
   4534   input_arg {
   4535     name: "l2"
   4536     type_attr: "T"
   4537   }
   4538   input_arg {
   4539     name: "grad"
   4540     type_attr: "T"
   4541   }
   4542   output_arg {
   4543     name: "out"
   4544     type_attr: "T"
   4545     is_ref: true
   4546   }
   4547   attr {
   4548     name: "T"
   4549     type: "type"
   4550     allowed_values {
   4551       list {
   4552         type: DT_FLOAT
   4553         type: DT_DOUBLE
   4554         type: DT_INT64
   4555         type: DT_INT32
   4556         type: DT_UINT8
   4557         type: DT_UINT16
   4558         type: DT_INT16
   4559         type: DT_INT8
   4560         type: DT_COMPLEX64
   4561         type: DT_COMPLEX128
   4562         type: DT_QINT8
   4563         type: DT_QUINT8
   4564         type: DT_QINT32
   4565         type: DT_HALF
   4566         type: DT_UINT32
   4567         type: DT_UINT64
   4568       }
   4569     }
   4570   }
   4571   attr {
   4572     name: "use_locking"
   4573     type: "bool"
   4574     default_value {
   4575       b: false
   4576     }
   4577   }
   4578 }
   4579 op {
   4580   name: "ApplyProximalAdagrad"
   4581   input_arg {
   4582     name: "var"
   4583     type_attr: "T"
   4584     is_ref: true
   4585   }
   4586   input_arg {
   4587     name: "accum"
   4588     type_attr: "T"
   4589     is_ref: true
   4590   }
   4591   input_arg {
   4592     name: "lr"
   4593     type_attr: "T"
   4594   }
   4595   input_arg {
   4596     name: "l1"
   4597     type_attr: "T"
   4598   }
   4599   input_arg {
   4600     name: "l2"
   4601     type_attr: "T"
   4602   }
   4603   input_arg {
   4604     name: "grad"
   4605     type_attr: "T"
   4606   }
   4607   output_arg {
   4608     name: "out"
   4609     type_attr: "T"
   4610     is_ref: true
   4611   }
   4612   attr {
   4613     name: "T"
   4614     type: "type"
   4615     allowed_values {
   4616       list {
   4617         type: DT_FLOAT
   4618         type: DT_DOUBLE
   4619         type: DT_INT64
   4620         type: DT_INT32
   4621         type: DT_UINT8
   4622         type: DT_UINT16
   4623         type: DT_INT16
   4624         type: DT_INT8
   4625         type: DT_COMPLEX64
   4626         type: DT_COMPLEX128
   4627         type: DT_QINT8
   4628         type: DT_QUINT8
   4629         type: DT_QINT32
   4630         type: DT_HALF
   4631         type: DT_UINT32
   4632         type: DT_UINT64
   4633         type: DT_BFLOAT16
   4634       }
   4635     }
   4636   }
   4637   attr {
   4638     name: "use_locking"
   4639     type: "bool"
   4640     default_value {
   4641       b: false
   4642     }
   4643   }
   4644 }
   4645 op {
   4646   name: "ApplyProximalAdagrad"
   4647   input_arg {
   4648     name: "var"
   4649     type_attr: "T"
   4650     is_ref: true
   4651   }
   4652   input_arg {
   4653     name: "accum"
   4654     type_attr: "T"
   4655     is_ref: true
   4656   }
   4657   input_arg {
   4658     name: "lr"
   4659     type_attr: "T"
   4660   }
   4661   input_arg {
   4662     name: "l1"
   4663     type_attr: "T"
   4664   }
   4665   input_arg {
   4666     name: "l2"
   4667     type_attr: "T"
   4668   }
   4669   input_arg {
   4670     name: "grad"
   4671     type_attr: "T"
   4672   }
   4673   output_arg {
   4674     name: "out"
   4675     type_attr: "T"
   4676     is_ref: true
   4677   }
   4678   attr {
   4679     name: "T"
   4680     type: "type"
   4681     allowed_values {
   4682       list {
   4683         type: DT_FLOAT
   4684         type: DT_DOUBLE
   4685         type: DT_INT32
   4686         type: DT_UINT8
   4687         type: DT_INT16
   4688         type: DT_INT8
   4689         type: DT_COMPLEX64
   4690         type: DT_INT64
   4691         type: DT_QINT8
   4692         type: DT_QUINT8
   4693         type: DT_QINT32
   4694         type: DT_BFLOAT16
   4695         type: DT_UINT16
   4696         type: DT_COMPLEX128
   4697         type: DT_HALF
   4698         type: DT_UINT32
   4699         type: DT_UINT64
   4700       }
   4701     }
   4702   }
   4703   attr {
   4704     name: "use_locking"
   4705     type: "bool"
   4706     default_value {
   4707       b: false
   4708     }
   4709   }
   4710 }
   4711 op {
   4712   name: "ApplyProximalGradientDescent"
   4713   input_arg {
   4714     name: "var"
   4715     type_attr: "T"
   4716     is_ref: true
   4717   }
   4718   input_arg {
   4719     name: "alpha"
   4720     type_attr: "T"
   4721   }
   4722   input_arg {
   4723     name: "l1"
   4724     type_attr: "T"
   4725   }
   4726   input_arg {
   4727     name: "l2"
   4728     type_attr: "T"
   4729   }
   4730   input_arg {
   4731     name: "delta"
   4732     type_attr: "T"
   4733   }
   4734   output_arg {
   4735     name: "out"
   4736     type_attr: "T"
   4737     is_ref: true
   4738   }
   4739   attr {
   4740     name: "T"
   4741     type: "type"
   4742     allowed_values {
   4743       list {
   4744         type: DT_FLOAT
   4745         type: DT_DOUBLE
   4746         type: DT_INT64
   4747         type: DT_INT32
   4748         type: DT_UINT8
   4749         type: DT_UINT16
   4750         type: DT_INT16
   4751         type: DT_INT8
   4752         type: DT_COMPLEX64
   4753         type: DT_COMPLEX128
   4754         type: DT_QINT8
   4755         type: DT_QUINT8
   4756         type: DT_QINT32
   4757         type: DT_HALF
   4758       }
   4759     }
   4760   }
   4761   attr {
   4762     name: "use_locking"
   4763     type: "bool"
   4764     default_value {
   4765       b: false
   4766     }
   4767   }
   4768 }
   4769 op {
   4770   name: "ApplyProximalGradientDescent"
   4771   input_arg {
   4772     name: "var"
   4773     type_attr: "T"
   4774     is_ref: true
   4775   }
   4776   input_arg {
   4777     name: "alpha"
   4778     type_attr: "T"
   4779   }
   4780   input_arg {
   4781     name: "l1"
   4782     type_attr: "T"
   4783   }
   4784   input_arg {
   4785     name: "l2"
   4786     type_attr: "T"
   4787   }
   4788   input_arg {
   4789     name: "delta"
   4790     type_attr: "T"
   4791   }
   4792   output_arg {
   4793     name: "out"
   4794     type_attr: "T"
   4795     is_ref: true
   4796   }
   4797   attr {
   4798     name: "T"
   4799     type: "type"
   4800     allowed_values {
   4801       list {
   4802         type: DT_FLOAT
   4803         type: DT_DOUBLE
   4804         type: DT_INT64
   4805         type: DT_INT32
   4806         type: DT_UINT8
   4807         type: DT_UINT16
   4808         type: DT_INT16
   4809         type: DT_INT8
   4810         type: DT_COMPLEX64
   4811         type: DT_COMPLEX128
   4812         type: DT_QINT8
   4813         type: DT_QUINT8
   4814         type: DT_QINT32
   4815         type: DT_HALF
   4816         type: DT_UINT32
   4817         type: DT_UINT64
   4818       }
   4819     }
   4820   }
   4821   attr {
   4822     name: "use_locking"
   4823     type: "bool"
   4824     default_value {
   4825       b: false
   4826     }
   4827   }
   4828 }
   4829 op {
   4830   name: "ApplyProximalGradientDescent"
   4831   input_arg {
   4832     name: "var"
   4833     type_attr: "T"
   4834     is_ref: true
   4835   }
   4836   input_arg {
   4837     name: "alpha"
   4838     type_attr: "T"
   4839   }
   4840   input_arg {
   4841     name: "l1"
   4842     type_attr: "T"
   4843   }
   4844   input_arg {
   4845     name: "l2"
   4846     type_attr: "T"
   4847   }
   4848   input_arg {
   4849     name: "delta"
   4850     type_attr: "T"
   4851   }
   4852   output_arg {
   4853     name: "out"
   4854     type_attr: "T"
   4855     is_ref: true
   4856   }
   4857   attr {
   4858     name: "T"
   4859     type: "type"
   4860     allowed_values {
   4861       list {
   4862         type: DT_FLOAT
   4863         type: DT_DOUBLE
   4864         type: DT_INT64
   4865         type: DT_INT32
   4866         type: DT_UINT8
   4867         type: DT_UINT16
   4868         type: DT_INT16
   4869         type: DT_INT8
   4870         type: DT_COMPLEX64
   4871         type: DT_COMPLEX128
   4872         type: DT_QINT8
   4873         type: DT_QUINT8
   4874         type: DT_QINT32
   4875         type: DT_HALF
   4876         type: DT_UINT32
   4877         type: DT_UINT64
   4878         type: DT_BFLOAT16
   4879       }
   4880     }
   4881   }
   4882   attr {
   4883     name: "use_locking"
   4884     type: "bool"
   4885     default_value {
   4886       b: false
   4887     }
   4888   }
   4889 }
   4890 op {
   4891   name: "ApplyProximalGradientDescent"
   4892   input_arg {
   4893     name: "var"
   4894     type_attr: "T"
   4895     is_ref: true
   4896   }
   4897   input_arg {
   4898     name: "alpha"
   4899     type_attr: "T"
   4900   }
   4901   input_arg {
   4902     name: "l1"
   4903     type_attr: "T"
   4904   }
   4905   input_arg {
   4906     name: "l2"
   4907     type_attr: "T"
   4908   }
   4909   input_arg {
   4910     name: "delta"
   4911     type_attr: "T"
   4912   }
   4913   output_arg {
   4914     name: "out"
   4915     type_attr: "T"
   4916     is_ref: true
   4917   }
   4918   attr {
   4919     name: "T"
   4920     type: "type"
   4921     allowed_values {
   4922       list {
   4923         type: DT_FLOAT
   4924         type: DT_DOUBLE
   4925         type: DT_INT32
   4926         type: DT_UINT8
   4927         type: DT_INT16
   4928         type: DT_INT8
   4929         type: DT_COMPLEX64
   4930         type: DT_INT64
   4931         type: DT_QINT8
   4932         type: DT_QUINT8
   4933         type: DT_QINT32
   4934         type: DT_BFLOAT16
   4935         type: DT_UINT16
   4936         type: DT_COMPLEX128
   4937         type: DT_HALF
   4938         type: DT_UINT32
   4939         type: DT_UINT64
   4940       }
   4941     }
   4942   }
   4943   attr {
   4944     name: "use_locking"
   4945     type: "bool"
   4946     default_value {
   4947       b: false
   4948     }
   4949   }
   4950 }
   4951 op {
   4952   name: "ApplyRMSProp"
   4953   input_arg {
   4954     name: "var"
   4955     type_attr: "T"
   4956     is_ref: true
   4957   }
   4958   input_arg {
   4959     name: "ms"
   4960     type_attr: "T"
   4961     is_ref: true
   4962   }
   4963   input_arg {
   4964     name: "mom"
   4965     type_attr: "T"
   4966     is_ref: true
   4967   }
   4968   input_arg {
   4969     name: "lr"
   4970     type_attr: "T"
   4971   }
   4972   input_arg {
   4973     name: "rho"
   4974     type_attr: "T"
   4975   }
   4976   input_arg {
   4977     name: "momentum"
   4978     type_attr: "T"
   4979   }
   4980   input_arg {
   4981     name: "epsilon"
   4982     type_attr: "T"
   4983   }
   4984   input_arg {
   4985     name: "grad"
   4986     type_attr: "T"
   4987   }
   4988   output_arg {
   4989     name: "out"
   4990     type_attr: "T"
   4991     is_ref: true
   4992   }
   4993   attr {
   4994     name: "T"
   4995     type: "type"
   4996     allowed_values {
   4997       list {
   4998         type: DT_FLOAT
   4999         type: DT_DOUBLE
   5000         type: DT_INT64
   5001         type: DT_INT32
   5002         type: DT_UINT8
   5003         type: DT_UINT16
   5004         type: DT_INT16
   5005         type: DT_INT8
   5006         type: DT_COMPLEX64
   5007         type: DT_COMPLEX128
   5008         type: DT_QINT8
   5009         type: DT_QUINT8
   5010         type: DT_QINT32
   5011         type: DT_HALF
   5012       }
   5013     }
   5014   }
   5015   attr {
   5016     name: "use_locking"
   5017     type: "bool"
   5018     default_value {
   5019       b: false
   5020     }
   5021   }
   5022 }
   5023 op {
   5024   name: "ApplyRMSProp"
   5025   input_arg {
   5026     name: "var"
   5027     type_attr: "T"
   5028     is_ref: true
   5029   }
   5030   input_arg {
   5031     name: "ms"
   5032     type_attr: "T"
   5033     is_ref: true
   5034   }
   5035   input_arg {
   5036     name: "mom"
   5037     type_attr: "T"
   5038     is_ref: true
   5039   }
   5040   input_arg {
   5041     name: "lr"
   5042     type_attr: "T"
   5043   }
   5044   input_arg {
   5045     name: "rho"
   5046     type_attr: "T"
   5047   }
   5048   input_arg {
   5049     name: "momentum"
   5050     type_attr: "T"
   5051   }
   5052   input_arg {
   5053     name: "epsilon"
   5054     type_attr: "T"
   5055   }
   5056   input_arg {
   5057     name: "grad"
   5058     type_attr: "T"
   5059   }
   5060   output_arg {
   5061     name: "out"
   5062     type_attr: "T"
   5063     is_ref: true
   5064   }
   5065   attr {
   5066     name: "T"
   5067     type: "type"
   5068     allowed_values {
   5069       list {
   5070         type: DT_FLOAT
   5071         type: DT_DOUBLE
   5072         type: DT_INT64
   5073         type: DT_INT32
   5074         type: DT_UINT8
   5075         type: DT_UINT16
   5076         type: DT_INT16
   5077         type: DT_INT8
   5078         type: DT_COMPLEX64
   5079         type: DT_COMPLEX128
   5080         type: DT_QINT8
   5081         type: DT_QUINT8
   5082         type: DT_QINT32
   5083         type: DT_HALF
   5084         type: DT_UINT32
   5085         type: DT_UINT64
   5086       }
   5087     }
   5088   }
   5089   attr {
   5090     name: "use_locking"
   5091     type: "bool"
   5092     default_value {
   5093       b: false
   5094     }
   5095   }
   5096 }
   5097 op {
   5098   name: "ApplyRMSProp"
   5099   input_arg {
   5100     name: "var"
   5101     type_attr: "T"
   5102     is_ref: true
   5103   }
   5104   input_arg {
   5105     name: "ms"
   5106     type_attr: "T"
   5107     is_ref: true
   5108   }
   5109   input_arg {
   5110     name: "mom"
   5111     type_attr: "T"
   5112     is_ref: true
   5113   }
   5114   input_arg {
   5115     name: "lr"
   5116     type_attr: "T"
   5117   }
   5118   input_arg {
   5119     name: "rho"
   5120     type_attr: "T"
   5121   }
   5122   input_arg {
   5123     name: "momentum"
   5124     type_attr: "T"
   5125   }
   5126   input_arg {
   5127     name: "epsilon"
   5128     type_attr: "T"
   5129   }
   5130   input_arg {
   5131     name: "grad"
   5132     type_attr: "T"
   5133   }
   5134   output_arg {
   5135     name: "out"
   5136     type_attr: "T"
   5137     is_ref: true
   5138   }
   5139   attr {
   5140     name: "T"
   5141     type: "type"
   5142     allowed_values {
   5143       list {
   5144         type: DT_FLOAT
   5145         type: DT_DOUBLE
   5146         type: DT_INT64
   5147         type: DT_INT32
   5148         type: DT_UINT8
   5149         type: DT_UINT16
   5150         type: DT_INT16
   5151         type: DT_INT8
   5152         type: DT_COMPLEX64
   5153         type: DT_COMPLEX128
   5154         type: DT_QINT8
   5155         type: DT_QUINT8
   5156         type: DT_QINT32
   5157         type: DT_HALF
   5158         type: DT_UINT32
   5159         type: DT_UINT64
   5160         type: DT_BFLOAT16
   5161       }
   5162     }
   5163   }
   5164   attr {
   5165     name: "use_locking"
   5166     type: "bool"
   5167     default_value {
   5168       b: false
   5169     }
   5170   }
   5171 }
   5172 op {
   5173   name: "ApplyRMSProp"
   5174   input_arg {
   5175     name: "var"
   5176     type_attr: "T"
   5177     is_ref: true
   5178   }
   5179   input_arg {
   5180     name: "ms"
   5181     type_attr: "T"
   5182     is_ref: true
   5183   }
   5184   input_arg {
   5185     name: "mom"
   5186     type_attr: "T"
   5187     is_ref: true
   5188   }
   5189   input_arg {
   5190     name: "lr"
   5191     type_attr: "T"
   5192   }
   5193   input_arg {
   5194     name: "rho"
   5195     type_attr: "T"
   5196   }
   5197   input_arg {
   5198     name: "momentum"
   5199     type_attr: "T"
   5200   }
   5201   input_arg {
   5202     name: "epsilon"
   5203     type_attr: "T"
   5204   }
   5205   input_arg {
   5206     name: "grad"
   5207     type_attr: "T"
   5208   }
   5209   output_arg {
   5210     name: "out"
   5211     type_attr: "T"
   5212     is_ref: true
   5213   }
   5214   attr {
   5215     name: "T"
   5216     type: "type"
   5217     allowed_values {
   5218       list {
   5219         type: DT_FLOAT
   5220         type: DT_DOUBLE
   5221         type: DT_INT32
   5222         type: DT_UINT8
   5223         type: DT_INT16
   5224         type: DT_INT8
   5225         type: DT_COMPLEX64
   5226         type: DT_INT64
   5227         type: DT_QINT8
   5228         type: DT_QUINT8
   5229         type: DT_QINT32
   5230         type: DT_BFLOAT16
   5231         type: DT_UINT16
   5232         type: DT_COMPLEX128
   5233         type: DT_HALF
   5234         type: DT_UINT32
   5235         type: DT_UINT64
   5236       }
   5237     }
   5238   }
   5239   attr {
   5240     name: "use_locking"
   5241     type: "bool"
   5242     default_value {
   5243       b: false
   5244     }
   5245   }
   5246 }
   5247 op {
   5248   name: "ApproximateEqual"
   5249   input_arg {
   5250     name: "x"
   5251     type_attr: "T"
   5252   }
   5253   input_arg {
   5254     name: "y"
   5255     type_attr: "T"
   5256   }
   5257   output_arg {
   5258     name: "z"
   5259     type: DT_BOOL
   5260   }
   5261   attr {
   5262     name: "T"
   5263     type: "type"
   5264     allowed_values {
   5265       list {
   5266         type: DT_FLOAT
   5267         type: DT_DOUBLE
   5268         type: DT_INT64
   5269         type: DT_INT32
   5270         type: DT_UINT8
   5271         type: DT_UINT16
   5272         type: DT_INT16
   5273         type: DT_INT8
   5274         type: DT_COMPLEX64
   5275         type: DT_COMPLEX128
   5276         type: DT_QINT8
   5277         type: DT_QUINT8
   5278         type: DT_QINT32
   5279         type: DT_HALF
   5280       }
   5281     }
   5282   }
   5283   attr {
   5284     name: "tolerance"
   5285     type: "float"
   5286     default_value {
   5287       f: 1e-05
   5288     }
   5289   }
   5290   is_commutative: true
   5291 }
   5292 op {
   5293   name: "ApproximateEqual"
   5294   input_arg {
   5295     name: "x"
   5296     type_attr: "T"
   5297   }
   5298   input_arg {
   5299     name: "y"
   5300     type_attr: "T"
   5301   }
   5302   output_arg {
   5303     name: "z"
   5304     type: DT_BOOL
   5305   }
   5306   attr {
   5307     name: "T"
   5308     type: "type"
   5309     allowed_values {
   5310       list {
   5311         type: DT_FLOAT
   5312         type: DT_DOUBLE
   5313         type: DT_INT64
   5314         type: DT_INT32
   5315         type: DT_UINT8
   5316         type: DT_UINT16
   5317         type: DT_INT16
   5318         type: DT_INT8
   5319         type: DT_COMPLEX64
   5320         type: DT_COMPLEX128
   5321         type: DT_QINT8
   5322         type: DT_QUINT8
   5323         type: DT_QINT32
   5324         type: DT_HALF
   5325         type: DT_UINT32
   5326         type: DT_UINT64
   5327       }
   5328     }
   5329   }
   5330   attr {
   5331     name: "tolerance"
   5332     type: "float"
   5333     default_value {
   5334       f: 1e-05
   5335     }
   5336   }
   5337   is_commutative: true
   5338 }
   5339 op {
   5340   name: "ApproximateEqual"
   5341   input_arg {
   5342     name: "x"
   5343     type_attr: "T"
   5344   }
   5345   input_arg {
   5346     name: "y"
   5347     type_attr: "T"
   5348   }
   5349   output_arg {
   5350     name: "z"
   5351     type: DT_BOOL
   5352   }
   5353   attr {
   5354     name: "T"
   5355     type: "type"
   5356     allowed_values {
   5357       list {
   5358         type: DT_FLOAT
   5359         type: DT_DOUBLE
   5360         type: DT_INT64
   5361         type: DT_INT32
   5362         type: DT_UINT8
   5363         type: DT_UINT16
   5364         type: DT_INT16
   5365         type: DT_INT8
   5366         type: DT_COMPLEX64
   5367         type: DT_COMPLEX128
   5368         type: DT_QINT8
   5369         type: DT_QUINT8
   5370         type: DT_QINT32
   5371         type: DT_HALF
   5372         type: DT_UINT32
   5373         type: DT_UINT64
   5374         type: DT_BFLOAT16
   5375       }
   5376     }
   5377   }
   5378   attr {
   5379     name: "tolerance"
   5380     type: "float"
   5381     default_value {
   5382       f: 1e-05
   5383     }
   5384   }
   5385   is_commutative: true
   5386 }
   5387 op {
   5388   name: "ApproximateEqual"
   5389   input_arg {
   5390     name: "x"
   5391     type_attr: "T"
   5392   }
   5393   input_arg {
   5394     name: "y"
   5395     type_attr: "T"
   5396   }
   5397   output_arg {
   5398     name: "z"
   5399     type: DT_BOOL
   5400   }
   5401   attr {
   5402     name: "T"
   5403     type: "type"
   5404     allowed_values {
   5405       list {
   5406         type: DT_FLOAT
   5407         type: DT_DOUBLE
   5408         type: DT_INT32
   5409         type: DT_UINT8
   5410         type: DT_INT16
   5411         type: DT_INT8
   5412         type: DT_COMPLEX64
   5413         type: DT_INT64
   5414         type: DT_QINT8
   5415         type: DT_QUINT8
   5416         type: DT_QINT32
   5417         type: DT_BFLOAT16
   5418         type: DT_UINT16
   5419         type: DT_COMPLEX128
   5420         type: DT_HALF
   5421         type: DT_UINT32
   5422         type: DT_UINT64
   5423       }
   5424     }
   5425   }
   5426   attr {
   5427     name: "tolerance"
   5428     type: "float"
   5429     default_value {
   5430       f: 1e-05
   5431     }
   5432   }
   5433   is_commutative: true
   5434 }
   5435 op {
   5436   name: "ArgMax"
   5437   input_arg {
   5438     name: "input"
   5439     type_attr: "T"
   5440   }
   5441   input_arg {
   5442     name: "dimension"
   5443     type_attr: "Tidx"
   5444   }
   5445   output_arg {
   5446     name: "output"
   5447     type: DT_INT64
   5448   }
   5449   attr {
   5450     name: "T"
   5451     type: "type"
   5452     allowed_values {
   5453       list {
   5454         type: DT_FLOAT
   5455         type: DT_DOUBLE
   5456         type: DT_INT64
   5457         type: DT_INT32
   5458         type: DT_UINT8
   5459         type: DT_UINT16
   5460         type: DT_INT16
   5461         type: DT_INT8
   5462         type: DT_COMPLEX64
   5463         type: DT_COMPLEX128
   5464         type: DT_QINT8
   5465         type: DT_QUINT8
   5466         type: DT_QINT32
   5467         type: DT_HALF
   5468       }
   5469     }
   5470   }
   5471   attr {
   5472     name: "Tidx"
   5473     type: "type"
   5474     default_value {
   5475       type: DT_INT32
   5476     }
   5477     allowed_values {
   5478       list {
   5479         type: DT_INT32
   5480         type: DT_INT64
   5481       }
   5482     }
   5483   }
   5484 }
   5485 op {
   5486   name: "ArgMax"
   5487   input_arg {
   5488     name: "input"
   5489     type_attr: "T"
   5490   }
   5491   input_arg {
   5492     name: "dimension"
   5493     type_attr: "Tidx"
   5494   }
   5495   output_arg {
   5496     name: "output"
   5497     type_attr: "output_type"
   5498   }
   5499   attr {
   5500     name: "T"
   5501     type: "type"
   5502     allowed_values {
   5503       list {
   5504         type: DT_FLOAT
   5505         type: DT_DOUBLE
   5506         type: DT_INT64
   5507         type: DT_INT32
   5508         type: DT_UINT8
   5509         type: DT_UINT16
   5510         type: DT_INT16
   5511         type: DT_INT8
   5512         type: DT_COMPLEX64
   5513         type: DT_COMPLEX128
   5514         type: DT_QINT8
   5515         type: DT_QUINT8
   5516         type: DT_QINT32
   5517         type: DT_HALF
   5518       }
   5519     }
   5520   }
   5521   attr {
   5522     name: "Tidx"
   5523     type: "type"
   5524     default_value {
   5525       type: DT_INT32
   5526     }
   5527     allowed_values {
   5528       list {
   5529         type: DT_INT32
   5530         type: DT_INT64
   5531       }
   5532     }
   5533   }
   5534   attr {
   5535     name: "output_type"
   5536     type: "type"
   5537     default_value {
   5538       type: DT_INT64
   5539     }
   5540     allowed_values {
   5541       list {
   5542         type: DT_INT32
   5543         type: DT_INT64
   5544       }
   5545     }
   5546   }
   5547 }
   5548 op {
   5549   name: "ArgMax"
   5550   input_arg {
   5551     name: "input"
   5552     type_attr: "T"
   5553   }
   5554   input_arg {
   5555     name: "dimension"
   5556     type_attr: "Tidx"
   5557   }
   5558   output_arg {
   5559     name: "output"
   5560     type_attr: "output_type"
   5561   }
   5562   attr {
   5563     name: "T"
   5564     type: "type"
   5565     allowed_values {
   5566       list {
   5567         type: DT_FLOAT
   5568         type: DT_DOUBLE
   5569         type: DT_INT64
   5570         type: DT_INT32
   5571         type: DT_UINT8
   5572         type: DT_UINT16
   5573         type: DT_INT16
   5574         type: DT_INT8
   5575         type: DT_COMPLEX64
   5576         type: DT_COMPLEX128
   5577         type: DT_QINT8
   5578         type: DT_QUINT8
   5579         type: DT_QINT32
   5580         type: DT_HALF
   5581         type: DT_UINT32
   5582         type: DT_UINT64
   5583       }
   5584     }
   5585   }
   5586   attr {
   5587     name: "Tidx"
   5588     type: "type"
   5589     default_value {
   5590       type: DT_INT32
   5591     }
   5592     allowed_values {
   5593       list {
   5594         type: DT_INT32
   5595         type: DT_INT64
   5596       }
   5597     }
   5598   }
   5599   attr {
   5600     name: "output_type"
   5601     type: "type"
   5602     default_value {
   5603       type: DT_INT64
   5604     }
   5605     allowed_values {
   5606       list {
   5607         type: DT_INT32
   5608         type: DT_INT64
   5609       }
   5610     }
   5611   }
   5612 }
   5613 op {
   5614   name: "ArgMax"
   5615   input_arg {
   5616     name: "input"
   5617     type_attr: "T"
   5618   }
   5619   input_arg {
   5620     name: "dimension"
   5621     type_attr: "Tidx"
   5622   }
   5623   output_arg {
   5624     name: "output"
   5625     type_attr: "output_type"
   5626   }
   5627   attr {
   5628     name: "T"
   5629     type: "type"
   5630     allowed_values {
   5631       list {
   5632         type: DT_FLOAT
   5633         type: DT_DOUBLE
   5634         type: DT_INT64
   5635         type: DT_INT32
   5636         type: DT_UINT8
   5637         type: DT_UINT16
   5638         type: DT_INT16
   5639         type: DT_INT8
   5640         type: DT_COMPLEX64
   5641         type: DT_COMPLEX128
   5642         type: DT_QINT8
   5643         type: DT_QUINT8
   5644         type: DT_QINT32
   5645         type: DT_HALF
   5646         type: DT_UINT32
   5647         type: DT_UINT64
   5648         type: DT_BFLOAT16
   5649       }
   5650     }
   5651   }
   5652   attr {
   5653     name: "Tidx"
   5654     type: "type"
   5655     default_value {
   5656       type: DT_INT32
   5657     }
   5658     allowed_values {
   5659       list {
   5660         type: DT_INT32
   5661         type: DT_INT64
   5662       }
   5663     }
   5664   }
   5665   attr {
   5666     name: "output_type"
   5667     type: "type"
   5668     default_value {
   5669       type: DT_INT64
   5670     }
   5671     allowed_values {
   5672       list {
   5673         type: DT_INT32
   5674         type: DT_INT64
   5675       }
   5676     }
   5677   }
   5678 }
   5679 op {
   5680   name: "ArgMax"
   5681   input_arg {
   5682     name: "input"
   5683     type_attr: "T"
   5684   }
   5685   input_arg {
   5686     name: "dimension"
   5687     type_attr: "Tidx"
   5688   }
   5689   output_arg {
   5690     name: "output"
   5691     type_attr: "output_type"
   5692   }
   5693   attr {
   5694     name: "T"
   5695     type: "type"
   5696     allowed_values {
   5697       list {
   5698         type: DT_FLOAT
   5699         type: DT_DOUBLE
   5700         type: DT_INT32
   5701         type: DT_UINT8
   5702         type: DT_INT16
   5703         type: DT_INT8
   5704         type: DT_COMPLEX64
   5705         type: DT_INT64
   5706         type: DT_QINT8
   5707         type: DT_QUINT8
   5708         type: DT_QINT32
   5709         type: DT_BFLOAT16
   5710         type: DT_UINT16
   5711         type: DT_COMPLEX128
   5712         type: DT_HALF
   5713         type: DT_UINT32
   5714         type: DT_UINT64
   5715       }
   5716     }
   5717   }
   5718   attr {
   5719     name: "Tidx"
   5720     type: "type"
   5721     default_value {
   5722       type: DT_INT32
   5723     }
   5724     allowed_values {
   5725       list {
   5726         type: DT_INT32
   5727         type: DT_INT64
   5728       }
   5729     }
   5730   }
   5731   attr {
   5732     name: "output_type"
   5733     type: "type"
   5734     default_value {
   5735       type: DT_INT64
   5736     }
   5737     allowed_values {
   5738       list {
   5739         type: DT_INT32
   5740         type: DT_INT64
   5741       }
   5742     }
   5743   }
   5744 }
   5745 op {
   5746   name: "ArgMin"
   5747   input_arg {
   5748     name: "input"
   5749     type_attr: "T"
   5750   }
   5751   input_arg {
   5752     name: "dimension"
   5753     type_attr: "Tidx"
   5754   }
   5755   output_arg {
   5756     name: "output"
   5757     type: DT_INT64
   5758   }
   5759   attr {
   5760     name: "T"
   5761     type: "type"
   5762     allowed_values {
   5763       list {
   5764         type: DT_FLOAT
   5765         type: DT_DOUBLE
   5766         type: DT_INT64
   5767         type: DT_INT32
   5768         type: DT_UINT8
   5769         type: DT_UINT16
   5770         type: DT_INT16
   5771         type: DT_INT8
   5772         type: DT_COMPLEX64
   5773         type: DT_COMPLEX128
   5774         type: DT_QINT8
   5775         type: DT_QUINT8
   5776         type: DT_QINT32
   5777         type: DT_HALF
   5778       }
   5779     }
   5780   }
   5781   attr {
   5782     name: "Tidx"
   5783     type: "type"
   5784     default_value {
   5785       type: DT_INT32
   5786     }
   5787     allowed_values {
   5788       list {
   5789         type: DT_INT32
   5790         type: DT_INT64
   5791       }
   5792     }
   5793   }
   5794 }
   5795 op {
   5796   name: "ArgMin"
   5797   input_arg {
   5798     name: "input"
   5799     type_attr: "T"
   5800   }
   5801   input_arg {
   5802     name: "dimension"
   5803     type_attr: "Tidx"
   5804   }
   5805   output_arg {
   5806     name: "output"
   5807     type_attr: "output_type"
   5808   }
   5809   attr {
   5810     name: "T"
   5811     type: "type"
   5812     allowed_values {
   5813       list {
   5814         type: DT_FLOAT
   5815         type: DT_DOUBLE
   5816         type: DT_INT64
   5817         type: DT_INT32
   5818         type: DT_UINT8
   5819         type: DT_UINT16
   5820         type: DT_INT16
   5821         type: DT_INT8
   5822         type: DT_COMPLEX64
   5823         type: DT_COMPLEX128
   5824         type: DT_QINT8
   5825         type: DT_QUINT8
   5826         type: DT_QINT32
   5827         type: DT_HALF
   5828       }
   5829     }
   5830   }
   5831   attr {
   5832     name: "Tidx"
   5833     type: "type"
   5834     default_value {
   5835       type: DT_INT32
   5836     }
   5837     allowed_values {
   5838       list {
   5839         type: DT_INT32
   5840         type: DT_INT64
   5841       }
   5842     }
   5843   }
   5844   attr {
   5845     name: "output_type"
   5846     type: "type"
   5847     default_value {
   5848       type: DT_INT64
   5849     }
   5850     allowed_values {
   5851       list {
   5852         type: DT_INT32
   5853         type: DT_INT64
   5854       }
   5855     }
   5856   }
   5857 }
   5858 op {
   5859   name: "ArgMin"
   5860   input_arg {
   5861     name: "input"
   5862     type_attr: "T"
   5863   }
   5864   input_arg {
   5865     name: "dimension"
   5866     type_attr: "Tidx"
   5867   }
   5868   output_arg {
   5869     name: "output"
   5870     type_attr: "output_type"
   5871   }
   5872   attr {
   5873     name: "T"
   5874     type: "type"
   5875     allowed_values {
   5876       list {
   5877         type: DT_FLOAT
   5878         type: DT_DOUBLE
   5879         type: DT_INT64
   5880         type: DT_INT32
   5881         type: DT_UINT8
   5882         type: DT_UINT16
   5883         type: DT_INT16
   5884         type: DT_INT8
   5885         type: DT_COMPLEX64
   5886         type: DT_COMPLEX128
   5887         type: DT_QINT8
   5888         type: DT_QUINT8
   5889         type: DT_QINT32
   5890         type: DT_HALF
   5891         type: DT_UINT32
   5892         type: DT_UINT64
   5893       }
   5894     }
   5895   }
   5896   attr {
   5897     name: "Tidx"
   5898     type: "type"
   5899     default_value {
   5900       type: DT_INT32
   5901     }
   5902     allowed_values {
   5903       list {
   5904         type: DT_INT32
   5905         type: DT_INT64
   5906       }
   5907     }
   5908   }
   5909   attr {
   5910     name: "output_type"
   5911     type: "type"
   5912     default_value {
   5913       type: DT_INT64
   5914     }
   5915     allowed_values {
   5916       list {
   5917         type: DT_INT32
   5918         type: DT_INT64
   5919       }
   5920     }
   5921   }
   5922 }
   5923 op {
   5924   name: "ArgMin"
   5925   input_arg {
   5926     name: "input"
   5927     type_attr: "T"
   5928   }
   5929   input_arg {
   5930     name: "dimension"
   5931     type_attr: "Tidx"
   5932   }
   5933   output_arg {
   5934     name: "output"
   5935     type_attr: "output_type"
   5936   }
   5937   attr {
   5938     name: "T"
   5939     type: "type"
   5940     allowed_values {
   5941       list {
   5942         type: DT_FLOAT
   5943         type: DT_DOUBLE
   5944         type: DT_INT64
   5945         type: DT_INT32
   5946         type: DT_UINT8
   5947         type: DT_UINT16
   5948         type: DT_INT16
   5949         type: DT_INT8
   5950         type: DT_COMPLEX64
   5951         type: DT_COMPLEX128
   5952         type: DT_QINT8
   5953         type: DT_QUINT8
   5954         type: DT_QINT32
   5955         type: DT_HALF
   5956         type: DT_UINT32
   5957         type: DT_UINT64
   5958         type: DT_BFLOAT16
   5959       }
   5960     }
   5961   }
   5962   attr {
   5963     name: "Tidx"
   5964     type: "type"
   5965     default_value {
   5966       type: DT_INT32
   5967     }
   5968     allowed_values {
   5969       list {
   5970         type: DT_INT32
   5971         type: DT_INT64
   5972       }
   5973     }
   5974   }
   5975   attr {
   5976     name: "output_type"
   5977     type: "type"
   5978     default_value {
   5979       type: DT_INT64
   5980     }
   5981     allowed_values {
   5982       list {
   5983         type: DT_INT32
   5984         type: DT_INT64
   5985       }
   5986     }
   5987   }
   5988 }
   5989 op {
   5990   name: "ArgMin"
   5991   input_arg {
   5992     name: "input"
   5993     type_attr: "T"
   5994   }
   5995   input_arg {
   5996     name: "dimension"
   5997     type_attr: "Tidx"
   5998   }
   5999   output_arg {
   6000     name: "output"
   6001     type_attr: "output_type"
   6002   }
   6003   attr {
   6004     name: "T"
   6005     type: "type"
   6006     allowed_values {
   6007       list {
   6008         type: DT_FLOAT
   6009         type: DT_DOUBLE
   6010         type: DT_INT32
   6011         type: DT_UINT8
   6012         type: DT_INT16
   6013         type: DT_INT8
   6014         type: DT_COMPLEX64
   6015         type: DT_INT64
   6016         type: DT_QINT8
   6017         type: DT_QUINT8
   6018         type: DT_QINT32
   6019         type: DT_BFLOAT16
   6020         type: DT_UINT16
   6021         type: DT_COMPLEX128
   6022         type: DT_HALF
   6023         type: DT_UINT32
   6024         type: DT_UINT64
   6025       }
   6026     }
   6027   }
   6028   attr {
   6029     name: "Tidx"
   6030     type: "type"
   6031     default_value {
   6032       type: DT_INT32
   6033     }
   6034     allowed_values {
   6035       list {
   6036         type: DT_INT32
   6037         type: DT_INT64
   6038       }
   6039     }
   6040   }
   6041   attr {
   6042     name: "output_type"
   6043     type: "type"
   6044     default_value {
   6045       type: DT_INT64
   6046     }
   6047     allowed_values {
   6048       list {
   6049         type: DT_INT32
   6050         type: DT_INT64
   6051       }
   6052     }
   6053   }
   6054 }
   6055 op {
   6056   name: "AsString"
   6057   input_arg {
   6058     name: "input"
   6059     type_attr: "T"
   6060   }
   6061   output_arg {
   6062     name: "output"
   6063     type: DT_STRING
   6064   }
   6065   attr {
   6066     name: "T"
   6067     type: "type"
   6068     allowed_values {
   6069       list {
   6070         type: DT_INT32
   6071         type: DT_INT64
   6072         type: DT_COMPLEX64
   6073         type: DT_FLOAT
   6074         type: DT_DOUBLE
   6075         type: DT_BOOL
   6076         type: DT_INT8
   6077       }
   6078     }
   6079   }
   6080   attr {
   6081     name: "precision"
   6082     type: "int"
   6083     default_value {
   6084       i: -1
   6085     }
   6086   }
   6087   attr {
   6088     name: "scientific"
   6089     type: "bool"
   6090     default_value {
   6091       b: false
   6092     }
   6093   }
   6094   attr {
   6095     name: "shortest"
   6096     type: "bool"
   6097     default_value {
   6098       b: false
   6099     }
   6100   }
   6101   attr {
   6102     name: "width"
   6103     type: "int"
   6104     default_value {
   6105       i: -1
   6106     }
   6107   }
   6108   attr {
   6109     name: "fill"
   6110     type: "string"
   6111     default_value {
   6112       s: ""
   6113     }
   6114   }
   6115 }
   6116 op {
   6117   name: "Asin"
   6118   input_arg {
   6119     name: "x"
   6120     type_attr: "T"
   6121   }
   6122   output_arg {
   6123     name: "y"
   6124     type_attr: "T"
   6125   }
   6126   attr {
   6127     name: "T"
   6128     type: "type"
   6129     allowed_values {
   6130       list {
   6131         type: DT_HALF
   6132         type: DT_FLOAT
   6133         type: DT_DOUBLE
   6134         type: DT_INT32
   6135         type: DT_INT64
   6136         type: DT_COMPLEX64
   6137         type: DT_COMPLEX128
   6138       }
   6139     }
   6140   }
   6141 }
   6142 op {
   6143   name: "Asin"
   6144   input_arg {
   6145     name: "x"
   6146     type_attr: "T"
   6147   }
   6148   output_arg {
   6149     name: "y"
   6150     type_attr: "T"
   6151   }
   6152   attr {
   6153     name: "T"
   6154     type: "type"
   6155     allowed_values {
   6156       list {
   6157         type: DT_HALF
   6158         type: DT_BFLOAT16
   6159         type: DT_FLOAT
   6160         type: DT_DOUBLE
   6161         type: DT_INT32
   6162         type: DT_INT64
   6163         type: DT_COMPLEX64
   6164         type: DT_COMPLEX128
   6165       }
   6166     }
   6167   }
   6168 }
   6169 op {
   6170   name: "Asinh"
   6171   input_arg {
   6172     name: "x"
   6173     type_attr: "T"
   6174   }
   6175   output_arg {
   6176     name: "y"
   6177     type_attr: "T"
   6178   }
   6179   attr {
   6180     name: "T"
   6181     type: "type"
   6182     allowed_values {
   6183       list {
   6184         type: DT_HALF
   6185         type: DT_FLOAT
   6186         type: DT_DOUBLE
   6187         type: DT_COMPLEX64
   6188         type: DT_COMPLEX128
   6189       }
   6190     }
   6191   }
   6192 }
   6193 op {
   6194   name: "Asinh"
   6195   input_arg {
   6196     name: "x"
   6197     type_attr: "T"
   6198   }
   6199   output_arg {
   6200     name: "y"
   6201     type_attr: "T"
   6202   }
   6203   attr {
   6204     name: "T"
   6205     type: "type"
   6206     allowed_values {
   6207       list {
   6208         type: DT_HALF
   6209         type: DT_BFLOAT16
   6210         type: DT_FLOAT
   6211         type: DT_DOUBLE
   6212         type: DT_COMPLEX64
   6213         type: DT_COMPLEX128
   6214       }
   6215     }
   6216   }
   6217 }
   6218 op {
   6219   name: "Assert"
   6220   input_arg {
   6221     name: "condition"
   6222     type: DT_BOOL
   6223   }
   6224   input_arg {
   6225     name: "data"
   6226     type_list_attr: "T"
   6227   }
   6228   attr {
   6229     name: "T"
   6230     type: "list(type)"
   6231     has_minimum: true
   6232     minimum: 1
   6233   }
   6234   attr {
   6235     name: "summarize"
   6236     type: "int"
   6237     default_value {
   6238       i: 3
   6239     }
   6240   }
   6241   is_stateful: true
   6242 }
   6243 op {
   6244   name: "Assign"
   6245   input_arg {
   6246     name: "ref"
   6247     type_attr: "T"
   6248     is_ref: true
   6249   }
   6250   input_arg {
   6251     name: "value"
   6252     type_attr: "T"
   6253   }
   6254   output_arg {
   6255     name: "output_ref"
   6256     type_attr: "T"
   6257     is_ref: true
   6258   }
   6259   attr {
   6260     name: "T"
   6261     type: "type"
   6262   }
   6263   attr {
   6264     name: "validate_shape"
   6265     type: "bool"
   6266     default_value {
   6267       b: true
   6268     }
   6269   }
   6270   attr {
   6271     name: "use_locking"
   6272     type: "bool"
   6273     default_value {
   6274       b: true
   6275     }
   6276   }
   6277   allows_uninitialized_input: true
   6278 }
   6279 op {
   6280   name: "AssignAdd"
   6281   input_arg {
   6282     name: "ref"
   6283     type_attr: "T"
   6284     is_ref: true
   6285   }
   6286   input_arg {
   6287     name: "value"
   6288     type_attr: "T"
   6289   }
   6290   output_arg {
   6291     name: "output_ref"
   6292     type_attr: "T"
   6293     is_ref: true
   6294   }
   6295   attr {
   6296     name: "T"
   6297     type: "type"
   6298     allowed_values {
   6299       list {
   6300         type: DT_FLOAT
   6301         type: DT_DOUBLE
   6302         type: DT_INT64
   6303         type: DT_INT32
   6304         type: DT_UINT8
   6305         type: DT_UINT16
   6306         type: DT_INT16
   6307         type: DT_INT8
   6308         type: DT_COMPLEX64
   6309         type: DT_COMPLEX128
   6310         type: DT_QINT8
   6311         type: DT_QUINT8
   6312         type: DT_QINT32
   6313         type: DT_HALF
   6314       }
   6315     }
   6316   }
   6317   attr {
   6318     name: "use_locking"
   6319     type: "bool"
   6320     default_value {
   6321       b: false
   6322     }
   6323   }
   6324 }
   6325 op {
   6326   name: "AssignAdd"
   6327   input_arg {
   6328     name: "ref"
   6329     type_attr: "T"
   6330     is_ref: true
   6331   }
   6332   input_arg {
   6333     name: "value"
   6334     type_attr: "T"
   6335   }
   6336   output_arg {
   6337     name: "output_ref"
   6338     type_attr: "T"
   6339     is_ref: true
   6340   }
   6341   attr {
   6342     name: "T"
   6343     type: "type"
   6344     allowed_values {
   6345       list {
   6346         type: DT_FLOAT
   6347         type: DT_DOUBLE
   6348         type: DT_INT64
   6349         type: DT_INT32
   6350         type: DT_UINT8
   6351         type: DT_UINT16
   6352         type: DT_INT16
   6353         type: DT_INT8
   6354         type: DT_COMPLEX64
   6355         type: DT_COMPLEX128
   6356         type: DT_QINT8
   6357         type: DT_QUINT8
   6358         type: DT_QINT32
   6359         type: DT_HALF
   6360         type: DT_UINT32
   6361         type: DT_UINT64
   6362       }
   6363     }
   6364   }
   6365   attr {
   6366     name: "use_locking"
   6367     type: "bool"
   6368     default_value {
   6369       b: false
   6370     }
   6371   }
   6372 }
   6373 op {
   6374   name: "AssignAdd"
   6375   input_arg {
   6376     name: "ref"
   6377     type_attr: "T"
   6378     is_ref: true
   6379   }
   6380   input_arg {
   6381     name: "value"
   6382     type_attr: "T"
   6383   }
   6384   output_arg {
   6385     name: "output_ref"
   6386     type_attr: "T"
   6387     is_ref: true
   6388   }
   6389   attr {
   6390     name: "T"
   6391     type: "type"
   6392     allowed_values {
   6393       list {
   6394         type: DT_FLOAT
   6395         type: DT_DOUBLE
   6396         type: DT_INT64
   6397         type: DT_INT32
   6398         type: DT_UINT8
   6399         type: DT_UINT16
   6400         type: DT_INT16
   6401         type: DT_INT8
   6402         type: DT_COMPLEX64
   6403         type: DT_COMPLEX128
   6404         type: DT_QINT8
   6405         type: DT_QUINT8
   6406         type: DT_QINT32
   6407         type: DT_HALF
   6408         type: DT_UINT32
   6409         type: DT_UINT64
   6410         type: DT_BFLOAT16
   6411       }
   6412     }
   6413   }
   6414   attr {
   6415     name: "use_locking"
   6416     type: "bool"
   6417     default_value {
   6418       b: false
   6419     }
   6420   }
   6421 }
   6422 op {
   6423   name: "AssignAdd"
   6424   input_arg {
   6425     name: "ref"
   6426     type_attr: "T"
   6427     is_ref: true
   6428   }
   6429   input_arg {
   6430     name: "value"
   6431     type_attr: "T"
   6432   }
   6433   output_arg {
   6434     name: "output_ref"
   6435     type_attr: "T"
   6436     is_ref: true
   6437   }
   6438   attr {
   6439     name: "T"
   6440     type: "type"
   6441     allowed_values {
   6442       list {
   6443         type: DT_FLOAT
   6444         type: DT_DOUBLE
   6445         type: DT_INT32
   6446         type: DT_UINT8
   6447         type: DT_INT16
   6448         type: DT_INT8
   6449         type: DT_COMPLEX64
   6450         type: DT_INT64
   6451         type: DT_QINT8
   6452         type: DT_QUINT8
   6453         type: DT_QINT32
   6454         type: DT_BFLOAT16
   6455         type: DT_UINT16
   6456         type: DT_COMPLEX128
   6457         type: DT_HALF
   6458         type: DT_UINT32
   6459         type: DT_UINT64
   6460       }
   6461     }
   6462   }
   6463   attr {
   6464     name: "use_locking"
   6465     type: "bool"
   6466     default_value {
   6467       b: false
   6468     }
   6469   }
   6470 }
   6471 op {
   6472   name: "AssignAddVariableOp"
   6473   input_arg {
   6474     name: "resource"
   6475     type: DT_RESOURCE
   6476   }
   6477   input_arg {
   6478     name: "value"
   6479     type_attr: "dtype"
   6480   }
   6481   attr {
   6482     name: "dtype"
   6483     type: "type"
   6484   }
   6485   is_stateful: true
   6486 }
   6487 op {
   6488   name: "AssignSub"
   6489   input_arg {
   6490     name: "ref"
   6491     type_attr: "T"
   6492     is_ref: true
   6493   }
   6494   input_arg {
   6495     name: "value"
   6496     type_attr: "T"
   6497   }
   6498   output_arg {
   6499     name: "output_ref"
   6500     type_attr: "T"
   6501     is_ref: true
   6502   }
   6503   attr {
   6504     name: "T"
   6505     type: "type"
   6506     allowed_values {
   6507       list {
   6508         type: DT_FLOAT
   6509         type: DT_DOUBLE
   6510         type: DT_INT64
   6511         type: DT_INT32
   6512         type: DT_UINT8
   6513         type: DT_UINT16
   6514         type: DT_INT16
   6515         type: DT_INT8
   6516         type: DT_COMPLEX64
   6517         type: DT_COMPLEX128
   6518         type: DT_QINT8
   6519         type: DT_QUINT8
   6520         type: DT_QINT32
   6521         type: DT_HALF
   6522       }
   6523     }
   6524   }
   6525   attr {
   6526     name: "use_locking"
   6527     type: "bool"
   6528     default_value {
   6529       b: false
   6530     }
   6531   }
   6532 }
   6533 op {
   6534   name: "AssignSub"
   6535   input_arg {
   6536     name: "ref"
   6537     type_attr: "T"
   6538     is_ref: true
   6539   }
   6540   input_arg {
   6541     name: "value"
   6542     type_attr: "T"
   6543   }
   6544   output_arg {
   6545     name: "output_ref"
   6546     type_attr: "T"
   6547     is_ref: true
   6548   }
   6549   attr {
   6550     name: "T"
   6551     type: "type"
   6552     allowed_values {
   6553       list {
   6554         type: DT_FLOAT
   6555         type: DT_DOUBLE
   6556         type: DT_INT64
   6557         type: DT_INT32
   6558         type: DT_UINT8
   6559         type: DT_UINT16
   6560         type: DT_INT16
   6561         type: DT_INT8
   6562         type: DT_COMPLEX64
   6563         type: DT_COMPLEX128
   6564         type: DT_QINT8
   6565         type: DT_QUINT8
   6566         type: DT_QINT32
   6567         type: DT_HALF
   6568         type: DT_UINT32
   6569         type: DT_UINT64
   6570       }
   6571     }
   6572   }
   6573   attr {
   6574     name: "use_locking"
   6575     type: "bool"
   6576     default_value {
   6577       b: false
   6578     }
   6579   }
   6580 }
   6581 op {
   6582   name: "AssignSub"
   6583   input_arg {
   6584     name: "ref"
   6585     type_attr: "T"
   6586     is_ref: true
   6587   }
   6588   input_arg {
   6589     name: "value"
   6590     type_attr: "T"
   6591   }
   6592   output_arg {
   6593     name: "output_ref"
   6594     type_attr: "T"
   6595     is_ref: true
   6596   }
   6597   attr {
   6598     name: "T"
   6599     type: "type"
   6600     allowed_values {
   6601       list {
   6602         type: DT_FLOAT
   6603         type: DT_DOUBLE
   6604         type: DT_INT64
   6605         type: DT_INT32
   6606         type: DT_UINT8
   6607         type: DT_UINT16
   6608         type: DT_INT16
   6609         type: DT_INT8
   6610         type: DT_COMPLEX64
   6611         type: DT_COMPLEX128
   6612         type: DT_QINT8
   6613         type: DT_QUINT8
   6614         type: DT_QINT32
   6615         type: DT_HALF
   6616         type: DT_UINT32
   6617         type: DT_UINT64
   6618         type: DT_BFLOAT16
   6619       }
   6620     }
   6621   }
   6622   attr {
   6623     name: "use_locking"
   6624     type: "bool"
   6625     default_value {
   6626       b: false
   6627     }
   6628   }
   6629 }
   6630 op {
   6631   name: "AssignSub"
   6632   input_arg {
   6633     name: "ref"
   6634     type_attr: "T"
   6635     is_ref: true
   6636   }
   6637   input_arg {
   6638     name: "value"
   6639     type_attr: "T"
   6640   }
   6641   output_arg {
   6642     name: "output_ref"
   6643     type_attr: "T"
   6644     is_ref: true
   6645   }
   6646   attr {
   6647     name: "T"
   6648     type: "type"
   6649     allowed_values {
   6650       list {
   6651         type: DT_FLOAT
   6652         type: DT_DOUBLE
   6653         type: DT_INT32
   6654         type: DT_UINT8
   6655         type: DT_INT16
   6656         type: DT_INT8
   6657         type: DT_COMPLEX64
   6658         type: DT_INT64
   6659         type: DT_QINT8
   6660         type: DT_QUINT8
   6661         type: DT_QINT32
   6662         type: DT_BFLOAT16
   6663         type: DT_UINT16
   6664         type: DT_COMPLEX128
   6665         type: DT_HALF
   6666         type: DT_UINT32
   6667         type: DT_UINT64
   6668       }
   6669     }
   6670   }
   6671   attr {
   6672     name: "use_locking"
   6673     type: "bool"
   6674     default_value {
   6675       b: false
   6676     }
   6677   }
   6678 }
   6679 op {
   6680   name: "AssignSubVariableOp"
   6681   input_arg {
   6682     name: "resource"
   6683     type: DT_RESOURCE
   6684   }
   6685   input_arg {
   6686     name: "value"
   6687     type_attr: "dtype"
   6688   }
   6689   attr {
   6690     name: "dtype"
   6691     type: "type"
   6692   }
   6693   is_stateful: true
   6694 }
   6695 op {
   6696   name: "AssignVariableOp"
   6697   input_arg {
   6698     name: "resource"
   6699     type: DT_RESOURCE
   6700   }
   6701   input_arg {
   6702     name: "value"
   6703     type_attr: "dtype"
   6704   }
   6705   attr {
   6706     name: "dtype"
   6707     type: "type"
   6708   }
   6709   is_stateful: true
   6710 }
   6711 op {
   6712   name: "Atan"
   6713   input_arg {
   6714     name: "x"
   6715     type_attr: "T"
   6716   }
   6717   output_arg {
   6718     name: "y"
   6719     type_attr: "T"
   6720   }
   6721   attr {
   6722     name: "T"
   6723     type: "type"
   6724     allowed_values {
   6725       list {
   6726         type: DT_HALF
   6727         type: DT_FLOAT
   6728         type: DT_DOUBLE
   6729         type: DT_INT32
   6730         type: DT_INT64
   6731         type: DT_COMPLEX64
   6732         type: DT_COMPLEX128
   6733       }
   6734     }
   6735   }
   6736 }
   6737 op {
   6738   name: "Atan"
   6739   input_arg {
   6740     name: "x"
   6741     type_attr: "T"
   6742   }
   6743   output_arg {
   6744     name: "y"
   6745     type_attr: "T"
   6746   }
   6747   attr {
   6748     name: "T"
   6749     type: "type"
   6750     allowed_values {
   6751       list {
   6752         type: DT_HALF
   6753         type: DT_BFLOAT16
   6754         type: DT_FLOAT
   6755         type: DT_DOUBLE
   6756         type: DT_INT32
   6757         type: DT_INT64
   6758         type: DT_COMPLEX64
   6759         type: DT_COMPLEX128
   6760       }
   6761     }
   6762   }
   6763 }
   6764 op {
   6765   name: "Atan2"
   6766   input_arg {
   6767     name: "y"
   6768     type_attr: "T"
   6769   }
   6770   input_arg {
   6771     name: "x"
   6772     type_attr: "T"
   6773   }
   6774   output_arg {
   6775     name: "z"
   6776     type_attr: "T"
   6777   }
   6778   attr {
   6779     name: "T"
   6780     type: "type"
   6781     allowed_values {
   6782       list {
   6783         type: DT_FLOAT
   6784         type: DT_DOUBLE
   6785       }
   6786     }
   6787   }
   6788 }
   6789 op {
   6790   name: "Atan2"
   6791   input_arg {
   6792     name: "y"
   6793     type_attr: "T"
   6794   }
   6795   input_arg {
   6796     name: "x"
   6797     type_attr: "T"
   6798   }
   6799   output_arg {
   6800     name: "z"
   6801     type_attr: "T"
   6802   }
   6803   attr {
   6804     name: "T"
   6805     type: "type"
   6806     allowed_values {
   6807       list {
   6808         type: DT_BFLOAT16
   6809         type: DT_FLOAT
   6810         type: DT_DOUBLE
   6811       }
   6812     }
   6813   }
   6814 }
   6815 op {
   6816   name: "Atanh"
   6817   input_arg {
   6818     name: "x"
   6819     type_attr: "T"
   6820   }
   6821   output_arg {
   6822     name: "y"
   6823     type_attr: "T"
   6824   }
   6825   attr {
   6826     name: "T"
   6827     type: "type"
   6828     allowed_values {
   6829       list {
   6830         type: DT_HALF
   6831         type: DT_FLOAT
   6832         type: DT_DOUBLE
   6833         type: DT_COMPLEX64
   6834         type: DT_COMPLEX128
   6835       }
   6836     }
   6837   }
   6838 }
   6839 op {
   6840   name: "Atanh"
   6841   input_arg {
   6842     name: "x"
   6843     type_attr: "T"
   6844   }
   6845   output_arg {
   6846     name: "y"
   6847     type_attr: "T"
   6848   }
   6849   attr {
   6850     name: "T"
   6851     type: "type"
   6852     allowed_values {
   6853       list {
   6854         type: DT_HALF
   6855         type: DT_BFLOAT16
   6856         type: DT_FLOAT
   6857         type: DT_DOUBLE
   6858         type: DT_COMPLEX64
   6859         type: DT_COMPLEX128
   6860       }
   6861     }
   6862   }
   6863 }
   6864 op {
   6865   name: "AudioSpectrogram"
   6866   input_arg {
   6867     name: "input"
   6868     type: DT_FLOAT
   6869   }
   6870   output_arg {
   6871     name: "spectrogram"
   6872     type: DT_FLOAT
   6873   }
   6874   attr {
   6875     name: "window_size"
   6876     type: "int"
   6877   }
   6878   attr {
   6879     name: "stride"
   6880     type: "int"
   6881   }
   6882   attr {
   6883     name: "magnitude_squared"
   6884     type: "bool"
   6885     default_value {
   6886       b: false
   6887     }
   6888   }
   6889 }
   6890 op {
   6891   name: "AudioSummary"
   6892   input_arg {
   6893     name: "tag"
   6894     type: DT_STRING
   6895   }
   6896   input_arg {
   6897     name: "tensor"
   6898     type: DT_FLOAT
   6899   }
   6900   output_arg {
   6901     name: "summary"
   6902     type: DT_STRING
   6903   }
   6904   attr {
   6905     name: "sample_rate"
   6906     type: "float"
   6907   }
   6908   attr {
   6909     name: "max_outputs"
   6910     type: "int"
   6911     default_value {
   6912       i: 3
   6913     }
   6914     has_minimum: true
   6915     minimum: 1
   6916   }
   6917   deprecation {
   6918     version: 15
   6919   }
   6920 }
   6921 op {
   6922   name: "AudioSummaryV2"
   6923   input_arg {
   6924     name: "tag"
   6925     type: DT_STRING
   6926   }
   6927   input_arg {
   6928     name: "tensor"
   6929     type: DT_FLOAT
   6930   }
   6931   input_arg {
   6932     name: "sample_rate"
   6933     type: DT_FLOAT
   6934   }
   6935   output_arg {
   6936     name: "summary"
   6937     type: DT_STRING
   6938   }
   6939   attr {
   6940     name: "max_outputs"
   6941     type: "int"
   6942     default_value {
   6943       i: 3
   6944     }
   6945     has_minimum: true
   6946     minimum: 1
   6947   }
   6948 }
   6949 op {
   6950   name: "AvgPool"
   6951   input_arg {
   6952     name: "value"
   6953     type_attr: "T"
   6954   }
   6955   output_arg {
   6956     name: "output"
   6957     type_attr: "T"
   6958   }
   6959   attr {
   6960     name: "ksize"
   6961     type: "list(int)"
   6962     has_minimum: true
   6963     minimum: 4
   6964   }
   6965   attr {
   6966     name: "strides"
   6967     type: "list(int)"
   6968     has_minimum: true
   6969     minimum: 4
   6970   }
   6971   attr {
   6972     name: "padding"
   6973     type: "string"
   6974     allowed_values {
   6975       list {
   6976         s: "SAME"
   6977         s: "VALID"
   6978       }
   6979     }
   6980   }
   6981   attr {
   6982     name: "data_format"
   6983     type: "string"
   6984     default_value {
   6985       s: "NHWC"
   6986     }
   6987     allowed_values {
   6988       list {
   6989         s: "NHWC"
   6990         s: "NCHW"
   6991       }
   6992     }
   6993   }
   6994   attr {
   6995     name: "T"
   6996     type: "type"
   6997     allowed_values {
   6998       list {
   6999         type: DT_FLOAT
   7000         type: DT_HALF
   7001         type: DT_DOUBLE
   7002       }
   7003     }
   7004   }
   7005 }
   7006 op {
   7007   name: "AvgPool"
   7008   input_arg {
   7009     name: "value"
   7010     type_attr: "T"
   7011   }
   7012   output_arg {
   7013     name: "output"
   7014     type_attr: "T"
   7015   }
   7016   attr {
   7017     name: "ksize"
   7018     type: "list(int)"
   7019     has_minimum: true
   7020     minimum: 4
   7021   }
   7022   attr {
   7023     name: "strides"
   7024     type: "list(int)"
   7025     has_minimum: true
   7026     minimum: 4
   7027   }
   7028   attr {
   7029     name: "padding"
   7030     type: "string"
   7031     allowed_values {
   7032       list {
   7033         s: "SAME"
   7034         s: "VALID"
   7035       }
   7036     }
   7037   }
   7038   attr {
   7039     name: "data_format"
   7040     type: "string"
   7041     default_value {
   7042       s: "NHWC"
   7043     }
   7044     allowed_values {
   7045       list {
   7046         s: "NHWC"
   7047         s: "NCHW"
   7048       }
   7049     }
   7050   }
   7051   attr {
   7052     name: "T"
   7053     type: "type"
   7054     allowed_values {
   7055       list {
   7056         type: DT_FLOAT
   7057         type: DT_DOUBLE
   7058         type: DT_HALF
   7059       }
   7060     }
   7061   }
   7062 }
   7063 op {
   7064   name: "AvgPool"
   7065   input_arg {
   7066     name: "value"
   7067     type_attr: "T"
   7068   }
   7069   output_arg {
   7070     name: "output"
   7071     type_attr: "T"
   7072   }
   7073   attr {
   7074     name: "ksize"
   7075     type: "list(int)"
   7076     has_minimum: true
   7077     minimum: 4
   7078   }
   7079   attr {
   7080     name: "strides"
   7081     type: "list(int)"
   7082     has_minimum: true
   7083     minimum: 4
   7084   }
   7085   attr {
   7086     name: "padding"
   7087     type: "string"
   7088     allowed_values {
   7089       list {
   7090         s: "SAME"
   7091         s: "VALID"
   7092       }
   7093     }
   7094   }
   7095   attr {
   7096     name: "data_format"
   7097     type: "string"
   7098     default_value {
   7099       s: "NHWC"
   7100     }
   7101     allowed_values {
   7102       list {
   7103         s: "NHWC"
   7104         s: "NCHW"
   7105       }
   7106     }
   7107   }
   7108   attr {
   7109     name: "T"
   7110     type: "type"
   7111     allowed_values {
   7112       list {
   7113         type: DT_HALF
   7114         type: DT_FLOAT
   7115         type: DT_DOUBLE
   7116       }
   7117     }
   7118   }
   7119 }
   7120 op {
   7121   name: "AvgPool"
   7122   input_arg {
   7123     name: "value"
   7124     type_attr: "T"
   7125   }
   7126   output_arg {
   7127     name: "output"
   7128     type_attr: "T"
   7129   }
   7130   attr {
   7131     name: "ksize"
   7132     type: "list(int)"
   7133     has_minimum: true
   7134     minimum: 4
   7135   }
   7136   attr {
   7137     name: "strides"
   7138     type: "list(int)"
   7139     has_minimum: true
   7140     minimum: 4
   7141   }
   7142   attr {
   7143     name: "padding"
   7144     type: "string"
   7145     allowed_values {
   7146       list {
   7147         s: "SAME"
   7148         s: "VALID"
   7149       }
   7150     }
   7151   }
   7152   attr {
   7153     name: "data_format"
   7154     type: "string"
   7155     default_value {
   7156       s: "NHWC"
   7157     }
   7158     allowed_values {
   7159       list {
   7160         s: "NHWC"
   7161         s: "NCHW"
   7162       }
   7163     }
   7164   }
   7165   attr {
   7166     name: "T"
   7167     type: "type"
   7168     allowed_values {
   7169       list {
   7170         type: DT_HALF
   7171         type: DT_BFLOAT16
   7172         type: DT_FLOAT
   7173         type: DT_DOUBLE
   7174       }
   7175     }
   7176   }
   7177 }
   7178 op {
   7179   name: "AvgPool3D"
   7180   input_arg {
   7181     name: "input"
   7182     type_attr: "T"
   7183   }
   7184   output_arg {
   7185     name: "output"
   7186     type_attr: "T"
   7187   }
   7188   attr {
   7189     name: "ksize"
   7190     type: "list(int)"
   7191     has_minimum: true
   7192     minimum: 5
   7193   }
   7194   attr {
   7195     name: "strides"
   7196     type: "list(int)"
   7197     has_minimum: true
   7198     minimum: 5
   7199   }
   7200   attr {
   7201     name: "padding"
   7202     type: "string"
   7203     allowed_values {
   7204       list {
   7205         s: "SAME"
   7206         s: "VALID"
   7207       }
   7208     }
   7209   }
   7210   attr {
   7211     name: "T"
   7212     type: "type"
   7213     allowed_values {
   7214       list {
   7215         type: DT_FLOAT
   7216         type: DT_DOUBLE
   7217       }
   7218     }
   7219   }
   7220 }
   7221 op {
   7222   name: "AvgPool3D"
   7223   input_arg {
   7224     name: "input"
   7225     type_attr: "T"
   7226   }
   7227   output_arg {
   7228     name: "output"
   7229     type_attr: "T"
   7230   }
   7231   attr {
   7232     name: "ksize"
   7233     type: "list(int)"
   7234     has_minimum: true
   7235     minimum: 5
   7236   }
   7237   attr {
   7238     name: "strides"
   7239     type: "list(int)"
   7240     has_minimum: true
   7241     minimum: 5
   7242   }
   7243   attr {
   7244     name: "padding"
   7245     type: "string"
   7246     allowed_values {
   7247       list {
   7248         s: "SAME"
   7249         s: "VALID"
   7250       }
   7251     }
   7252   }
   7253   attr {
   7254     name: "data_format"
   7255     type: "string"
   7256     default_value {
   7257       s: "NDHWC"
   7258     }
   7259     allowed_values {
   7260       list {
   7261         s: "NDHWC"
   7262         s: "NCDHW"
   7263       }
   7264     }
   7265   }
   7266   attr {
   7267     name: "T"
   7268     type: "type"
   7269     allowed_values {
   7270       list {
   7271         type: DT_FLOAT
   7272         type: DT_DOUBLE
   7273       }
   7274     }
   7275   }
   7276 }
   7277 op {
   7278   name: "AvgPool3D"
   7279   input_arg {
   7280     name: "input"
   7281     type_attr: "T"
   7282   }
   7283   output_arg {
   7284     name: "output"
   7285     type_attr: "T"
   7286   }
   7287   attr {
   7288     name: "ksize"
   7289     type: "list(int)"
   7290     has_minimum: true
   7291     minimum: 5
   7292   }
   7293   attr {
   7294     name: "strides"
   7295     type: "list(int)"
   7296     has_minimum: true
   7297     minimum: 5
   7298   }
   7299   attr {
   7300     name: "padding"
   7301     type: "string"
   7302     allowed_values {
   7303       list {
   7304         s: "SAME"
   7305         s: "VALID"
   7306       }
   7307     }
   7308   }
   7309   attr {
   7310     name: "data_format"
   7311     type: "string"
   7312     default_value {
   7313       s: "NDHWC"
   7314     }
   7315     allowed_values {
   7316       list {
   7317         s: "NDHWC"
   7318         s: "NCDHW"
   7319       }
   7320     }
   7321   }
   7322   attr {
   7323     name: "T"
   7324     type: "type"
   7325     allowed_values {
   7326       list {
   7327         type: DT_BFLOAT16
   7328         type: DT_FLOAT
   7329         type: DT_DOUBLE
   7330       }
   7331     }
   7332   }
   7333 }
   7334 op {
   7335   name: "AvgPool3DGrad"
   7336   input_arg {
   7337     name: "orig_input_shape"
   7338     type: DT_INT32
   7339   }
   7340   input_arg {
   7341     name: "grad"
   7342     type_attr: "T"
   7343   }
   7344   output_arg {
   7345     name: "output"
   7346     type_attr: "T"
   7347   }
   7348   attr {
   7349     name: "ksize"
   7350     type: "list(int)"
   7351     has_minimum: true
   7352     minimum: 5
   7353   }
   7354   attr {
   7355     name: "strides"
   7356     type: "list(int)"
   7357     has_minimum: true
   7358     minimum: 5
   7359   }
   7360   attr {
   7361     name: "padding"
   7362     type: "string"
   7363     allowed_values {
   7364       list {
   7365         s: "SAME"
   7366         s: "VALID"
   7367       }
   7368     }
   7369   }
   7370   attr {
   7371     name: "T"
   7372     type: "type"
   7373     allowed_values {
   7374       list {
   7375         type: DT_FLOAT
   7376         type: DT_DOUBLE
   7377       }
   7378     }
   7379   }
   7380 }
   7381 op {
   7382   name: "AvgPool3DGrad"
   7383   input_arg {
   7384     name: "orig_input_shape"
   7385     type: DT_INT32
   7386   }
   7387   input_arg {
   7388     name: "grad"
   7389     type_attr: "T"
   7390   }
   7391   output_arg {
   7392     name: "output"
   7393     type_attr: "T"
   7394   }
   7395   attr {
   7396     name: "ksize"
   7397     type: "list(int)"
   7398     has_minimum: true
   7399     minimum: 5
   7400   }
   7401   attr {
   7402     name: "strides"
   7403     type: "list(int)"
   7404     has_minimum: true
   7405     minimum: 5
   7406   }
   7407   attr {
   7408     name: "padding"
   7409     type: "string"
   7410     allowed_values {
   7411       list {
   7412         s: "SAME"
   7413         s: "VALID"
   7414       }
   7415     }
   7416   }
   7417   attr {
   7418     name: "data_format"
   7419     type: "string"
   7420     default_value {
   7421       s: "NDHWC"
   7422     }
   7423     allowed_values {
   7424       list {
   7425         s: "NDHWC"
   7426         s: "NCDHW"
   7427       }
   7428     }
   7429   }
   7430   attr {
   7431     name: "T"
   7432     type: "type"
   7433     allowed_values {
   7434       list {
   7435         type: DT_FLOAT
   7436         type: DT_DOUBLE
   7437       }
   7438     }
   7439   }
   7440 }
   7441 op {
   7442   name: "AvgPool3DGrad"
   7443   input_arg {
   7444     name: "orig_input_shape"
   7445     type: DT_INT32
   7446   }
   7447   input_arg {
   7448     name: "grad"
   7449     type_attr: "T"
   7450   }
   7451   output_arg {
   7452     name: "output"
   7453     type_attr: "T"
   7454   }
   7455   attr {
   7456     name: "ksize"
   7457     type: "list(int)"
   7458     has_minimum: true
   7459     minimum: 5
   7460   }
   7461   attr {
   7462     name: "strides"
   7463     type: "list(int)"
   7464     has_minimum: true
   7465     minimum: 5
   7466   }
   7467   attr {
   7468     name: "padding"
   7469     type: "string"
   7470     allowed_values {
   7471       list {
   7472         s: "SAME"
   7473         s: "VALID"
   7474       }
   7475     }
   7476   }
   7477   attr {
   7478     name: "data_format"
   7479     type: "string"
   7480     default_value {
   7481       s: "NDHWC"
   7482     }
   7483     allowed_values {
   7484       list {
   7485         s: "NDHWC"
   7486         s: "NCDHW"
   7487       }
   7488     }
   7489   }
   7490   attr {
   7491     name: "T"
   7492     type: "type"
   7493     allowed_values {
   7494       list {
   7495         type: DT_BFLOAT16
   7496         type: DT_FLOAT
   7497         type: DT_DOUBLE
   7498       }
   7499     }
   7500   }
   7501 }
   7502 op {
   7503   name: "AvgPoolGrad"
   7504   input_arg {
   7505     name: "orig_input_shape"
   7506     type: DT_INT32
   7507   }
   7508   input_arg {
   7509     name: "grad"
   7510     type_attr: "T"
   7511   }
   7512   output_arg {
   7513     name: "output"
   7514     type_attr: "T"
   7515   }
   7516   attr {
   7517     name: "ksize"
   7518     type: "list(int)"
   7519     has_minimum: true
   7520     minimum: 4
   7521   }
   7522   attr {
   7523     name: "strides"
   7524     type: "list(int)"
   7525     has_minimum: true
   7526     minimum: 4
   7527   }
   7528   attr {
   7529     name: "padding"
   7530     type: "string"
   7531     allowed_values {
   7532       list {
   7533         s: "SAME"
   7534         s: "VALID"
   7535       }
   7536     }
   7537   }
   7538   attr {
   7539     name: "data_format"
   7540     type: "string"
   7541     default_value {
   7542       s: "NHWC"
   7543     }
   7544     allowed_values {
   7545       list {
   7546         s: "NHWC"
   7547         s: "NCHW"
   7548       }
   7549     }
   7550   }
   7551   attr {
   7552     name: "T"
   7553     type: "type"
   7554     allowed_values {
   7555       list {
   7556         type: DT_FLOAT
   7557         type: DT_HALF
   7558         type: DT_DOUBLE
   7559       }
   7560     }
   7561   }
   7562 }
   7563 op {
   7564   name: "AvgPoolGrad"
   7565   input_arg {
   7566     name: "orig_input_shape"
   7567     type: DT_INT32
   7568   }
   7569   input_arg {
   7570     name: "grad"
   7571     type_attr: "T"
   7572   }
   7573   output_arg {
   7574     name: "output"
   7575     type_attr: "T"
   7576   }
   7577   attr {
   7578     name: "ksize"
   7579     type: "list(int)"
   7580     has_minimum: true
   7581     minimum: 4
   7582   }
   7583   attr {
   7584     name: "strides"
   7585     type: "list(int)"
   7586     has_minimum: true
   7587     minimum: 4
   7588   }
   7589   attr {
   7590     name: "padding"
   7591     type: "string"
   7592     allowed_values {
   7593       list {
   7594         s: "SAME"
   7595         s: "VALID"
   7596       }
   7597     }
   7598   }
   7599   attr {
   7600     name: "data_format"
   7601     type: "string"
   7602     default_value {
   7603       s: "NHWC"
   7604     }
   7605     allowed_values {
   7606       list {
   7607         s: "NHWC"
   7608         s: "NCHW"
   7609       }
   7610     }
   7611   }
   7612   attr {
   7613     name: "T"
   7614     type: "type"
   7615     allowed_values {
   7616       list {
   7617         type: DT_FLOAT
   7618         type: DT_DOUBLE
   7619         type: DT_HALF
   7620       }
   7621     }
   7622   }
   7623 }
   7624 op {
   7625   name: "AvgPoolGrad"
   7626   input_arg {
   7627     name: "orig_input_shape"
   7628     type: DT_INT32
   7629   }
   7630   input_arg {
   7631     name: "grad"
   7632     type_attr: "T"
   7633   }
   7634   output_arg {
   7635     name: "output"
   7636     type_attr: "T"
   7637   }
   7638   attr {
   7639     name: "ksize"
   7640     type: "list(int)"
   7641     has_minimum: true
   7642     minimum: 4
   7643   }
   7644   attr {
   7645     name: "strides"
   7646     type: "list(int)"
   7647     has_minimum: true
   7648     minimum: 4
   7649   }
   7650   attr {
   7651     name: "padding"
   7652     type: "string"
   7653     allowed_values {
   7654       list {
   7655         s: "SAME"
   7656         s: "VALID"
   7657       }
   7658     }
   7659   }
   7660   attr {
   7661     name: "data_format"
   7662     type: "string"
   7663     default_value {
   7664       s: "NHWC"
   7665     }
   7666     allowed_values {
   7667       list {
   7668         s: "NHWC"
   7669         s: "NCHW"
   7670       }
   7671     }
   7672   }
   7673   attr {
   7674     name: "T"
   7675     type: "type"
   7676     allowed_values {
   7677       list {
   7678         type: DT_HALF
   7679         type: DT_FLOAT
   7680         type: DT_DOUBLE
   7681       }
   7682     }
   7683   }
   7684 }
   7685 op {
   7686   name: "AvgPoolGrad"
   7687   input_arg {
   7688     name: "orig_input_shape"
   7689     type: DT_INT32
   7690   }
   7691   input_arg {
   7692     name: "grad"
   7693     type_attr: "T"
   7694   }
   7695   output_arg {
   7696     name: "output"
   7697     type_attr: "T"
   7698   }
   7699   attr {
   7700     name: "ksize"
   7701     type: "list(int)"
   7702     has_minimum: true
   7703     minimum: 4
   7704   }
   7705   attr {
   7706     name: "strides"
   7707     type: "list(int)"
   7708     has_minimum: true
   7709     minimum: 4
   7710   }
   7711   attr {
   7712     name: "padding"
   7713     type: "string"
   7714     allowed_values {
   7715       list {
   7716         s: "SAME"
   7717         s: "VALID"
   7718       }
   7719     }
   7720   }
   7721   attr {
   7722     name: "data_format"
   7723     type: "string"
   7724     default_value {
   7725       s: "NHWC"
   7726     }
   7727     allowed_values {
   7728       list {
   7729         s: "NHWC"
   7730         s: "NCHW"
   7731       }
   7732     }
   7733   }
   7734   attr {
   7735     name: "T"
   7736     type: "type"
   7737     allowed_values {
   7738       list {
   7739         type: DT_HALF
   7740         type: DT_BFLOAT16
   7741         type: DT_FLOAT
   7742         type: DT_DOUBLE
   7743       }
   7744     }
   7745   }
   7746 }
   7747 op {
   7748   name: "Barrier"
   7749   output_arg {
   7750     name: "handle"
   7751     type: DT_STRING
   7752     is_ref: true
   7753   }
   7754   attr {
   7755     name: "component_types"
   7756     type: "list(type)"
   7757     has_minimum: true
   7758     minimum: 1
   7759   }
   7760   attr {
   7761     name: "shapes"
   7762     type: "list(shape)"
   7763     default_value {
   7764       list {
   7765       }
   7766     }
   7767     has_minimum: true
   7768   }
   7769   attr {
   7770     name: "capacity"
   7771     type: "int"
   7772     default_value {
   7773       i: -1
   7774     }
   7775   }
   7776   attr {
   7777     name: "container"
   7778     type: "string"
   7779     default_value {
   7780       s: ""
   7781     }
   7782   }
   7783   attr {
   7784     name: "shared_name"
   7785     type: "string"
   7786     default_value {
   7787       s: ""
   7788     }
   7789   }
   7790   is_stateful: true
   7791 }
   7792 op {
   7793   name: "BarrierClose"
   7794   input_arg {
   7795     name: "handle"
   7796     type: DT_STRING
   7797     is_ref: true
   7798   }
   7799   attr {
   7800     name: "cancel_pending_enqueues"
   7801     type: "bool"
   7802     default_value {
   7803       b: false
   7804     }
   7805   }
   7806 }
   7807 op {
   7808   name: "BarrierIncompleteSize"
   7809   input_arg {
   7810     name: "handle"
   7811     type: DT_STRING
   7812     is_ref: true
   7813   }
   7814   output_arg {
   7815     name: "size"
   7816     type: DT_INT32
   7817   }
   7818 }
   7819 op {
   7820   name: "BarrierInsertMany"
   7821   input_arg {
   7822     name: "handle"
   7823     type: DT_STRING
   7824     is_ref: true
   7825   }
   7826   input_arg {
   7827     name: "keys"
   7828     type: DT_STRING
   7829   }
   7830   input_arg {
   7831     name: "values"
   7832     type_attr: "T"
   7833   }
   7834   attr {
   7835     name: "T"
   7836     type: "type"
   7837   }
   7838   attr {
   7839     name: "component_index"
   7840     type: "int"
   7841   }
   7842 }
   7843 op {
   7844   name: "BarrierReadySize"
   7845   input_arg {
   7846     name: "handle"
   7847     type: DT_STRING
   7848     is_ref: true
   7849   }
   7850   output_arg {
   7851     name: "size"
   7852     type: DT_INT32
   7853   }
   7854 }
   7855 op {
   7856   name: "BarrierTakeMany"
   7857   input_arg {
   7858     name: "handle"
   7859     type: DT_STRING
   7860     is_ref: true
   7861   }
   7862   input_arg {
   7863     name: "num_elements"
   7864     type: DT_INT32
   7865   }
   7866   output_arg {
   7867     name: "indices"
   7868     type: DT_INT64
   7869   }
   7870   output_arg {
   7871     name: "keys"
   7872     type: DT_STRING
   7873   }
   7874   output_arg {
   7875     name: "values"
   7876     type_list_attr: "component_types"
   7877   }
   7878   attr {
   7879     name: "component_types"
   7880     type: "list(type)"
   7881     has_minimum: true
   7882     minimum: 1
   7883   }
   7884   attr {
   7885     name: "allow_small_batch"
   7886     type: "bool"
   7887     default_value {
   7888       b: false
   7889     }
   7890   }
   7891   attr {
   7892     name: "wait_for_incomplete"
   7893     type: "bool"
   7894     default_value {
   7895       b: false
   7896     }
   7897   }
   7898   attr {
   7899     name: "timeout_ms"
   7900     type: "int"
   7901     default_value {
   7902       i: -1
   7903     }
   7904   }
   7905 }
   7906 op {
   7907   name: "Batch"
   7908   input_arg {
   7909     name: "in_tensors"
   7910     type_list_attr: "T"
   7911   }
   7912   output_arg {
   7913     name: "batched_tensors"
   7914     type_list_attr: "T"
   7915   }
   7916   output_arg {
   7917     name: "batch_index"
   7918     type: DT_INT64
   7919   }
   7920   output_arg {
   7921     name: "id"
   7922     type: DT_INT64
   7923   }
   7924   attr {
   7925     name: "num_batch_threads"
   7926     type: "int"
   7927   }
   7928   attr {
   7929     name: "max_batch_size"
   7930     type: "int"
   7931   }
   7932   attr {
   7933     name: "batch_timeout_micros"
   7934     type: "int"
   7935   }
   7936   attr {
   7937     name: "allowed_batch_sizes"
   7938     type: "list(int)"
   7939     default_value {
   7940       list {
   7941       }
   7942     }
   7943   }
   7944   attr {
   7945     name: "grad_timeout_micros"
   7946     type: "int"
   7947   }
   7948   attr {
   7949     name: "container"
   7950     type: "string"
   7951     default_value {
   7952       s: ""
   7953     }
   7954   }
   7955   attr {
   7956     name: "shared_name"
   7957     type: "string"
   7958     default_value {
   7959       s: ""
   7960     }
   7961   }
   7962   attr {
   7963     name: "batching_queue"
   7964     type: "string"
   7965     default_value {
   7966       s: ""
   7967     }
   7968   }
   7969   attr {
   7970     name: "T"
   7971     type: "list(type)"
   7972     has_minimum: true
   7973     minimum: 1
   7974   }
   7975 }
   7976 op {
   7977   name: "Batch"
   7978   input_arg {
   7979     name: "in_tensors"
   7980     type_list_attr: "T"
   7981   }
   7982   output_arg {
   7983     name: "batched_tensors"
   7984     type_list_attr: "T"
   7985   }
   7986   output_arg {
   7987     name: "batch_index"
   7988     type: DT_INT64
   7989   }
   7990   output_arg {
   7991     name: "id"
   7992     type: DT_INT64
   7993   }
   7994   attr {
   7995     name: "num_batch_threads"
   7996     type: "int"
   7997   }
   7998   attr {
   7999     name: "max_batch_size"
   8000     type: "int"
   8001   }
   8002   attr {
   8003     name: "max_enqueued_batches"
   8004     type: "int"
   8005     default_value {
   8006       i: 10
   8007     }
   8008   }
   8009   attr {
   8010     name: "batch_timeout_micros"
   8011     type: "int"
   8012   }
   8013   attr {
   8014     name: "allowed_batch_sizes"
   8015     type: "list(int)"
   8016     default_value {
   8017       list {
   8018       }
   8019     }
   8020   }
   8021   attr {
   8022     name: "grad_timeout_micros"
   8023     type: "int"
   8024   }
   8025   attr {
   8026     name: "container"
   8027     type: "string"
   8028     default_value {
   8029       s: ""
   8030     }
   8031   }
   8032   attr {
   8033     name: "shared_name"
   8034     type: "string"
   8035     default_value {
   8036       s: ""
   8037     }
   8038   }
   8039   attr {
   8040     name: "batching_queue"
   8041     type: "string"
   8042     default_value {
   8043       s: ""
   8044     }
   8045   }
   8046   attr {
   8047     name: "T"
   8048     type: "list(type)"
   8049     has_minimum: true
   8050     minimum: 1
   8051   }
   8052 }
   8053 op {
   8054   name: "BatchCholesky"
   8055   input_arg {
   8056     name: "input"
   8057     type_attr: "T"
   8058   }
   8059   output_arg {
   8060     name: "output"
   8061     type_attr: "T"
   8062   }
   8063   attr {
   8064     name: "T"
   8065     type: "type"
   8066     allowed_values {
   8067       list {
   8068         type: DT_DOUBLE
   8069         type: DT_FLOAT
   8070       }
   8071     }
   8072   }
   8073   deprecation {
   8074     version: 13
   8075   }
   8076 }
   8077 op {
   8078   name: "BatchCholeskyGrad"
   8079   input_arg {
   8080     name: "l"
   8081     type_attr: "T"
   8082   }
   8083   input_arg {
   8084     name: "grad"
   8085     type_attr: "T"
   8086   }
   8087   output_arg {
   8088     name: "output"
   8089     type_attr: "T"
   8090   }
   8091   attr {
   8092     name: "T"
   8093     type: "type"
   8094     allowed_values {
   8095       list {
   8096         type: DT_FLOAT
   8097         type: DT_DOUBLE
   8098       }
   8099     }
   8100   }
   8101   deprecation {
   8102     version: 13
   8103   }
   8104 }
   8105 op {
   8106   name: "BatchDataset"
   8107   input_arg {
   8108     name: "input_dataset"
   8109     type: DT_VARIANT
   8110   }
   8111   input_arg {
   8112     name: "batch_size"
   8113     type: DT_INT64
   8114   }
   8115   output_arg {
   8116     name: "handle"
   8117     type: DT_VARIANT
   8118   }
   8119   attr {
   8120     name: "output_types"
   8121     type: "list(type)"
   8122     has_minimum: true
   8123     minimum: 1
   8124   }
   8125   attr {
   8126     name: "output_shapes"
   8127     type: "list(shape)"
   8128     has_minimum: true
   8129     minimum: 1
   8130   }
   8131   is_stateful: true
   8132 }
   8133 op {
   8134   name: "BatchDataset"
   8135   input_arg {
   8136     name: "input_dataset"
   8137     type: DT_VARIANT
   8138   }
   8139   input_arg {
   8140     name: "batch_size"
   8141     type: DT_INT64
   8142   }
   8143   output_arg {
   8144     name: "handle"
   8145     type: DT_VARIANT
   8146   }
   8147   attr {
   8148     name: "output_types"
   8149     type: "list(type)"
   8150     has_minimum: true
   8151     minimum: 1
   8152   }
   8153   attr {
   8154     name: "output_shapes"
   8155     type: "list(shape)"
   8156     has_minimum: true
   8157     minimum: 1
   8158   }
   8159 }
   8160 op {
   8161   name: "BatchFFT"
   8162   input_arg {
   8163     name: "input"
   8164     type: DT_COMPLEX64
   8165   }
   8166   output_arg {
   8167     name: "output"
   8168     type: DT_COMPLEX64
   8169   }
   8170   deprecation {
   8171     version: 15
   8172   }
   8173 }
   8174 op {
   8175   name: "BatchFFT2D"
   8176   input_arg {
   8177     name: "input"
   8178     type: DT_COMPLEX64
   8179   }
   8180   output_arg {
   8181     name: "output"
   8182     type: DT_COMPLEX64
   8183   }
   8184   deprecation {
   8185     version: 15
   8186   }
   8187 }
   8188 op {
   8189   name: "BatchFFT3D"
   8190   input_arg {
   8191     name: "input"
   8192     type: DT_COMPLEX64
   8193   }
   8194   output_arg {
   8195     name: "output"
   8196     type: DT_COMPLEX64
   8197   }
   8198   deprecation {
   8199     version: 15
   8200   }
   8201 }
   8202 op {
   8203   name: "BatchIFFT"
   8204   input_arg {
   8205     name: "input"
   8206     type: DT_COMPLEX64
   8207   }
   8208   output_arg {
   8209     name: "output"
   8210     type: DT_COMPLEX64
   8211   }
   8212   deprecation {
   8213     version: 15
   8214   }
   8215 }
   8216 op {
   8217   name: "BatchIFFT2D"
   8218   input_arg {
   8219     name: "input"
   8220     type: DT_COMPLEX64
   8221   }
   8222   output_arg {
   8223     name: "output"
   8224     type: DT_COMPLEX64
   8225   }
   8226   deprecation {
   8227     version: 15
   8228   }
   8229 }
   8230 op {
   8231   name: "BatchIFFT3D"
   8232   input_arg {
   8233     name: "input"
   8234     type: DT_COMPLEX64
   8235   }
   8236   output_arg {
   8237     name: "output"
   8238     type: DT_COMPLEX64
   8239   }
   8240   deprecation {
   8241     version: 15
   8242   }
   8243 }
   8244 op {
   8245   name: "BatchMatMul"
   8246   input_arg {
   8247     name: "x"
   8248     type_attr: "T"
   8249   }
   8250   input_arg {
   8251     name: "y"
   8252     type_attr: "T"
   8253   }
   8254   output_arg {
   8255     name: "output"
   8256     type_attr: "T"
   8257   }
   8258   attr {
   8259     name: "T"
   8260     type: "type"
   8261     allowed_values {
   8262       list {
   8263         type: DT_HALF
   8264         type: DT_FLOAT
   8265         type: DT_DOUBLE
   8266         type: DT_INT32
   8267         type: DT_COMPLEX64
   8268         type: DT_COMPLEX128
   8269       }
   8270     }
   8271   }
   8272   attr {
   8273     name: "adj_x"
   8274     type: "bool"
   8275     default_value {
   8276       b: false
   8277     }
   8278   }
   8279   attr {
   8280     name: "adj_y"
   8281     type: "bool"
   8282     default_value {
   8283       b: false
   8284     }
   8285   }
   8286 }
   8287 op {
   8288   name: "BatchMatMul"
   8289   input_arg {
   8290     name: "x"
   8291     type_attr: "T"
   8292   }
   8293   input_arg {
   8294     name: "y"
   8295     type_attr: "T"
   8296   }
   8297   output_arg {
   8298     name: "output"
   8299     type_attr: "T"
   8300   }
   8301   attr {
   8302     name: "T"
   8303     type: "type"
   8304     allowed_values {
   8305       list {
   8306         type: DT_HALF
   8307         type: DT_BFLOAT16
   8308         type: DT_FLOAT
   8309         type: DT_DOUBLE
   8310         type: DT_INT32
   8311         type: DT_COMPLEX64
   8312         type: DT_COMPLEX128
   8313       }
   8314     }
   8315   }
   8316   attr {
   8317     name: "adj_x"
   8318     type: "bool"
   8319     default_value {
   8320       b: false
   8321     }
   8322   }
   8323   attr {
   8324     name: "adj_y"
   8325     type: "bool"
   8326     default_value {
   8327       b: false
   8328     }
   8329   }
   8330 }
   8331 op {
   8332   name: "BatchMatrixBandPart"
   8333   input_arg {
   8334     name: "input"
   8335     type_attr: "T"
   8336   }
   8337   input_arg {
   8338     name: "num_lower"
   8339     type: DT_INT64
   8340   }
   8341   input_arg {
   8342     name: "num_upper"
   8343     type: DT_INT64
   8344   }
   8345   output_arg {
   8346     name: "band"
   8347     type_attr: "T"
   8348   }
   8349   attr {
   8350     name: "T"
   8351     type: "type"
   8352   }
   8353   deprecation {
   8354     version: 14
   8355   }
   8356 }
   8357 op {
   8358   name: "BatchMatrixDeterminant"
   8359   input_arg {
   8360     name: "input"
   8361     type_attr: "T"
   8362   }
   8363   output_arg {
   8364     name: "output"
   8365     type_attr: "T"
   8366   }
   8367   attr {
   8368     name: "T"
   8369     type: "type"
   8370     allowed_values {
   8371       list {
   8372         type: DT_FLOAT
   8373         type: DT_DOUBLE
   8374       }
   8375     }
   8376   }
   8377   deprecation {
   8378     version: 13
   8379   }
   8380 }
   8381 op {
   8382   name: "BatchMatrixDeterminant"
   8383   input_arg {
   8384     name: "input"
   8385     type_attr: "T"
   8386   }
   8387   output_arg {
   8388     name: "output"
   8389     type_attr: "T"
   8390   }
   8391   attr {
   8392     name: "T"
   8393     type: "type"
   8394     allowed_values {
   8395       list {
   8396         type: DT_FLOAT
   8397         type: DT_DOUBLE
   8398         type: DT_COMPLEX64
   8399         type: DT_COMPLEX128
   8400       }
   8401     }
   8402   }
   8403   deprecation {
   8404     version: 13
   8405   }
   8406 }
   8407 op {
   8408   name: "BatchMatrixDiag"
   8409   input_arg {
   8410     name: "diagonal"
   8411     type_attr: "T"
   8412   }
   8413   output_arg {
   8414     name: "output"
   8415     type_attr: "T"
   8416   }
   8417   attr {
   8418     name: "T"
   8419     type: "type"
   8420   }
   8421   deprecation {
   8422     version: 14
   8423   }
   8424 }
   8425 op {
   8426   name: "BatchMatrixDiagPart"
   8427   input_arg {
   8428     name: "input"
   8429     type_attr: "T"
   8430   }
   8431   output_arg {
   8432     name: "diagonal"
   8433     type_attr: "T"
   8434   }
   8435   attr {
   8436     name: "T"
   8437     type: "type"
   8438   }
   8439   deprecation {
   8440     version: 14
   8441   }
   8442 }
   8443 op {
   8444   name: "BatchMatrixInverse"
   8445   input_arg {
   8446     name: "input"
   8447     type_attr: "T"
   8448   }
   8449   output_arg {
   8450     name: "output"
   8451     type_attr: "T"
   8452   }
   8453   attr {
   8454     name: "adjoint"
   8455     type: "bool"
   8456     default_value {
   8457       b: false
   8458     }
   8459   }
   8460   attr {
   8461     name: "T"
   8462     type: "type"
   8463     allowed_values {
   8464       list {
   8465         type: DT_DOUBLE
   8466         type: DT_FLOAT
   8467       }
   8468     }
   8469   }
   8470   deprecation {
   8471     version: 13
   8472   }
   8473 }
   8474 op {
   8475   name: "BatchMatrixSetDiag"
   8476   input_arg {
   8477     name: "input"
   8478     type_attr: "T"
   8479   }
   8480   input_arg {
   8481     name: "diagonal"
   8482     type_attr: "T"
   8483   }
   8484   output_arg {
   8485     name: "output"
   8486     type_attr: "T"
   8487   }
   8488   attr {
   8489     name: "T"
   8490     type: "type"
   8491   }
   8492   deprecation {
   8493     version: 14
   8494   }
   8495 }
   8496 op {
   8497   name: "BatchMatrixSolve"
   8498   input_arg {
   8499     name: "matrix"
   8500     type_attr: "T"
   8501   }
   8502   input_arg {
   8503     name: "rhs"
   8504     type_attr: "T"
   8505   }
   8506   output_arg {
   8507     name: "output"
   8508     type_attr: "T"
   8509   }
   8510   attr {
   8511     name: "adjoint"
   8512     type: "bool"
   8513     default_value {
   8514       b: false
   8515     }
   8516   }
   8517   attr {
   8518     name: "T"
   8519     type: "type"
   8520     allowed_values {
   8521       list {
   8522         type: DT_DOUBLE
   8523         type: DT_FLOAT
   8524       }
   8525     }
   8526   }
   8527   deprecation {
   8528     version: 13
   8529   }
   8530 }
   8531 op {
   8532   name: "BatchMatrixSolveLs"
   8533   input_arg {
   8534     name: "matrix"
   8535     type_attr: "T"
   8536   }
   8537   input_arg {
   8538     name: "rhs"
   8539     type_attr: "T"
   8540   }
   8541   input_arg {
   8542     name: "l2_regularizer"
   8543     type: DT_DOUBLE
   8544   }
   8545   output_arg {
   8546     name: "output"
   8547     type_attr: "T"
   8548   }
   8549   attr {
   8550     name: "T"
   8551     type: "type"
   8552     allowed_values {
   8553       list {
   8554         type: DT_DOUBLE
   8555         type: DT_FLOAT
   8556       }
   8557     }
   8558   }
   8559   attr {
   8560     name: "fast"
   8561     type: "bool"
   8562     default_value {
   8563       b: true
   8564     }
   8565   }
   8566   deprecation {
   8567     version: 13
   8568   }
   8569 }
   8570 op {
   8571   name: "BatchMatrixTriangularSolve"
   8572   input_arg {
   8573     name: "matrix"
   8574     type_attr: "T"
   8575   }
   8576   input_arg {
   8577     name: "rhs"
   8578     type_attr: "T"
   8579   }
   8580   output_arg {
   8581     name: "output"
   8582     type_attr: "T"
   8583   }
   8584   attr {
   8585     name: "lower"
   8586     type: "bool"
   8587     default_value {
   8588       b: true
   8589     }
   8590   }
   8591   attr {
   8592     name: "adjoint"
   8593     type: "bool"
   8594     default_value {
   8595       b: false
   8596     }
   8597   }
   8598   attr {
   8599     name: "T"
   8600     type: "type"
   8601     allowed_values {
   8602       list {
   8603         type: DT_DOUBLE
   8604         type: DT_FLOAT
   8605       }
   8606     }
   8607   }
   8608   deprecation {
   8609     version: 13
   8610   }
   8611 }
   8612 op {
   8613   name: "BatchNormWithGlobalNormalization"
   8614   input_arg {
   8615     name: "t"
   8616     type_attr: "T"
   8617   }
   8618   input_arg {
   8619     name: "m"
   8620     type_attr: "T"
   8621   }
   8622   input_arg {
   8623     name: "v"
   8624     type_attr: "T"
   8625   }
   8626   input_arg {
   8627     name: "beta"
   8628     type_attr: "T"
   8629   }
   8630   input_arg {
   8631     name: "gamma"
   8632     type_attr: "T"
   8633   }
   8634   output_arg {
   8635     name: "result"
   8636     type_attr: "T"
   8637   }
   8638   attr {
   8639     name: "T"
   8640     type: "type"
   8641     allowed_values {
   8642       list {
   8643         type: DT_FLOAT
   8644         type: DT_DOUBLE
   8645         type: DT_INT64
   8646         type: DT_INT32
   8647         type: DT_UINT8
   8648         type: DT_UINT16
   8649         type: DT_INT16
   8650         type: DT_INT8
   8651         type: DT_COMPLEX64
   8652         type: DT_COMPLEX128
   8653         type: DT_QINT8
   8654         type: DT_QUINT8
   8655         type: DT_QINT32
   8656         type: DT_HALF
   8657       }
   8658     }
   8659   }
   8660   attr {
   8661     name: "variance_epsilon"
   8662     type: "float"
   8663   }
   8664   attr {
   8665     name: "scale_after_normalization"
   8666     type: "bool"
   8667   }
   8668   deprecation {
   8669     version: 9
   8670   }
   8671 }
   8672 op {
   8673   name: "BatchNormWithGlobalNormalization"
   8674   input_arg {
   8675     name: "t"
   8676     type_attr: "T"
   8677   }
   8678   input_arg {
   8679     name: "m"
   8680     type_attr: "T"
   8681   }
   8682   input_arg {
   8683     name: "v"
   8684     type_attr: "T"
   8685   }
   8686   input_arg {
   8687     name: "beta"
   8688     type_attr: "T"
   8689   }
   8690   input_arg {
   8691     name: "gamma"
   8692     type_attr: "T"
   8693   }
   8694   output_arg {
   8695     name: "result"
   8696     type_attr: "T"
   8697   }
   8698   attr {
   8699     name: "T"
   8700     type: "type"
   8701     allowed_values {
   8702       list {
   8703         type: DT_FLOAT
   8704         type: DT_DOUBLE
   8705         type: DT_INT64
   8706         type: DT_INT32
   8707         type: DT_UINT8
   8708         type: DT_UINT16
   8709         type: DT_INT16
   8710         type: DT_INT8
   8711         type: DT_COMPLEX64
   8712         type: DT_COMPLEX128
   8713         type: DT_QINT8
   8714         type: DT_QUINT8
   8715         type: DT_QINT32
   8716         type: DT_HALF
   8717         type: DT_UINT32
   8718         type: DT_UINT64
   8719       }
   8720     }
   8721   }
   8722   attr {
   8723     name: "variance_epsilon"
   8724     type: "float"
   8725   }
   8726   attr {
   8727     name: "scale_after_normalization"
   8728     type: "bool"
   8729   }
   8730   deprecation {
   8731     version: 9
   8732   }
   8733 }
   8734 op {
   8735   name: "BatchNormWithGlobalNormalization"
   8736   input_arg {
   8737     name: "t"
   8738     type_attr: "T"
   8739   }
   8740   input_arg {
   8741     name: "m"
   8742     type_attr: "T"
   8743   }
   8744   input_arg {
   8745     name: "v"
   8746     type_attr: "T"
   8747   }
   8748   input_arg {
   8749     name: "beta"
   8750     type_attr: "T"
   8751   }
   8752   input_arg {
   8753     name: "gamma"
   8754     type_attr: "T"
   8755   }
   8756   output_arg {
   8757     name: "result"
   8758     type_attr: "T"
   8759   }
   8760   attr {
   8761     name: "T"
   8762     type: "type"
   8763     allowed_values {
   8764       list {
   8765         type: DT_FLOAT
   8766         type: DT_DOUBLE
   8767         type: DT_INT64
   8768         type: DT_INT32
   8769         type: DT_UINT8
   8770         type: DT_UINT16
   8771         type: DT_INT16
   8772         type: DT_INT8
   8773         type: DT_COMPLEX64
   8774         type: DT_COMPLEX128
   8775         type: DT_QINT8
   8776         type: DT_QUINT8
   8777         type: DT_QINT32
   8778         type: DT_HALF
   8779         type: DT_UINT32
   8780         type: DT_UINT64
   8781         type: DT_BFLOAT16
   8782       }
   8783     }
   8784   }
   8785   attr {
   8786     name: "variance_epsilon"
   8787     type: "float"
   8788   }
   8789   attr {
   8790     name: "scale_after_normalization"
   8791     type: "bool"
   8792   }
   8793   deprecation {
   8794     version: 9
   8795   }
   8796 }
   8797 op {
   8798   name: "BatchNormWithGlobalNormalization"
   8799   input_arg {
   8800     name: "t"
   8801     type_attr: "T"
   8802   }
   8803   input_arg {
   8804     name: "m"
   8805     type_attr: "T"
   8806   }
   8807   input_arg {
   8808     name: "v"
   8809     type_attr: "T"
   8810   }
   8811   input_arg {
   8812     name: "beta"
   8813     type_attr: "T"
   8814   }
   8815   input_arg {
   8816     name: "gamma"
   8817     type_attr: "T"
   8818   }
   8819   output_arg {
   8820     name: "result"
   8821     type_attr: "T"
   8822   }
   8823   attr {
   8824     name: "T"
   8825     type: "type"
   8826     allowed_values {
   8827       list {
   8828         type: DT_FLOAT
   8829         type: DT_DOUBLE
   8830         type: DT_INT32
   8831         type: DT_UINT8
   8832         type: DT_INT16
   8833         type: DT_INT8
   8834         type: DT_COMPLEX64
   8835         type: DT_INT64
   8836         type: DT_QINT8
   8837         type: DT_QUINT8
   8838         type: DT_QINT32
   8839         type: DT_BFLOAT16
   8840         type: DT_UINT16
   8841         type: DT_COMPLEX128
   8842         type: DT_HALF
   8843         type: DT_UINT32
   8844         type: DT_UINT64
   8845       }
   8846     }
   8847   }
   8848   attr {
   8849     name: "variance_epsilon"
   8850     type: "float"
   8851   }
   8852   attr {
   8853     name: "scale_after_normalization"
   8854     type: "bool"
   8855   }
   8856   deprecation {
   8857     version: 9
   8858   }
   8859 }
   8860 op {
   8861   name: "BatchNormWithGlobalNormalizationGrad"
   8862   input_arg {
   8863     name: "t"
   8864     type_attr: "T"
   8865   }
   8866   input_arg {
   8867     name: "m"
   8868     type_attr: "T"
   8869   }
   8870   input_arg {
   8871     name: "v"
   8872     type_attr: "T"
   8873   }
   8874   input_arg {
   8875     name: "gamma"
   8876     type_attr: "T"
   8877   }
   8878   input_arg {
   8879     name: "backprop"
   8880     type_attr: "T"
   8881   }
   8882   output_arg {
   8883     name: "dx"
   8884     type_attr: "T"
   8885   }
   8886   output_arg {
   8887     name: "dm"
   8888     type_attr: "T"
   8889   }
   8890   output_arg {
   8891     name: "dv"
   8892     type_attr: "T"
   8893   }
   8894   output_arg {
   8895     name: "db"
   8896     type_attr: "T"
   8897   }
   8898   output_arg {
   8899     name: "dg"
   8900     type_attr: "T"
   8901   }
   8902   attr {
   8903     name: "T"
   8904     type: "type"
   8905     allowed_values {
   8906       list {
   8907         type: DT_FLOAT
   8908         type: DT_DOUBLE
   8909         type: DT_INT64
   8910         type: DT_INT32
   8911         type: DT_UINT8
   8912         type: DT_UINT16
   8913         type: DT_INT16
   8914         type: DT_INT8
   8915         type: DT_COMPLEX64
   8916         type: DT_COMPLEX128
   8917         type: DT_QINT8
   8918         type: DT_QUINT8
   8919         type: DT_QINT32
   8920         type: DT_HALF
   8921       }
   8922     }
   8923   }
   8924   attr {
   8925     name: "variance_epsilon"
   8926     type: "float"
   8927   }
   8928   attr {
   8929     name: "scale_after_normalization"
   8930     type: "bool"
   8931   }
   8932   deprecation {
   8933     version: 9
   8934   }
   8935 }
   8936 op {
   8937   name: "BatchNormWithGlobalNormalizationGrad"
   8938   input_arg {
   8939     name: "t"
   8940     type_attr: "T"
   8941   }
   8942   input_arg {
   8943     name: "m"
   8944     type_attr: "T"
   8945   }
   8946   input_arg {
   8947     name: "v"
   8948     type_attr: "T"
   8949   }
   8950   input_arg {
   8951     name: "gamma"
   8952     type_attr: "T"
   8953   }
   8954   input_arg {
   8955     name: "backprop"
   8956     type_attr: "T"
   8957   }
   8958   output_arg {
   8959     name: "dx"
   8960     type_attr: "T"
   8961   }
   8962   output_arg {
   8963     name: "dm"
   8964     type_attr: "T"
   8965   }
   8966   output_arg {
   8967     name: "dv"
   8968     type_attr: "T"
   8969   }
   8970   output_arg {
   8971     name: "db"
   8972     type_attr: "T"
   8973   }
   8974   output_arg {
   8975     name: "dg"
   8976     type_attr: "T"
   8977   }
   8978   attr {
   8979     name: "T"
   8980     type: "type"
   8981     allowed_values {
   8982       list {
   8983         type: DT_FLOAT
   8984         type: DT_DOUBLE
   8985         type: DT_INT64
   8986         type: DT_INT32
   8987         type: DT_UINT8
   8988         type: DT_UINT16
   8989         type: DT_INT16
   8990         type: DT_INT8
   8991         type: DT_COMPLEX64
   8992         type: DT_COMPLEX128
   8993         type: DT_QINT8
   8994         type: DT_QUINT8
   8995         type: DT_QINT32
   8996         type: DT_HALF
   8997         type: DT_UINT32
   8998         type: DT_UINT64
   8999       }
   9000     }
   9001   }
   9002   attr {
   9003     name: "variance_epsilon"
   9004     type: "float"
   9005   }
   9006   attr {
   9007     name: "scale_after_normalization"
   9008     type: "bool"
   9009   }
   9010   deprecation {
   9011     version: 9
   9012   }
   9013 }
   9014 op {
   9015   name: "BatchNormWithGlobalNormalizationGrad"
   9016   input_arg {
   9017     name: "t"
   9018     type_attr: "T"
   9019   }
   9020   input_arg {
   9021     name: "m"
   9022     type_attr: "T"
   9023   }
   9024   input_arg {
   9025     name: "v"
   9026     type_attr: "T"
   9027   }
   9028   input_arg {
   9029     name: "gamma"
   9030     type_attr: "T"
   9031   }
   9032   input_arg {
   9033     name: "backprop"
   9034     type_attr: "T"
   9035   }
   9036   output_arg {
   9037     name: "dx"
   9038     type_attr: "T"
   9039   }
   9040   output_arg {
   9041     name: "dm"
   9042     type_attr: "T"
   9043   }
   9044   output_arg {
   9045     name: "dv"
   9046     type_attr: "T"
   9047   }
   9048   output_arg {
   9049     name: "db"
   9050     type_attr: "T"
   9051   }
   9052   output_arg {
   9053     name: "dg"
   9054     type_attr: "T"
   9055   }
   9056   attr {
   9057     name: "T"
   9058     type: "type"
   9059     allowed_values {
   9060       list {
   9061         type: DT_FLOAT
   9062         type: DT_DOUBLE
   9063         type: DT_INT64
   9064         type: DT_INT32
   9065         type: DT_UINT8
   9066         type: DT_UINT16
   9067         type: DT_INT16
   9068         type: DT_INT8
   9069         type: DT_COMPLEX64
   9070         type: DT_COMPLEX128
   9071         type: DT_QINT8
   9072         type: DT_QUINT8
   9073         type: DT_QINT32
   9074         type: DT_HALF
   9075         type: DT_UINT32
   9076         type: DT_UINT64
   9077         type: DT_BFLOAT16
   9078       }
   9079     }
   9080   }
   9081   attr {
   9082     name: "variance_epsilon"
   9083     type: "float"
   9084   }
   9085   attr {
   9086     name: "scale_after_normalization"
   9087     type: "bool"
   9088   }
   9089   deprecation {
   9090     version: 9
   9091   }
   9092 }
   9093 op {
   9094   name: "BatchNormWithGlobalNormalizationGrad"
   9095   input_arg {
   9096     name: "t"
   9097     type_attr: "T"
   9098   }
   9099   input_arg {
   9100     name: "m"
   9101     type_attr: "T"
   9102   }
   9103   input_arg {
   9104     name: "v"
   9105     type_attr: "T"
   9106   }
   9107   input_arg {
   9108     name: "gamma"
   9109     type_attr: "T"
   9110   }
   9111   input_arg {
   9112     name: "backprop"
   9113     type_attr: "T"
   9114   }
   9115   output_arg {
   9116     name: "dx"
   9117     type_attr: "T"
   9118   }
   9119   output_arg {
   9120     name: "dm"
   9121     type_attr: "T"
   9122   }
   9123   output_arg {
   9124     name: "dv"
   9125     type_attr: "T"
   9126   }
   9127   output_arg {
   9128     name: "db"
   9129     type_attr: "T"
   9130   }
   9131   output_arg {
   9132     name: "dg"
   9133     type_attr: "T"
   9134   }
   9135   attr {
   9136     name: "T"
   9137     type: "type"
   9138     allowed_values {
   9139       list {
   9140         type: DT_FLOAT
   9141         type: DT_DOUBLE
   9142         type: DT_INT32
   9143         type: DT_UINT8
   9144         type: DT_INT16
   9145         type: DT_INT8
   9146         type: DT_COMPLEX64
   9147         type: DT_INT64
   9148         type: DT_QINT8
   9149         type: DT_QUINT8
   9150         type: DT_QINT32
   9151         type: DT_BFLOAT16
   9152         type: DT_UINT16
   9153         type: DT_COMPLEX128
   9154         type: DT_HALF
   9155         type: DT_UINT32
   9156         type: DT_UINT64
   9157       }
   9158     }
   9159   }
   9160   attr {
   9161     name: "variance_epsilon"
   9162     type: "float"
   9163   }
   9164   attr {
   9165     name: "scale_after_normalization"
   9166     type: "bool"
   9167   }
   9168   deprecation {
   9169     version: 9
   9170   }
   9171 }
   9172 op {
   9173   name: "BatchSelfAdjointEig"
   9174   input_arg {
   9175     name: "input"
   9176     type_attr: "T"
   9177   }
   9178   output_arg {
   9179     name: "output"
   9180     type_attr: "T"
   9181   }
   9182   attr {
   9183     name: "T"
   9184     type: "type"
   9185     allowed_values {
   9186       list {
   9187         type: DT_DOUBLE
   9188         type: DT_FLOAT
   9189       }
   9190     }
   9191   }
   9192   deprecation {
   9193     version: 11
   9194   }
   9195 }
   9196 op {
   9197   name: "BatchSelfAdjointEigV2"
   9198   input_arg {
   9199     name: "input"
   9200     type_attr: "T"
   9201   }
   9202   output_arg {
   9203     name: "e"
   9204     type_attr: "T"
   9205   }
   9206   output_arg {
   9207     name: "v"
   9208     type_attr: "T"
   9209   }
   9210   attr {
   9211     name: "compute_v"
   9212     type: "bool"
   9213     default_value {
   9214       b: true
   9215     }
   9216   }
   9217   attr {
   9218     name: "T"
   9219     type: "type"
   9220     allowed_values {
   9221       list {
   9222         type: DT_DOUBLE
   9223         type: DT_FLOAT
   9224       }
   9225     }
   9226   }
   9227   deprecation {
   9228     version: 13
   9229   }
   9230 }
   9231 op {
   9232   name: "BatchSvd"
   9233   input_arg {
   9234     name: "input"
   9235     type_attr: "T"
   9236   }
   9237   output_arg {
   9238     name: "s"
   9239     type_attr: "T"
   9240   }
   9241   output_arg {
   9242     name: "u"
   9243     type_attr: "T"
   9244   }
   9245   output_arg {
   9246     name: "v"
   9247     type_attr: "T"
   9248   }
   9249   attr {
   9250     name: "compute_uv"
   9251     type: "bool"
   9252     default_value {
   9253       b: true
   9254     }
   9255   }
   9256   attr {
   9257     name: "full_matrices"
   9258     type: "bool"
   9259     default_value {
   9260       b: false
   9261     }
   9262   }
   9263   attr {
   9264     name: "T"
   9265     type: "type"
   9266     allowed_values {
   9267       list {
   9268         type: DT_DOUBLE
   9269         type: DT_FLOAT
   9270         type: DT_COMPLEX64
   9271         type: DT_COMPLEX128
   9272       }
   9273     }
   9274   }
   9275   deprecation {
   9276     version: 13
   9277   }
   9278 }
   9279 op {
   9280   name: "BatchToSpace"
   9281   input_arg {
   9282     name: "input"
   9283     type_attr: "T"
   9284   }
   9285   input_arg {
   9286     name: "crops"
   9287     type_attr: "Tidx"
   9288   }
   9289   output_arg {
   9290     name: "output"
   9291     type_attr: "T"
   9292   }
   9293   attr {
   9294     name: "T"
   9295     type: "type"
   9296   }
   9297   attr {
   9298     name: "block_size"
   9299     type: "int"
   9300     has_minimum: true
   9301     minimum: 2
   9302   }
   9303   attr {
   9304     name: "Tidx"
   9305     type: "type"
   9306     default_value {
   9307       type: DT_INT32
   9308     }
   9309     allowed_values {
   9310       list {
   9311         type: DT_INT32
   9312         type: DT_INT64
   9313       }
   9314     }
   9315   }
   9316 }
   9317 op {
   9318   name: "BatchToSpaceND"
   9319   input_arg {
   9320     name: "input"
   9321     type_attr: "T"
   9322   }
   9323   input_arg {
   9324     name: "block_shape"
   9325     type_attr: "Tblock_shape"
   9326   }
   9327   input_arg {
   9328     name: "crops"
   9329     type_attr: "Tcrops"
   9330   }
   9331   output_arg {
   9332     name: "output"
   9333     type_attr: "T"
   9334   }
   9335   attr {
   9336     name: "T"
   9337     type: "type"
   9338   }
   9339   attr {
   9340     name: "Tblock_shape"
   9341     type: "type"
   9342     default_value {
   9343       type: DT_INT32
   9344     }
   9345     allowed_values {
   9346       list {
   9347         type: DT_INT32
   9348         type: DT_INT64
   9349       }
   9350     }
   9351   }
   9352   attr {
   9353     name: "Tcrops"
   9354     type: "type"
   9355     default_value {
   9356       type: DT_INT32
   9357     }
   9358     allowed_values {
   9359       list {
   9360         type: DT_INT32
   9361         type: DT_INT64
   9362       }
   9363     }
   9364   }
   9365 }
   9366 op {
   9367   name: "Betainc"
   9368   input_arg {
   9369     name: "a"
   9370     type_attr: "T"
   9371   }
   9372   input_arg {
   9373     name: "b"
   9374     type_attr: "T"
   9375   }
   9376   input_arg {
   9377     name: "x"
   9378     type_attr: "T"
   9379   }
   9380   output_arg {
   9381     name: "z"
   9382     type_attr: "T"
   9383   }
   9384   attr {
   9385     name: "T"
   9386     type: "type"
   9387     allowed_values {
   9388       list {
   9389         type: DT_FLOAT
   9390         type: DT_DOUBLE
   9391       }
   9392     }
   9393   }
   9394 }
   9395 op {
   9396   name: "BiasAdd"
   9397   input_arg {
   9398     name: "value"
   9399     type_attr: "T"
   9400   }
   9401   input_arg {
   9402     name: "bias"
   9403     type_attr: "T"
   9404   }
   9405   output_arg {
   9406     name: "output"
   9407     type_attr: "T"
   9408   }
   9409   attr {
   9410     name: "T"
   9411     type: "type"
   9412     allowed_values {
   9413       list {
   9414         type: DT_FLOAT
   9415         type: DT_DOUBLE
   9416         type: DT_INT64
   9417         type: DT_INT32
   9418         type: DT_UINT8
   9419         type: DT_UINT16
   9420         type: DT_INT16
   9421         type: DT_INT8
   9422         type: DT_COMPLEX64
   9423         type: DT_COMPLEX128
   9424         type: DT_QINT8
   9425         type: DT_QUINT8
   9426         type: DT_QINT32
   9427         type: DT_HALF
   9428       }
   9429     }
   9430   }
   9431   attr {
   9432     name: "data_format"
   9433     type: "string"
   9434     default_value {
   9435       s: "NHWC"
   9436     }
   9437     allowed_values {
   9438       list {
   9439         s: "NHWC"
   9440         s: "NCHW"
   9441       }
   9442     }
   9443   }
   9444 }
   9445 op {
   9446   name: "BiasAdd"
   9447   input_arg {
   9448     name: "value"
   9449     type_attr: "T"
   9450   }
   9451   input_arg {
   9452     name: "bias"
   9453     type_attr: "T"
   9454   }
   9455   output_arg {
   9456     name: "output"
   9457     type_attr: "T"
   9458   }
   9459   attr {
   9460     name: "T"
   9461     type: "type"
   9462     allowed_values {
   9463       list {
   9464         type: DT_FLOAT
   9465         type: DT_DOUBLE
   9466         type: DT_INT64
   9467         type: DT_INT32
   9468         type: DT_UINT8
   9469         type: DT_UINT16
   9470         type: DT_INT16
   9471         type: DT_INT8
   9472         type: DT_COMPLEX64
   9473         type: DT_COMPLEX128
   9474         type: DT_QINT8
   9475         type: DT_QUINT8
   9476         type: DT_QINT32
   9477         type: DT_HALF
   9478         type: DT_UINT32
   9479         type: DT_UINT64
   9480       }
   9481     }
   9482   }
   9483   attr {
   9484     name: "data_format"
   9485     type: "string"
   9486     default_value {
   9487       s: "NHWC"
   9488     }
   9489     allowed_values {
   9490       list {
   9491         s: "NHWC"
   9492         s: "NCHW"
   9493       }
   9494     }
   9495   }
   9496 }
   9497 op {
   9498   name: "BiasAdd"
   9499   input_arg {
   9500     name: "value"
   9501     type_attr: "T"
   9502   }
   9503   input_arg {
   9504     name: "bias"
   9505     type_attr: "T"
   9506   }
   9507   output_arg {
   9508     name: "output"
   9509     type_attr: "T"
   9510   }
   9511   attr {
   9512     name: "T"
   9513     type: "type"
   9514     allowed_values {
   9515       list {
   9516         type: DT_FLOAT
   9517         type: DT_DOUBLE
   9518         type: DT_INT64
   9519         type: DT_INT32
   9520         type: DT_UINT8
   9521         type: DT_UINT16
   9522         type: DT_INT16
   9523         type: DT_INT8
   9524         type: DT_COMPLEX64
   9525         type: DT_COMPLEX128
   9526         type: DT_QINT8
   9527         type: DT_QUINT8
   9528         type: DT_QINT32
   9529         type: DT_HALF
   9530         type: DT_UINT32
   9531         type: DT_UINT64
   9532         type: DT_BFLOAT16
   9533       }
   9534     }
   9535   }
   9536   attr {
   9537     name: "data_format"
   9538     type: "string"
   9539     default_value {
   9540       s: "NHWC"
   9541     }
   9542     allowed_values {
   9543       list {
   9544         s: "NHWC"
   9545         s: "NCHW"
   9546       }
   9547     }
   9548   }
   9549 }
   9550 op {
   9551   name: "BiasAdd"
   9552   input_arg {
   9553     name: "value"
   9554     type_attr: "T"
   9555   }
   9556   input_arg {
   9557     name: "bias"
   9558     type_attr: "T"
   9559   }
   9560   output_arg {
   9561     name: "output"
   9562     type_attr: "T"
   9563   }
   9564   attr {
   9565     name: "T"
   9566     type: "type"
   9567     allowed_values {
   9568       list {
   9569         type: DT_FLOAT
   9570         type: DT_DOUBLE
   9571         type: DT_INT32
   9572         type: DT_UINT8
   9573         type: DT_INT16
   9574         type: DT_INT8
   9575         type: DT_COMPLEX64
   9576         type: DT_INT64
   9577         type: DT_QINT8
   9578         type: DT_QUINT8
   9579         type: DT_QINT32
   9580         type: DT_BFLOAT16
   9581         type: DT_UINT16
   9582         type: DT_COMPLEX128
   9583         type: DT_HALF
   9584         type: DT_UINT32
   9585         type: DT_UINT64
   9586       }
   9587     }
   9588   }
   9589   attr {
   9590     name: "data_format"
   9591     type: "string"
   9592     default_value {
   9593       s: "NHWC"
   9594     }
   9595     allowed_values {
   9596       list {
   9597         s: "NHWC"
   9598         s: "NCHW"
   9599       }
   9600     }
   9601   }
   9602 }
   9603 op {
   9604   name: "BiasAddGrad"
   9605   input_arg {
   9606     name: "out_backprop"
   9607     type_attr: "T"
   9608   }
   9609   output_arg {
   9610     name: "output"
   9611     type_attr: "T"
   9612   }
   9613   attr {
   9614     name: "T"
   9615     type: "type"
   9616     allowed_values {
   9617       list {
   9618         type: DT_FLOAT
   9619         type: DT_DOUBLE
   9620         type: DT_INT64
   9621         type: DT_INT32
   9622         type: DT_UINT8
   9623         type: DT_UINT16
   9624         type: DT_INT16
   9625         type: DT_INT8
   9626         type: DT_COMPLEX64
   9627         type: DT_COMPLEX128
   9628         type: DT_QINT8
   9629         type: DT_QUINT8
   9630         type: DT_QINT32
   9631         type: DT_HALF
   9632       }
   9633     }
   9634   }
   9635   attr {
   9636     name: "data_format"
   9637     type: "string"
   9638     default_value {
   9639       s: "NHWC"
   9640     }
   9641     allowed_values {
   9642       list {
   9643         s: "NHWC"
   9644         s: "NCHW"
   9645       }
   9646     }
   9647   }
   9648 }
   9649 op {
   9650   name: "BiasAddGrad"
   9651   input_arg {
   9652     name: "out_backprop"
   9653     type_attr: "T"
   9654   }
   9655   output_arg {
   9656     name: "output"
   9657     type_attr: "T"
   9658   }
   9659   attr {
   9660     name: "T"
   9661     type: "type"
   9662     allowed_values {
   9663       list {
   9664         type: DT_FLOAT
   9665         type: DT_DOUBLE
   9666         type: DT_INT64
   9667         type: DT_INT32
   9668         type: DT_UINT8
   9669         type: DT_UINT16
   9670         type: DT_INT16
   9671         type: DT_INT8
   9672         type: DT_COMPLEX64
   9673         type: DT_COMPLEX128
   9674         type: DT_QINT8
   9675         type: DT_QUINT8
   9676         type: DT_QINT32
   9677         type: DT_HALF
   9678         type: DT_UINT32
   9679         type: DT_UINT64
   9680       }
   9681     }
   9682   }
   9683   attr {
   9684     name: "data_format"
   9685     type: "string"
   9686     default_value {
   9687       s: "NHWC"
   9688     }
   9689     allowed_values {
   9690       list {
   9691         s: "NHWC"
   9692         s: "NCHW"
   9693       }
   9694     }
   9695   }
   9696 }
   9697 op {
   9698   name: "BiasAddGrad"
   9699   input_arg {
   9700     name: "out_backprop"
   9701     type_attr: "T"
   9702   }
   9703   output_arg {
   9704     name: "output"
   9705     type_attr: "T"
   9706   }
   9707   attr {
   9708     name: "T"
   9709     type: "type"
   9710     allowed_values {
   9711       list {
   9712         type: DT_FLOAT
   9713         type: DT_DOUBLE
   9714         type: DT_INT64
   9715         type: DT_INT32
   9716         type: DT_UINT8
   9717         type: DT_UINT16
   9718         type: DT_INT16
   9719         type: DT_INT8
   9720         type: DT_COMPLEX64
   9721         type: DT_COMPLEX128
   9722         type: DT_QINT8
   9723         type: DT_QUINT8
   9724         type: DT_QINT32
   9725         type: DT_HALF
   9726         type: DT_UINT32
   9727         type: DT_UINT64
   9728         type: DT_BFLOAT16
   9729       }
   9730     }
   9731   }
   9732   attr {
   9733     name: "data_format"
   9734     type: "string"
   9735     default_value {
   9736       s: "NHWC"
   9737     }
   9738     allowed_values {
   9739       list {
   9740         s: "NHWC"
   9741         s: "NCHW"
   9742       }
   9743     }
   9744   }
   9745 }
   9746 op {
   9747   name: "BiasAddGrad"
   9748   input_arg {
   9749     name: "out_backprop"
   9750     type_attr: "T"
   9751   }
   9752   output_arg {
   9753     name: "output"
   9754     type_attr: "T"
   9755   }
   9756   attr {
   9757     name: "T"
   9758     type: "type"
   9759     allowed_values {
   9760       list {
   9761         type: DT_FLOAT
   9762         type: DT_DOUBLE
   9763         type: DT_INT32
   9764         type: DT_UINT8
   9765         type: DT_INT16
   9766         type: DT_INT8
   9767         type: DT_COMPLEX64
   9768         type: DT_INT64
   9769         type: DT_QINT8
   9770         type: DT_QUINT8
   9771         type: DT_QINT32
   9772         type: DT_BFLOAT16
   9773         type: DT_UINT16
   9774         type: DT_COMPLEX128
   9775         type: DT_HALF
   9776         type: DT_UINT32
   9777         type: DT_UINT64
   9778       }
   9779     }
   9780   }
   9781   attr {
   9782     name: "data_format"
   9783     type: "string"
   9784     default_value {
   9785       s: "NHWC"
   9786     }
   9787     allowed_values {
   9788       list {
   9789         s: "NHWC"
   9790         s: "NCHW"
   9791       }
   9792     }
   9793   }
   9794 }
   9795 op {
   9796   name: "BiasAddV1"
   9797   input_arg {
   9798     name: "value"
   9799     type_attr: "T"
   9800   }
   9801   input_arg {
   9802     name: "bias"
   9803     type_attr: "T"
   9804   }
   9805   output_arg {
   9806     name: "output"
   9807     type_attr: "T"
   9808   }
   9809   attr {
   9810     name: "T"
   9811     type: "type"
   9812     allowed_values {
   9813       list {
   9814         type: DT_FLOAT
   9815         type: DT_DOUBLE
   9816         type: DT_INT64
   9817         type: DT_INT32
   9818         type: DT_UINT8
   9819         type: DT_UINT16
   9820         type: DT_INT16
   9821         type: DT_INT8
   9822         type: DT_COMPLEX64
   9823         type: DT_COMPLEX128
   9824         type: DT_QINT8
   9825         type: DT_QUINT8
   9826         type: DT_QINT32
   9827         type: DT_HALF
   9828       }
   9829     }
   9830   }
   9831 }
   9832 op {
   9833   name: "BiasAddV1"
   9834   input_arg {
   9835     name: "value"
   9836     type_attr: "T"
   9837   }
   9838   input_arg {
   9839     name: "bias"
   9840     type_attr: "T"
   9841   }
   9842   output_arg {
   9843     name: "output"
   9844     type_attr: "T"
   9845   }
   9846   attr {
   9847     name: "T"
   9848     type: "type"
   9849     allowed_values {
   9850       list {
   9851         type: DT_FLOAT
   9852         type: DT_DOUBLE
   9853         type: DT_INT64
   9854         type: DT_INT32
   9855         type: DT_UINT8
   9856         type: DT_UINT16
   9857         type: DT_INT16
   9858         type: DT_INT8
   9859         type: DT_COMPLEX64
   9860         type: DT_COMPLEX128
   9861         type: DT_QINT8
   9862         type: DT_QUINT8
   9863         type: DT_QINT32
   9864         type: DT_HALF
   9865         type: DT_UINT32
   9866         type: DT_UINT64
   9867       }
   9868     }
   9869   }
   9870 }
   9871 op {
   9872   name: "BiasAddV1"
   9873   input_arg {
   9874     name: "value"
   9875     type_attr: "T"
   9876   }
   9877   input_arg {
   9878     name: "bias"
   9879     type_attr: "T"
   9880   }
   9881   output_arg {
   9882     name: "output"
   9883     type_attr: "T"
   9884   }
   9885   attr {
   9886     name: "T"
   9887     type: "type"
   9888     allowed_values {
   9889       list {
   9890         type: DT_FLOAT
   9891         type: DT_DOUBLE
   9892         type: DT_INT64
   9893         type: DT_INT32
   9894         type: DT_UINT8
   9895         type: DT_UINT16
   9896         type: DT_INT16
   9897         type: DT_INT8
   9898         type: DT_COMPLEX64
   9899         type: DT_COMPLEX128
   9900         type: DT_QINT8
   9901         type: DT_QUINT8
   9902         type: DT_QINT32
   9903         type: DT_HALF
   9904         type: DT_UINT32
   9905         type: DT_UINT64
   9906         type: DT_BFLOAT16
   9907       }
   9908     }
   9909   }
   9910 }
   9911 op {
   9912   name: "BiasAddV1"
   9913   input_arg {
   9914     name: "value"
   9915     type_attr: "T"
   9916   }
   9917   input_arg {
   9918     name: "bias"
   9919     type_attr: "T"
   9920   }
   9921   output_arg {
   9922     name: "output"
   9923     type_attr: "T"
   9924   }
   9925   attr {
   9926     name: "T"
   9927     type: "type"
   9928     allowed_values {
   9929       list {
   9930         type: DT_FLOAT
   9931         type: DT_DOUBLE
   9932         type: DT_INT32
   9933         type: DT_UINT8
   9934         type: DT_INT16
   9935         type: DT_INT8
   9936         type: DT_COMPLEX64
   9937         type: DT_INT64
   9938         type: DT_QINT8
   9939         type: DT_QUINT8
   9940         type: DT_QINT32
   9941         type: DT_BFLOAT16
   9942         type: DT_UINT16
   9943         type: DT_COMPLEX128
   9944         type: DT_HALF
   9945         type: DT_UINT32
   9946         type: DT_UINT64
   9947       }
   9948     }
   9949   }
   9950 }
   9951 op {
   9952   name: "Bincount"
   9953   input_arg {
   9954     name: "arr"
   9955     type: DT_INT32
   9956   }
   9957   input_arg {
   9958     name: "size"
   9959     type: DT_INT32
   9960   }
   9961   input_arg {
   9962     name: "weights"
   9963     type_attr: "T"
   9964   }
   9965   output_arg {
   9966     name: "bins"
   9967     type_attr: "T"
   9968   }
   9969   attr {
   9970     name: "T"
   9971     type: "type"
   9972     allowed_values {
   9973       list {
   9974         type: DT_INT32
   9975         type: DT_INT64
   9976         type: DT_FLOAT
   9977         type: DT_DOUBLE
   9978       }
   9979     }
   9980   }
   9981 }
   9982 op {
   9983   name: "Bitcast"
   9984   input_arg {
   9985     name: "input"
   9986     type_attr: "T"
   9987   }
   9988   output_arg {
   9989     name: "output"
   9990     type_attr: "type"
   9991   }
   9992   attr {
   9993     name: "T"
   9994     type: "type"
   9995     allowed_values {
   9996       list {
   9997         type: DT_FLOAT
   9998         type: DT_DOUBLE
   9999         type: DT_INT64
   10000         type: DT_INT32
   10001         type: DT_UINT8
   10002         type: DT_UINT16
   10003         type: DT_INT16
   10004         type: DT_INT8
   10005         type: DT_COMPLEX64
   10006         type: DT_COMPLEX128
   10007         type: DT_QINT8
   10008         type: DT_QUINT8
   10009         type: DT_QINT32
   10010         type: DT_HALF
   10011       }
   10012     }
   10013   }
   10014   attr {
   10015     name: "type"
   10016     type: "type"
   10017     allowed_values {
   10018       list {
   10019         type: DT_FLOAT
   10020         type: DT_DOUBLE
   10021         type: DT_INT64
   10022         type: DT_INT32
   10023         type: DT_UINT8
   10024         type: DT_UINT16
   10025         type: DT_INT16
   10026         type: DT_INT8
   10027         type: DT_COMPLEX64
   10028         type: DT_COMPLEX128
   10029         type: DT_QINT8
   10030         type: DT_QUINT8
   10031         type: DT_QINT32
   10032         type: DT_HALF
   10033       }
   10034     }
   10035   }
   10036 }
   10037 op {
   10038   name: "Bitcast"
   10039   input_arg {
   10040     name: "input"
   10041     type_attr: "T"
   10042   }
   10043   output_arg {
   10044     name: "output"
   10045     type_attr: "type"
   10046   }
   10047   attr {
   10048     name: "T"
   10049     type: "type"
   10050     allowed_values {
   10051       list {
   10052         type: DT_FLOAT
   10053         type: DT_DOUBLE
   10054         type: DT_INT64
   10055         type: DT_INT32
   10056         type: DT_UINT8
   10057         type: DT_UINT16
   10058         type: DT_INT8
   10059         type: DT_INT16
   10060         type: DT_COMPLEX64
   10061         type: DT_COMPLEX128
   10062         type: DT_QINT8
   10063         type: DT_QUINT8
   10064         type: DT_QINT16
   10065         type: DT_QUINT16
   10066         type: DT_QINT32
   10067         type: DT_HALF
   10068       }
   10069     }
   10070   }
   10071   attr {
   10072     name: "type"
   10073     type: "type"
   10074     allowed_values {
   10075       list {
   10076         type: DT_FLOAT
   10077         type: DT_DOUBLE
   10078         type: DT_INT64
   10079         type: DT_INT32
   10080         type: DT_UINT8
   10081         type: DT_UINT16
   10082         type: DT_INT8
   10083         type: DT_INT16
   10084         type: DT_COMPLEX64
   10085         type: DT_COMPLEX128
   10086         type: DT_QINT8
   10087         type: DT_QUINT8
   10088         type: DT_QINT16
   10089         type: DT_QUINT16
   10090         type: DT_QINT32
   10091         type: DT_HALF
   10092       }
   10093     }
   10094   }
   10095 }
   10096 op {
   10097   name: "Bitcast"
   10098   input_arg {
   10099     name: "input"
   10100     type_attr: "T"
   10101   }
   10102   output_arg {
   10103     name: "output"
   10104     type_attr: "type"
   10105   }
   10106   attr {
   10107     name: "T"
   10108     type: "type"
   10109     allowed_values {
   10110       list {
   10111         type: DT_BFLOAT16
   10112         type: DT_FLOAT
   10113         type: DT_DOUBLE
   10114         type: DT_INT64
   10115         type: DT_INT32
   10116         type: DT_UINT8
   10117         type: DT_UINT16
   10118         type: DT_INT8
   10119         type: DT_INT16
   10120         type: DT_COMPLEX64
   10121         type: DT_COMPLEX128
   10122         type: DT_QINT8
   10123         type: DT_QUINT8
   10124         type: DT_QINT16
   10125         type: DT_QUINT16
   10126         type: DT_QINT32
   10127         type: DT_HALF
   10128       }
   10129     }
   10130   }
   10131   attr {
   10132     name: "type"
   10133     type: "type"
   10134     allowed_values {
   10135       list {
   10136         type: DT_BFLOAT16
   10137         type: DT_FLOAT
   10138         type: DT_DOUBLE
   10139         type: DT_INT64
   10140         type: DT_INT32
   10141         type: DT_UINT8
   10142         type: DT_UINT16
   10143         type: DT_INT8
   10144         type: DT_INT16
   10145         type: DT_COMPLEX64
   10146         type: DT_COMPLEX128
   10147         type: DT_QINT8
   10148         type: DT_QUINT8
   10149         type: DT_QINT16
   10150         type: DT_QUINT16
   10151         type: DT_QINT32
   10152         type: DT_HALF
   10153       }
   10154     }
   10155   }
   10156 }
   10157 op {
   10158   name: "BitwiseAnd"
   10159   input_arg {
   10160     name: "x"
   10161     type_attr: "T"
   10162   }
   10163   input_arg {
   10164     name: "y"
   10165     type_attr: "T"
   10166   }
   10167   output_arg {
   10168     name: "z"
   10169     type_attr: "T"
   10170   }
   10171   attr {
   10172     name: "T"
   10173     type: "type"
   10174     allowed_values {
   10175       list {
   10176         type: DT_INT8
   10177         type: DT_INT16
   10178         type: DT_INT32
   10179         type: DT_INT64
   10180         type: DT_UINT8
   10181         type: DT_UINT16
   10182       }
   10183     }
   10184   }
   10185   is_commutative: true
   10186 }
   10187 op {
   10188   name: "BitwiseAnd"
   10189   input_arg {
   10190     name: "x"
   10191     type_attr: "T"
   10192   }
   10193   input_arg {
   10194     name: "y"
   10195     type_attr: "T"
   10196   }
   10197   output_arg {
   10198     name: "z"
   10199     type_attr: "T"
   10200   }
   10201   attr {
   10202     name: "T"
   10203     type: "type"
   10204     allowed_values {
   10205       list {
   10206         type: DT_INT8
   10207         type: DT_INT16
   10208         type: DT_INT32
   10209         type: DT_INT64
   10210         type: DT_UINT8
   10211         type: DT_UINT16
   10212         type: DT_UINT32
   10213         type: DT_UINT64
   10214       }
   10215     }
   10216   }
   10217   is_commutative: true
   10218 }
   10219 op {
   10220   name: "BitwiseOr"
   10221   input_arg {
   10222     name: "x"
   10223     type_attr: "T"
   10224   }
   10225   input_arg {
   10226     name: "y"
   10227     type_attr: "T"
   10228   }
   10229   output_arg {
   10230     name: "z"
   10231     type_attr: "T"
   10232   }
   10233   attr {
   10234     name: "T"
   10235     type: "type"
   10236     allowed_values {
   10237       list {
   10238         type: DT_INT8
   10239         type: DT_INT16
   10240         type: DT_INT32
   10241         type: DT_INT64
   10242         type: DT_UINT8
   10243         type: DT_UINT16
   10244       }
   10245     }
   10246   }
   10247   is_commutative: true
   10248 }
   10249 op {
   10250   name: "BitwiseOr"
   10251   input_arg {
   10252     name: "x"
   10253     type_attr: "T"
   10254   }
   10255   input_arg {
   10256     name: "y"
   10257     type_attr: "T"
   10258   }
   10259   output_arg {
   10260     name: "z"
   10261     type_attr: "T"
   10262   }
   10263   attr {
   10264     name: "T"
   10265     type: "type"
   10266     allowed_values {
   10267       list {
   10268         type: DT_INT8
   10269         type: DT_INT16
   10270         type: DT_INT32
   10271         type: DT_INT64
   10272         type: DT_UINT8
   10273         type: DT_UINT16
   10274         type: DT_UINT32
   10275         type: DT_UINT64
   10276       }
   10277     }
   10278   }
   10279   is_commutative: true
   10280 }
   10281 op {
   10282   name: "BitwiseXor"
   10283   input_arg {
   10284     name: "x"
   10285     type_attr: "T"
   10286   }
   10287   input_arg {
   10288     name: "y"
   10289     type_attr: "T"
   10290   }
   10291   output_arg {
   10292     name: "z"
   10293     type_attr: "T"
   10294   }
   10295   attr {
   10296     name: "T"
   10297     type: "type"
   10298     allowed_values {
   10299       list {
   10300         type: DT_INT8
   10301         type: DT_INT16
   10302         type: DT_INT32
   10303         type: DT_INT64
   10304         type: DT_UINT8
   10305         type: DT_UINT16
   10306       }
   10307     }
   10308   }
   10309   is_commutative: true
   10310 }
   10311 op {
   10312   name: "BitwiseXor"
   10313   input_arg {
   10314     name: "x"
   10315     type_attr: "T"
   10316   }
   10317   input_arg {
   10318     name: "y"
   10319     type_attr: "T"
   10320   }
   10321   output_arg {
   10322     name: "z"
   10323     type_attr: "T"
   10324   }
   10325   attr {
   10326     name: "T"
   10327     type: "type"
   10328     allowed_values {
   10329       list {
   10330         type: DT_INT8
   10331         type: DT_INT16
   10332         type: DT_INT32
   10333         type: DT_INT64
   10334         type: DT_UINT8
   10335         type: DT_UINT16
   10336         type: DT_UINT32
   10337         type: DT_UINT64
   10338       }
   10339     }
   10340   }
   10341   is_commutative: true
   10342 }
   10343 op {
   10344   name: "BroadcastArgs"
   10345   input_arg {
   10346     name: "s0"
   10347     type_attr: "T"
   10348   }
   10349   input_arg {
   10350     name: "s1"
   10351     type_attr: "T"
   10352   }
   10353   output_arg {
   10354     name: "r0"
   10355     type_attr: "T"
   10356   }
   10357   attr {
   10358     name: "T"
   10359     type: "type"
   10360     default_value {
   10361       type: DT_INT32
   10362     }
   10363     allowed_values {
   10364       list {
   10365         type: DT_INT32
   10366         type: DT_INT64
   10367       }
   10368     }
   10369   }
   10370 }
   10371 op {
   10372   name: "BroadcastGradientArgs"
   10373   input_arg {
   10374     name: "s0"
   10375     type_attr: "T"
   10376   }
   10377   input_arg {
   10378     name: "s1"
   10379     type_attr: "T"
   10380   }
   10381   output_arg {
   10382     name: "r0"
   10383     type_attr: "T"
   10384   }
   10385   output_arg {
   10386     name: "r1"
   10387     type_attr: "T"
   10388   }
   10389   attr {
   10390     name: "T"
   10391     type: "type"
   10392     default_value {
   10393       type: DT_INT32
   10394     }
   10395     allowed_values {
   10396       list {
   10397         type: DT_INT32
   10398         type: DT_INT64
   10399       }
   10400     }
   10401   }
   10402 }
   10403 op {
   10404   name: "Bucketize"
   10405   input_arg {
   10406     name: "input"
   10407     type_attr: "T"
   10408   }
   10409   output_arg {
   10410     name: "output"
   10411     type: DT_INT32
   10412   }
   10413   attr {
   10414     name: "T"
   10415     type: "type"
   10416     allowed_values {
   10417       list {
   10418         type: DT_INT32
   10419         type: DT_INT64
   10420         type: DT_FLOAT
   10421         type: DT_DOUBLE
   10422       }
   10423     }
   10424   }
   10425   attr {
   10426     name: "boundaries"
   10427     type: "list(float)"
   10428   }
   10429 }
   10430 op {
   10431   name: "BytesProducedStatsDataset"
   10432   input_arg {
   10433     name: "input_dataset"
   10434     type: DT_VARIANT
   10435   }
   10436   input_arg {
   10437     name: "tag"
   10438     type: DT_STRING
   10439   }
   10440   output_arg {
   10441     name: "handle"
   10442     type: DT_VARIANT
   10443   }
   10444   attr {
   10445     name: "output_types"
   10446     type: "list(type)"
   10447     has_minimum: true
   10448     minimum: 1
   10449   }
   10450   attr {
   10451     name: "output_shapes"
   10452     type: "list(shape)"
   10453     has_minimum: true
   10454     minimum: 1
   10455   }
   10456 }
   10457 op {
   10458   name: "CTCBeamSearchDecoder"
   10459   input_arg {
   10460     name: "inputs"
   10461     type: DT_FLOAT
   10462   }
   10463   input_arg {
   10464     name: "sequence_length"
   10465     type: DT_INT32
   10466   }
   10467   output_arg {
   10468     name: "decoded_indices"
   10469     type: DT_INT64
   10470     number_attr: "top_paths"
   10471   }
   10472   output_arg {
   10473     name: "decoded_values"
   10474     type: DT_INT64
   10475     number_attr: "top_paths"
   10476   }
   10477   output_arg {
   10478     name: "decoded_shape"
   10479     type: DT_INT64
   10480     number_attr: "top_paths"
   10481   }
   10482   output_arg {
   10483     name: "log_probability"
   10484     type: DT_FLOAT
   10485   }
   10486   attr {
   10487     name: "beam_width"
   10488     type: "int"
   10489     has_minimum: true
   10490     minimum: 1
   10491   }
   10492   attr {
   10493     name: "top_paths"
   10494     type: "int"
   10495     has_minimum: true
   10496     minimum: 1
   10497   }
   10498   attr {
   10499     name: "merge_repeated"
   10500     type: "bool"
   10501     default_value {
   10502       b: true
   10503     }
   10504   }
   10505 }
   10506 op {
   10507   name: "CTCGreedyDecoder"
   10508   input_arg {
   10509     name: "inputs"
   10510     type: DT_FLOAT
   10511   }
   10512   input_arg {
   10513     name: "sequence_length"
   10514     type: DT_INT32
   10515   }
   10516   output_arg {
   10517     name: "decoded_indices"
   10518     type: DT_INT64
   10519   }
   10520   output_arg {
   10521     name: "decoded_values"
   10522     type: DT_INT64
   10523   }
   10524   output_arg {
   10525     name: "decoded_shape"
   10526     type: DT_INT64
   10527   }
   10528   output_arg {
   10529     name: "log_probability"
   10530     type: DT_FLOAT
   10531   }
   10532   attr {
   10533     name: "merge_repeated"
   10534     type: "bool"
   10535     default_value {
   10536       b: false
   10537     }
   10538   }
   10539 }
   10540 op {
   10541   name: "CTCLoss"
   10542   input_arg {
   10543     name: "inputs"
   10544     type: DT_FLOAT
   10545   }
   10546   input_arg {
   10547     name: "labels_indices"
   10548     type: DT_INT64
   10549   }
   10550   input_arg {
   10551     name: "labels_values"
   10552     type: DT_INT32
   10553   }
   10554   input_arg {
   10555     name: "sequence_length"
   10556     type: DT_INT32
   10557   }
   10558   output_arg {
   10559     name: "loss"
   10560     type: DT_FLOAT
   10561   }
   10562   output_arg {
   10563     name: "gradient"
   10564     type: DT_FLOAT
   10565   }
   10566   attr {
   10567     name: "preprocess_collapse_repeated"
   10568     type: "bool"
   10569     default_value {
   10570       b: false
   10571     }
   10572   }
   10573   attr {
   10574     name: "ctc_merge_repeated"
   10575     type: "bool"
   10576     default_value {
   10577       b: true
   10578     }
   10579   }
   10580 }
   10581 op {
   10582   name: "CTCLoss"
   10583   input_arg {
   10584     name: "inputs"
   10585     type: DT_FLOAT
   10586   }
   10587   input_arg {
   10588     name: "labels_indices"
   10589     type: DT_INT64
   10590   }
   10591   input_arg {
   10592     name: "labels_values"
   10593     type: DT_INT32
   10594   }
   10595   input_arg {
   10596     name: "sequence_length"
   10597     type: DT_INT32
   10598   }
   10599   output_arg {
   10600     name: "loss"
   10601     type: DT_FLOAT
   10602   }
   10603   output_arg {
   10604     name: "gradient"
   10605     type: DT_FLOAT
   10606   }
   10607   attr {
   10608     name: "preprocess_collapse_repeated"
   10609     type: "bool"
   10610     default_value {
   10611       b: false
   10612     }
   10613   }
   10614   attr {
   10615     name: "ctc_merge_repeated"
   10616     type: "bool"
   10617     default_value {
   10618       b: true
   10619     }
   10620   }
   10621   attr {
   10622     name: "ignore_longer_outputs_than_inputs"
   10623     type: "bool"
   10624     default_value {
   10625       b: false
   10626     }
   10627   }
   10628 }
   10629 op {
   10630   name: "CacheDataset"
   10631   input_arg {
   10632     name: "input_dataset"
   10633     type: DT_VARIANT
   10634   }
   10635   input_arg {
   10636     name: "filename"
   10637     type: DT_STRING
   10638   }
   10639   output_arg {
   10640     name: "handle"
   10641     type: DT_VARIANT
   10642   }
   10643   attr {
   10644     name: "output_types"
   10645     type: "list(type)"
   10646     has_minimum: true
   10647     minimum: 1
   10648   }
   10649   attr {
   10650     name: "output_shapes"
   10651     type: "list(shape)"
   10652     has_minimum: true
   10653     minimum: 1
   10654   }
   10655   is_stateful: true
   10656 }
   10657 op {
   10658   name: "CacheDataset"
   10659   input_arg {
   10660     name: "input_dataset"
   10661     type: DT_VARIANT
   10662   }
   10663   input_arg {
   10664     name: "filename"
   10665     type: DT_STRING
   10666   }
   10667   output_arg {
   10668     name: "handle"
   10669     type: DT_VARIANT
   10670   }
   10671   attr {
   10672     name: "output_types"
   10673     type: "list(type)"
   10674     has_minimum: true
   10675     minimum: 1
   10676   }
   10677   attr {
   10678     name: "output_shapes"
   10679     type: "list(shape)"
   10680     has_minimum: true
   10681     minimum: 1
   10682   }
   10683 }
   10684 op {
   10685   name: "Cast"
   10686   input_arg {
   10687     name: "x"
   10688     type_attr: "SrcT"
   10689   }
   10690   output_arg {
   10691     name: "y"
   10692     type_attr: "DstT"
   10693   }
   10694   attr {
   10695     name: "SrcT"
   10696     type: "type"
   10697   }
   10698   attr {
   10699     name: "DstT"
   10700     type: "type"
   10701   }
   10702 }
   10703 op {
   10704   name: "Ceil"
   10705   input_arg {
   10706     name: "x"
   10707     type_attr: "T"
   10708   }
   10709   output_arg {
   10710     name: "y"
   10711     type_attr: "T"
   10712   }
   10713   attr {
   10714     name: "T"
   10715     type: "type"
   10716     allowed_values {
   10717       list {
   10718         type: DT_HALF
   10719         type: DT_FLOAT
   10720         type: DT_DOUBLE
   10721       }
   10722     }
   10723   }
   10724 }
   10725 op {
   10726   name: "Ceil"
   10727   input_arg {
   10728     name: "x"
   10729     type_attr: "T"
   10730   }
   10731   output_arg {
   10732     name: "y"
   10733     type_attr: "T"
   10734   }
   10735   attr {
   10736     name: "T"
   10737     type: "type"
   10738     allowed_values {
   10739       list {
   10740         type: DT_HALF
   10741         type: DT_BFLOAT16
   10742         type: DT_FLOAT
   10743         type: DT_DOUBLE
   10744       }
   10745     }
   10746   }
   10747 }
   10748 op {
   10749   name: "CheckNumerics"
   10750   input_arg {
   10751     name: "tensor"
   10752     type_attr: "T"
   10753   }
   10754   output_arg {
   10755     name: "output"
   10756     type_attr: "T"
   10757   }
   10758   attr {
   10759     name: "T"
   10760     type: "type"
   10761     allowed_values {
   10762       list {
   10763         type: DT_HALF
   10764         type: DT_FLOAT
   10765         type: DT_DOUBLE
   10766       }
   10767     }
   10768   }
   10769   attr {
   10770     name: "message"
   10771     type: "string"
   10772   }
   10773 }
   10774 op {
   10775   name: "CheckNumerics"
   10776   input_arg {
   10777     name: "tensor"
   10778     type_attr: "T"
   10779   }
   10780   output_arg {
   10781     name: "output"
   10782     type_attr: "T"
   10783   }
   10784   attr {
   10785     name: "T"
   10786     type: "type"
   10787     allowed_values {
   10788       list {
   10789         type: DT_HALF
   10790         type: DT_BFLOAT16
   10791         type: DT_FLOAT
   10792         type: DT_DOUBLE
   10793       }
   10794     }
   10795   }
   10796   attr {
   10797     name: "message"
   10798     type: "string"
   10799   }
   10800 }
   10801 op {
   10802   name: "Cholesky"
   10803   input_arg {
   10804     name: "input"
   10805     type_attr: "T"
   10806   }
   10807   output_arg {
   10808     name: "output"
   10809     type_attr: "T"
   10810   }
   10811   attr {
   10812     name: "T"
   10813     type: "type"
   10814     allowed_values {
   10815       list {
   10816         type: DT_DOUBLE
   10817         type: DT_FLOAT
   10818       }
   10819     }
   10820   }
   10821 }
   10822 op {
   10823   name: "Cholesky"
   10824   input_arg {
   10825     name: "input"
   10826     type_attr: "T"
   10827   }
   10828   output_arg {
   10829     name: "output"
   10830     type_attr: "T"
   10831   }
   10832   attr {
   10833     name: "T"
   10834     type: "type"
   10835     allowed_values {
   10836       list {
   10837         type: DT_DOUBLE
   10838         type: DT_FLOAT
   10839         type: DT_COMPLEX64
   10840         type: DT_COMPLEX128
   10841       }
   10842     }
   10843   }
   10844 }
   10845 op {
   10846   name: "CholeskyGrad"
   10847   input_arg {
   10848     name: "l"
   10849     type_attr: "T"
   10850   }
   10851   input_arg {
   10852     name: "grad"
   10853     type_attr: "T"
   10854   }
   10855   output_arg {
   10856     name: "output"
   10857     type_attr: "T"
   10858   }
   10859   attr {
   10860     name: "T"
   10861     type: "type"
   10862     allowed_values {
   10863       list {
   10864         type: DT_FLOAT
   10865         type: DT_DOUBLE
   10866       }
   10867     }
   10868   }
   10869 }
   10870 op {
   10871   name: "CompareAndBitpack"
   10872   input_arg {
   10873     name: "input"
   10874     type_attr: "T"
   10875   }
   10876   input_arg {
   10877     name: "threshold"
   10878     type_attr: "T"
   10879   }
   10880   output_arg {
   10881     name: "output"
   10882     type: DT_UINT8
   10883   }
   10884   attr {
   10885     name: "T"
   10886     type: "type"
   10887     allowed_values {
   10888       list {
   10889         type: DT_BOOL
   10890         type: DT_HALF
   10891         type: DT_FLOAT
   10892         type: DT_DOUBLE
   10893         type: DT_INT8
   10894         type: DT_INT16
   10895         type: DT_INT32
   10896         type: DT_INT64
   10897       }
   10898     }
   10899   }
   10900 }
   10901 op {
   10902   name: "Complex"
   10903   input_arg {
   10904     name: "real"
   10905     type_attr: "T"
   10906   }
   10907   input_arg {
   10908     name: "imag"
   10909     type_attr: "T"
   10910   }
   10911   output_arg {
   10912     name: "out"
   10913     type_attr: "Tout"
   10914   }
   10915   attr {
   10916     name: "T"
   10917     type: "type"
   10918     default_value {
   10919       type: DT_FLOAT
   10920     }
   10921     allowed_values {
   10922       list {
   10923         type: DT_FLOAT
   10924         type: DT_DOUBLE
   10925       }
   10926     }
   10927   }
   10928   attr {
   10929     name: "Tout"
   10930     type: "type"
   10931     default_value {
   10932       type: DT_COMPLEX64
   10933     }
   10934     allowed_values {
   10935       list {
   10936         type: DT_COMPLEX64
   10937         type: DT_COMPLEX128
   10938       }
   10939     }
   10940   }
   10941 }
   10942 op {
   10943   name: "ComplexAbs"
   10944   input_arg {
   10945     name: "x"
   10946     type_attr: "T"
   10947   }
   10948   output_arg {
   10949     name: "y"
   10950     type_attr: "Tout"
   10951   }
   10952   attr {
   10953     name: "T"
   10954     type: "type"
   10955     default_value {
   10956       type: DT_COMPLEX64
   10957     }
   10958     allowed_values {
   10959       list {
   10960         type: DT_COMPLEX64
   10961         type: DT_COMPLEX128
   10962       }
   10963     }
   10964   }
   10965   attr {
   10966     name: "Tout"
   10967     type: "type"
   10968     default_value {
   10969       type: DT_FLOAT
   10970     }
   10971     allowed_values {
   10972       list {
   10973         type: DT_FLOAT
   10974         type: DT_DOUBLE
   10975       }
   10976     }
   10977   }
   10978 }
   10979 op {
   10980   name: "ComputeAccidentalHits"
   10981   input_arg {
   10982     name: "true_classes"
   10983     type: DT_INT64
   10984   }
   10985   input_arg {
   10986     name: "sampled_candidates"
   10987     type: DT_INT64
   10988   }
   10989   output_arg {
   10990     name: "indices"
   10991     type: DT_INT32
   10992   }
   10993   output_arg {
   10994     name: "ids"
   10995     type: DT_INT64
   10996   }
   10997   output_arg {
   10998     name: "weights"
   10999     type: DT_FLOAT
   11000   }
   11001   attr {
   11002     name: "num_true"
   11003     type: "int"
   11004   }
   11005   attr {
   11006     name: "seed"
   11007     type: "int"
   11008     default_value {
   11009       i: 0
   11010     }
   11011   }
   11012   attr {
   11013     name: "seed2"
   11014     type: "int"
   11015     default_value {
   11016       i: 0
   11017     }
   11018   }
   11019 }
   11020 op {
   11021   name: "Concat"
   11022   input_arg {
   11023     name: "concat_dim"
   11024     type: DT_INT32
   11025   }
   11026   input_arg {
   11027     name: "values"
   11028     type_attr: "T"
   11029     number_attr: "N"
   11030   }
   11031   output_arg {
   11032     name: "output"
   11033     type_attr: "T"
   11034   }
   11035   attr {
   11036     name: "N"
   11037     type: "int"
   11038     has_minimum: true
   11039     minimum: 2
   11040   }
   11041   attr {
   11042     name: "T"
   11043     type: "type"
   11044   }
   11045 }
   11046 op {
   11047   name: "ConcatOffset"
   11048   input_arg {
   11049     name: "concat_dim"
   11050     type: DT_INT32
   11051   }
   11052   input_arg {
   11053     name: "shape"
   11054     type: DT_INT32
   11055     number_attr: "N"
   11056   }
   11057   output_arg {
   11058     name: "offset"
   11059     type: DT_INT32
   11060     number_attr: "N"
   11061   }
   11062   attr {
   11063     name: "N"
   11064     type: "int"
   11065     has_minimum: true
   11066     minimum: 2
   11067   }
   11068 }
   11069 op {
   11070   name: "ConcatV2"
   11071   input_arg {
   11072     name: "values"
   11073     type_attr: "T"
   11074     number_attr: "N"
   11075   }
   11076   input_arg {
   11077     name: "axis"
   11078     type_attr: "Tidx"
   11079   }
   11080   output_arg {
   11081     name: "output"
   11082     type_attr: "T"
   11083   }
   11084   attr {
   11085     name: "N"
   11086     type: "int"
   11087     has_minimum: true
   11088     minimum: 2
   11089   }
   11090   attr {
   11091     name: "T"
   11092     type: "type"
   11093   }
   11094   attr {
   11095     name: "Tidx"
   11096     type: "type"
   11097     default_value {
   11098       type: DT_INT32
   11099     }
   11100     allowed_values {
   11101       list {
   11102         type: DT_INT32
   11103         type: DT_INT64
   11104       }
   11105     }
   11106   }
   11107 }
   11108 op {
   11109   name: "ConcatenateDataset"
   11110   input_arg {
   11111     name: "input_dataset"
   11112     type: DT_VARIANT
   11113   }
   11114   input_arg {
   11115     name: "another_dataset"
   11116     type: DT_VARIANT
   11117   }
   11118   output_arg {
   11119     name: "handle"
   11120     type: DT_VARIANT
   11121   }
   11122   attr {
   11123     name: "output_types"
   11124     type: "list(type)"
   11125     has_minimum: true
   11126     minimum: 1
   11127   }
   11128   attr {
   11129     name: "output_shapes"
   11130     type: "list(shape)"
   11131     has_minimum: true
   11132     minimum: 1
   11133   }
   11134   is_stateful: true
   11135 }
   11136 op {
   11137   name: "ConcatenateDataset"
   11138   input_arg {
   11139     name: "input_dataset"
   11140     type: DT_VARIANT
   11141   }
   11142   input_arg {
   11143     name: "another_dataset"
   11144     type: DT_VARIANT
   11145   }
   11146   output_arg {
   11147     name: "handle"
   11148     type: DT_VARIANT
   11149   }
   11150   attr {
   11151     name: "output_types"
   11152     type: "list(type)"
   11153     has_minimum: true
   11154     minimum: 1
   11155   }
   11156   attr {
   11157     name: "output_shapes"
   11158     type: "list(shape)"
   11159     has_minimum: true
   11160     minimum: 1
   11161   }
   11162 }
   11163 op {
   11164   name: "ConditionalAccumulator"
   11165   output_arg {
   11166     name: "handle"
   11167     type: DT_STRING
   11168     is_ref: true
   11169   }
   11170   attr {
   11171     name: "dtype"
   11172     type: "type"
   11173     allowed_values {
   11174       list {
   11175         type: DT_FLOAT
   11176         type: DT_DOUBLE
   11177         type: DT_INT64
   11178         type: DT_INT32
   11179         type: DT_UINT8
   11180         type: DT_UINT16
   11181         type: DT_INT16
   11182         type: DT_INT8
   11183         type: DT_COMPLEX64
   11184         type: DT_COMPLEX128
   11185         type: DT_QINT8
   11186         type: DT_QUINT8
   11187         type: DT_QINT32
   11188         type: DT_HALF
   11189       }
   11190     }
   11191   }
   11192   attr {
   11193     name: "shape"
   11194     type: "shape"
   11195   }
   11196   attr {
   11197     name: "container"
   11198     type: "string"
   11199     default_value {
   11200       s: ""
   11201     }
   11202   }
   11203   attr {
   11204     name: "shared_name"
   11205     type: "string"
   11206     default_value {
   11207       s: ""
   11208     }
   11209   }
   11210   is_stateful: true
   11211 }
   11212 op {
   11213   name: "ConditionalAccumulator"
   11214   output_arg {
   11215     name: "handle"
   11216     type: DT_STRING
   11217     is_ref: true
   11218   }
   11219   attr {
   11220     name: "dtype"
   11221     type: "type"
   11222     allowed_values {
   11223       list {
   11224         type: DT_FLOAT
   11225         type: DT_DOUBLE
   11226         type: DT_INT64
   11227         type: DT_INT32
   11228         type: DT_UINT8
   11229         type: DT_UINT16
   11230         type: DT_INT16
   11231         type: DT_INT8
   11232         type: DT_COMPLEX64
   11233         type: DT_COMPLEX128
   11234         type: DT_QINT8
   11235         type: DT_QUINT8
   11236         type: DT_QINT32
   11237         type: DT_HALF
   11238         type: DT_UINT32
   11239         type: DT_UINT64
   11240       }
   11241     }
   11242   }
   11243   attr {
   11244     name: "shape"
   11245     type: "shape"
   11246   }
   11247   attr {
   11248     name: "container"
   11249     type: "string"
   11250     default_value {
   11251       s: ""
   11252     }
   11253   }
   11254   attr {
   11255     name: "shared_name"
   11256     type: "string"
   11257     default_value {
   11258       s: ""
   11259     }
   11260   }
   11261   is_stateful: true
   11262 }
   11263 op {
   11264   name: "ConditionalAccumulator"
   11265   output_arg {
   11266     name: "handle"
   11267     type: DT_STRING
   11268     is_ref: true
   11269   }
   11270   attr {
   11271     name: "dtype"
   11272     type: "type"
   11273     allowed_values {
   11274       list {
   11275         type: DT_FLOAT
   11276         type: DT_DOUBLE
   11277         type: DT_INT64
   11278         type: DT_INT32
   11279         type: DT_UINT8
   11280         type: DT_UINT16
   11281         type: DT_INT16
   11282         type: DT_INT8
   11283         type: DT_COMPLEX64
   11284         type: DT_COMPLEX128
   11285         type: DT_QINT8
   11286         type: DT_QUINT8
   11287         type: DT_QINT32
   11288         type: DT_HALF
   11289         type: DT_UINT32
   11290         type: DT_UINT64
   11291         type: DT_BFLOAT16
   11292       }
   11293     }
   11294   }
   11295   attr {
   11296     name: "shape"
   11297     type: "shape"
   11298   }
   11299   attr {
   11300     name: "container"
   11301     type: "string"
   11302     default_value {
   11303       s: ""
   11304     }
   11305   }
   11306   attr {
   11307     name: "shared_name"
   11308     type: "string"
   11309     default_value {
   11310       s: ""
   11311     }
   11312   }
   11313   is_stateful: true
   11314 }
   11315 op {
   11316   name: "ConditionalAccumulator"
   11317   output_arg {
   11318     name: "handle"
   11319     type: DT_STRING
   11320     is_ref: true
   11321   }
   11322   attr {
   11323     name: "dtype"
   11324     type: "type"
   11325     allowed_values {
   11326       list {
   11327         type: DT_FLOAT
   11328         type: DT_DOUBLE
   11329         type: DT_INT32
   11330         type: DT_UINT8
   11331         type: DT_INT16
   11332         type: DT_INT8
   11333         type: DT_COMPLEX64
   11334         type: DT_INT64
   11335         type: DT_QINT8
   11336         type: DT_QUINT8
   11337         type: DT_QINT32
   11338         type: DT_BFLOAT16
   11339         type: DT_UINT16
   11340         type: DT_COMPLEX128
   11341         type: DT_HALF
   11342         type: DT_UINT32
   11343         type: DT_UINT64
   11344       }
   11345     }
   11346   }
   11347   attr {
   11348     name: "shape"
   11349     type: "shape"
   11350   }
   11351   attr {
   11352     name: "container"
   11353     type: "string"
   11354     default_value {
   11355       s: ""
   11356     }
   11357   }
   11358   attr {
   11359     name: "shared_name"
   11360     type: "string"
   11361     default_value {
   11362       s: ""
   11363     }
   11364   }
   11365   is_stateful: true
   11366 }
   11367 op {
   11368   name: "Conj"
   11369   input_arg {
   11370     name: "input"
   11371     type_attr: "T"
   11372   }
   11373   output_arg {
   11374     name: "output"
   11375     type_attr: "T"
   11376   }
   11377   attr {
   11378     name: "T"
   11379     type: "type"
   11380     default_value {
   11381       type: DT_COMPLEX64
   11382     }
   11383     allowed_values {
   11384       list {
   11385         type: DT_COMPLEX64
   11386         type: DT_COMPLEX128
   11387       }
   11388     }
   11389   }
   11390 }
   11391 op {
   11392   name: "Conj"
   11393   input_arg {
   11394     name: "input"
   11395     type_attr: "T"
   11396   }
   11397   output_arg {
   11398     name: "output"
   11399     type_attr: "T"
   11400   }
   11401   attr {
   11402     name: "T"
   11403     type: "type"
   11404     default_value {
   11405       type: DT_COMPLEX64
   11406     }
   11407     allowed_values {
   11408       list {
   11409         type: DT_COMPLEX64
   11410         type: DT_COMPLEX128
   11411         type: DT_VARIANT
   11412       }
   11413     }
   11414   }
   11415 }
   11416 op {
   11417   name: "ConjugateTranspose"
   11418   input_arg {
   11419     name: "x"
   11420     type_attr: "T"
   11421   }
   11422   input_arg {
   11423     name: "perm"
   11424     type_attr: "Tperm"
   11425   }
   11426   output_arg {
   11427     name: "y"
   11428     type_attr: "T"
   11429   }
   11430   attr {
   11431     name: "T"
   11432     type: "type"
   11433   }
   11434   attr {
   11435     name: "Tperm"
   11436     type: "type"
   11437     default_value {
   11438       type: DT_INT32
   11439     }
   11440     allowed_values {
   11441       list {
   11442         type: DT_INT32
   11443         type: DT_INT64
   11444       }
   11445     }
   11446   }
   11447 }
   11448 op {
   11449   name: "Const"
   11450   output_arg {
   11451     name: "output"
   11452     type_attr: "dtype"
   11453   }
   11454   attr {
   11455     name: "value"
   11456     type: "tensor"
   11457   }
   11458   attr {
   11459     name: "dtype"
   11460     type: "type"
   11461   }
   11462 }
   11463 op {
   11464   name: "ControlTrigger"
   11465 }
   11466 op {
   11467   name: "Conv2D"
   11468   input_arg {
   11469     name: "input"
   11470     type_attr: "T"
   11471   }
   11472   input_arg {
   11473     name: "filter"
   11474     type_attr: "T"
   11475   }
   11476   output_arg {
   11477     name: "output"
   11478     type_attr: "T"
   11479   }
   11480   attr {
   11481     name: "T"
   11482     type: "type"
   11483     allowed_values {
   11484       list {
   11485         type: DT_HALF
   11486         type: DT_FLOAT
   11487       }
   11488     }
   11489   }
   11490   attr {
   11491     name: "strides"
   11492     type: "list(int)"
   11493   }
   11494   attr {
   11495     name: "use_cudnn_on_gpu"
   11496     type: "bool"
   11497     default_value {
   11498       b: true
   11499     }
   11500   }
   11501   attr {
   11502     name: "padding"
   11503     type: "string"
   11504     allowed_values {
   11505       list {
   11506         s: "SAME"
   11507         s: "VALID"
   11508       }
   11509     }
   11510   }
   11511   attr {
   11512     name: "data_format"
   11513     type: "string"
   11514     default_value {
   11515       s: "NHWC"
   11516     }
   11517     allowed_values {
   11518       list {
   11519         s: "NHWC"
   11520         s: "NCHW"
   11521       }
   11522     }
   11523   }
   11524 }
   11525 op {
   11526   name: "Conv2D"
   11527   input_arg {
   11528     name: "input"
   11529     type_attr: "T"
   11530   }
   11531   input_arg {
   11532     name: "filter"
   11533     type_attr: "T"
   11534   }
   11535   output_arg {
   11536     name: "output"
   11537     type_attr: "T"
   11538   }
   11539   attr {
   11540     name: "T"
   11541     type: "type"
   11542     allowed_values {
   11543       list {
   11544         type: DT_HALF
   11545         type: DT_BFLOAT16
   11546         type: DT_FLOAT
   11547       }
   11548     }
   11549   }
   11550   attr {
   11551     name: "strides"
   11552     type: "list(int)"
   11553   }
   11554   attr {
   11555     name: "use_cudnn_on_gpu"
   11556     type: "bool"
   11557     default_value {
   11558       b: true
   11559     }
   11560   }
   11561   attr {
   11562     name: "padding"
   11563     type: "string"
   11564     allowed_values {
   11565       list {
   11566         s: "SAME"
   11567         s: "VALID"
   11568       }
   11569     }
   11570   }
   11571   attr {
   11572     name: "data_format"
   11573     type: "string"
   11574     default_value {
   11575       s: "NHWC"
   11576     }
   11577     allowed_values {
   11578       list {
   11579         s: "NHWC"
   11580         s: "NCHW"
   11581       }
   11582     }
   11583   }
   11584   attr {
   11585     name: "dilations"
   11586     type: "list(int)"
   11587     default_value {
   11588       list {
   11589         i: 1
   11590         i: 1
   11591         i: 1
   11592         i: 1
   11593       }
   11594     }
   11595   }
   11596 }
   11597 op {
   11598   name: "Conv2DBackpropFilter"
   11599   input_arg {
   11600     name: "input"
   11601     type_attr: "T"
   11602   }
   11603   input_arg {
   11604     name: "filter_sizes"
   11605     type: DT_INT32
   11606   }
   11607   input_arg {
   11608     name: "out_backprop"
   11609     type_attr: "T"
   11610   }
   11611   output_arg {
   11612     name: "output"
   11613     type_attr: "T"
   11614   }
   11615   attr {
   11616     name: "T"
   11617     type: "type"
   11618     allowed_values {
   11619       list {
   11620         type: DT_HALF
   11621         type: DT_FLOAT
   11622       }
   11623     }
   11624   }
   11625   attr {
   11626     name: "strides"
   11627     type: "list(int)"
   11628   }
   11629   attr {
   11630     name: "use_cudnn_on_gpu"
   11631     type: "bool"
   11632     default_value {
   11633       b: true
   11634     }
   11635   }
   11636   attr {
   11637     name: "padding"
   11638     type: "string"
   11639     allowed_values {
   11640       list {
   11641         s: "SAME"
   11642         s: "VALID"
   11643       }
   11644     }
   11645   }
   11646   attr {
   11647     name: "data_format"
   11648     type: "string"
   11649     default_value {
   11650       s: "NHWC"
   11651     }
   11652     allowed_values {
   11653       list {
   11654         s: "NHWC"
   11655         s: "NCHW"
   11656       }
   11657     }
   11658   }
   11659 }
   11660 op {
   11661   name: "Conv2DBackpropFilter"
   11662   input_arg {
   11663     name: "input"
   11664     type_attr: "T"
   11665   }
   11666   input_arg {
   11667     name: "filter_sizes"
   11668     type: DT_INT32
   11669   }
   11670   input_arg {
   11671     name: "out_backprop"
   11672     type_attr: "T"
   11673   }
   11674   output_arg {
   11675     name: "output"
   11676     type_attr: "T"
   11677   }
   11678   attr {
   11679     name: "T"
   11680     type: "type"
   11681     allowed_values {
   11682       list {
   11683         type: DT_HALF
   11684         type: DT_BFLOAT16
   11685         type: DT_FLOAT
   11686       }
   11687     }
   11688   }
   11689   attr {
   11690     name: "strides"
   11691     type: "list(int)"
   11692   }
   11693   attr {
   11694     name: "use_cudnn_on_gpu"
   11695     type: "bool"
   11696     default_value {
   11697       b: true
   11698     }
   11699   }
   11700   attr {
   11701     name: "padding"
   11702     type: "string"
   11703     allowed_values {
   11704       list {
   11705         s: "SAME"
   11706         s: "VALID"
   11707       }
   11708     }
   11709   }
   11710   attr {
   11711     name: "data_format"
   11712     type: "string"
   11713     default_value {
   11714       s: "NHWC"
   11715     }
   11716     allowed_values {
   11717       list {
   11718         s: "NHWC"
   11719         s: "NCHW"
   11720       }
   11721     }
   11722   }
   11723   attr {
   11724     name: "dilations"
   11725     type: "list(int)"
   11726     default_value {
   11727       list {
   11728         i: 1
   11729         i: 1
   11730         i: 1
   11731         i: 1
   11732       }
   11733     }
   11734   }
   11735 }
   11736 op {
   11737   name: "Conv2DBackpropInput"
   11738   input_arg {
   11739     name: "input_sizes"
   11740     type: DT_INT32
   11741   }
   11742   input_arg {
   11743     name: "filter"
   11744     type_attr: "T"
   11745   }
   11746   input_arg {
   11747     name: "out_backprop"
   11748     type_attr: "T"
   11749   }
   11750   output_arg {
   11751     name: "output"
   11752     type_attr: "T"
   11753   }
   11754   attr {
   11755     name: "T"
   11756     type: "type"
   11757     allowed_values {
   11758       list {
   11759         type: DT_HALF
   11760         type: DT_FLOAT
   11761       }
   11762     }
   11763   }
   11764   attr {
   11765     name: "strides"
   11766     type: "list(int)"
   11767   }
   11768   attr {
   11769     name: "use_cudnn_on_gpu"
   11770     type: "bool"
   11771     default_value {
   11772       b: true
   11773     }
   11774   }
   11775   attr {
   11776     name: "padding"
   11777     type: "string"
   11778     allowed_values {
   11779       list {
   11780         s: "SAME"
   11781         s: "VALID"
   11782       }
   11783     }
   11784   }
   11785   attr {
   11786     name: "data_format"
   11787     type: "string"
   11788     default_value {
   11789       s: "NHWC"
   11790     }
   11791     allowed_values {
   11792       list {
   11793         s: "NHWC"
   11794         s: "NCHW"
   11795       }
   11796     }
   11797   }
   11798 }
   11799 op {
   11800   name: "Conv2DBackpropInput"
   11801   input_arg {
   11802     name: "input_sizes"
   11803     type: DT_INT32
   11804   }
   11805   input_arg {
   11806     name: "filter"
   11807     type_attr: "T"
   11808   }
   11809   input_arg {
   11810     name: "out_backprop"
   11811     type_attr: "T"
   11812   }
   11813   output_arg {
   11814     name: "output"
   11815     type_attr: "T"
   11816   }
   11817   attr {
   11818     name: "T"
   11819     type: "type"
   11820     allowed_values {
   11821       list {
   11822         type: DT_HALF
   11823         type: DT_BFLOAT16
   11824         type: DT_FLOAT
   11825       }
   11826     }
   11827   }
   11828   attr {
   11829     name: "strides"
   11830     type: "list(int)"
   11831   }
   11832   attr {
   11833     name: "use_cudnn_on_gpu"
   11834     type: "bool"
   11835     default_value {
   11836       b: true
   11837     }
   11838   }
   11839   attr {
   11840     name: "padding"
   11841     type: "string"
   11842     allowed_values {
   11843       list {
   11844         s: "SAME"
   11845         s: "VALID"
   11846       }
   11847     }
   11848   }
   11849   attr {
   11850     name: "data_format"
   11851     type: "string"
   11852     default_value {
   11853       s: "NHWC"
   11854     }
   11855     allowed_values {
   11856       list {
   11857         s: "NHWC"
   11858         s: "NCHW"
   11859       }
   11860     }
   11861   }
   11862   attr {
   11863     name: "dilations"
   11864     type: "list(int)"
   11865     default_value {
   11866       list {
   11867         i: 1
   11868         i: 1
   11869         i: 1
   11870         i: 1
   11871       }
   11872     }
   11873   }
   11874 }
   11875 op {
   11876   name: "Conv3D"
   11877   input_arg {
   11878     name: "input"
   11879     type_attr: "T"
   11880   }
   11881   input_arg {
   11882     name: "filter"
   11883     type_attr: "T"
   11884   }
   11885   output_arg {
   11886     name: "output"
   11887     type_attr: "T"
   11888   }
   11889   attr {
   11890     name: "T"
   11891     type: "type"
   11892     allowed_values {
   11893       list {
   11894         type: DT_FLOAT
   11895         type: DT_DOUBLE
   11896       }
   11897     }
   11898   }
   11899   attr {
   11900     name: "strides"
   11901     type: "list(int)"
   11902     has_minimum: true
   11903     minimum: 5
   11904   }
   11905   attr {
   11906     name: "padding"
   11907     type: "string"
   11908     allowed_values {
   11909       list {
   11910         s: "SAME"
   11911         s: "VALID"
   11912       }
   11913     }
   11914   }
   11915 }
   11916 op {
   11917   name: "Conv3D"
   11918   input_arg {
   11919     name: "input"
   11920     type_attr: "T"
   11921   }
   11922   input_arg {
   11923     name: "filter"
   11924     type_attr: "T"
   11925   }
   11926   output_arg {
   11927     name: "output"
   11928     type_attr: "T"
   11929   }
   11930   attr {
   11931     name: "T"
   11932     type: "type"
   11933     allowed_values {
   11934       list {
   11935         type: DT_FLOAT
   11936         type: DT_DOUBLE
   11937       }
   11938     }
   11939   }
   11940   attr {
   11941     name: "strides"
   11942     type: "list(int)"
   11943     has_minimum: true
   11944     minimum: 5
   11945   }
   11946   attr {
   11947     name: "padding"
   11948     type: "string"
   11949     allowed_values {
   11950       list {
   11951         s: "SAME"
   11952         s: "VALID"
   11953       }
   11954     }
   11955   }
   11956   attr {
   11957     name: "data_format"
   11958     type: "string"
   11959     default_value {
   11960       s: "NDHWC"
   11961     }
   11962     allowed_values {
   11963       list {
   11964         s: "NDHWC"
   11965         s: "NCDHW"
   11966       }
   11967     }
   11968   }
   11969 }
   11970 op {
   11971   name: "Conv3D"
   11972   input_arg {
   11973     name: "input"
   11974     type_attr: "T"
   11975   }
   11976   input_arg {
   11977     name: "filter"
   11978     type_attr: "T"
   11979   }
   11980   output_arg {
   11981     name: "output"
   11982     type_attr: "T"
   11983   }
   11984   attr {
   11985     name: "T"
   11986     type: "type"
   11987     allowed_values {
   11988       list {
   11989         type: DT_HALF
   11990         type: DT_BFLOAT16
   11991         type: DT_FLOAT
   11992         type: DT_DOUBLE
   11993       }
   11994     }
   11995   }
   11996   attr {
   11997     name: "strides"
   11998     type: "list(int)"
   11999     has_minimum: true
   12000     minimum: 5
   12001   }
   12002   attr {
   12003     name: "padding"
   12004     type: "string"
   12005     allowed_values {
   12006       list {
   12007         s: "SAME"
   12008         s: "VALID"
   12009       }
   12010     }
   12011   }
   12012   attr {
   12013     name: "data_format"
   12014     type: "string"
   12015     default_value {
   12016       s: "NDHWC"
   12017     }
   12018     allowed_values {
   12019       list {
   12020         s: "NDHWC"
   12021         s: "NCDHW"
   12022       }
   12023     }
   12024   }
   12025   attr {
   12026     name: "dilations"
   12027     type: "list(int)"
   12028     default_value {
   12029       list {
   12030         i: 1
   12031         i: 1
   12032         i: 1
   12033         i: 1
   12034         i: 1
   12035       }
   12036     }
   12037   }
   12038 }
   12039 op {
   12040   name: "Conv3DBackpropFilter"
   12041   input_arg {
   12042     name: "input"
   12043     type_attr: "T"
   12044   }
   12045   input_arg {
   12046     name: "filter"
   12047     type_attr: "T"
   12048   }
   12049   input_arg {
   12050     name: "out_backprop"
   12051     type_attr: "T"
   12052   }
   12053   output_arg {
   12054     name: "output"
   12055     type_attr: "T"
   12056   }
   12057   attr {
   12058     name: "T"
   12059     type: "type"
   12060     allowed_values {
   12061       list {
   12062         type: DT_FLOAT
   12063         type: DT_DOUBLE
   12064       }
   12065     }
   12066   }
   12067   attr {
   12068     name: "strides"
   12069     type: "list(int)"
   12070     has_minimum: true
   12071     minimum: 5
   12072   }
   12073   attr {
   12074     name: "padding"
   12075     type: "string"
   12076     allowed_values {
   12077       list {
   12078         s: "SAME"
   12079         s: "VALID"
   12080       }
   12081     }
   12082   }
   12083   deprecation {
   12084     version: 10
   12085   }
   12086 }
   12087 op {
   12088   name: "Conv3DBackpropFilter"
   12089   input_arg {
   12090     name: "input"
   12091     type_attr: "T"
   12092   }
   12093   input_arg {
   12094     name: "filter"
   12095     type_attr: "T"
   12096   }
   12097   input_arg {
   12098     name: "out_backprop"
   12099     type_attr: "T"
   12100   }
   12101   output_arg {
   12102     name: "output"
   12103     type_attr: "T"
   12104   }
   12105   attr {
   12106     name: "T"
   12107     type: "type"
   12108     allowed_values {
   12109       list {
   12110         type: DT_HALF
   12111         type: DT_FLOAT
   12112         type: DT_DOUBLE
   12113       }
   12114     }
   12115   }
   12116   attr {
   12117     name: "strides"
   12118     type: "list(int)"
   12119     has_minimum: true
   12120     minimum: 5
   12121   }
   12122   attr {
   12123     name: "padding"
   12124     type: "string"
   12125     allowed_values {
   12126       list {
   12127         s: "SAME"
   12128         s: "VALID"
   12129       }
   12130     }
   12131   }
   12132   deprecation {
   12133     version: 10
   12134   }
   12135 }
   12136 op {
   12137   name: "Conv3DBackpropFilterV2"
   12138   input_arg {
   12139     name: "input"
   12140     type_attr: "T"
   12141   }
   12142   input_arg {
   12143     name: "filter_sizes"
   12144     type: DT_INT32
   12145   }
   12146   input_arg {
   12147     name: "out_backprop"
   12148     type_attr: "T"
   12149   }
   12150   output_arg {
   12151     name: "output"
   12152     type_attr: "T"
   12153   }
   12154   attr {
   12155     name: "T"
   12156     type: "type"
   12157     allowed_values {
   12158       list {
   12159         type: DT_FLOAT
   12160         type: DT_DOUBLE
   12161       }
   12162     }
   12163   }
   12164   attr {
   12165     name: "strides"
   12166     type: "list(int)"
   12167     has_minimum: true
   12168     minimum: 5
   12169   }
   12170   attr {
   12171     name: "padding"
   12172     type: "string"
   12173     allowed_values {
   12174       list {
   12175         s: "SAME"
   12176         s: "VALID"
   12177       }
   12178     }
   12179   }
   12180 }
   12181 op {
   12182   name: "Conv3DBackpropFilterV2"
   12183   input_arg {
   12184     name: "input"
   12185     type_attr: "T"
   12186   }
   12187   input_arg {
   12188     name: "filter_sizes"
   12189     type: DT_INT32
   12190   }
   12191   input_arg {
   12192     name: "out_backprop"
   12193     type_attr: "T"
   12194   }
   12195   output_arg {
   12196     name: "output"
   12197     type_attr: "T"
   12198   }
   12199   attr {
   12200     name: "T"
   12201     type: "type"
   12202     allowed_values {
   12203       list {
   12204         type: DT_FLOAT
   12205         type: DT_DOUBLE
   12206       }
   12207     }
   12208   }
   12209   attr {
   12210     name: "strides"
   12211     type: "list(int)"
   12212     has_minimum: true
   12213     minimum: 5
   12214   }
   12215   attr {
   12216     name: "padding"
   12217     type: "string"
   12218     allowed_values {
   12219       list {
   12220         s: "SAME"
   12221         s: "VALID"
   12222       }
   12223     }
   12224   }
   12225   attr {
   12226     name: "data_format"
   12227     type: "string"
   12228     default_value {
   12229       s: "NDHWC"
   12230     }
   12231     allowed_values {
   12232       list {
   12233         s: "NDHWC"
   12234         s: "NCDHW"
   12235       }
   12236     }
   12237   }
   12238 }
   12239 op {
   12240   name: "Conv3DBackpropFilterV2"
   12241   input_arg {
   12242     name: "input"
   12243     type_attr: "T"
   12244   }
   12245   input_arg {
   12246     name: "filter_sizes"
   12247     type: DT_INT32
   12248   }
   12249   input_arg {
   12250     name: "out_backprop"
   12251     type_attr: "T"
   12252   }
   12253   output_arg {
   12254     name: "output"
   12255     type_attr: "T"
   12256   }
   12257   attr {
   12258     name: "T"
   12259     type: "type"
   12260     allowed_values {
   12261       list {
   12262         type: DT_HALF
   12263         type: DT_BFLOAT16
   12264         type: DT_FLOAT
   12265         type: DT_DOUBLE
   12266       }
   12267     }
   12268   }
   12269   attr {
   12270     name: "strides"
   12271     type: "list(int)"
   12272     has_minimum: true
   12273     minimum: 5
   12274   }
   12275   attr {
   12276     name: "padding"
   12277     type: "string"
   12278     allowed_values {
   12279       list {
   12280         s: "SAME"
   12281         s: "VALID"
   12282       }
   12283     }
   12284   }
   12285   attr {
   12286     name: "data_format"
   12287     type: "string"
   12288     default_value {
   12289       s: "NDHWC"
   12290     }
   12291     allowed_values {
   12292       list {
   12293         s: "NDHWC"
   12294         s: "NCDHW"
   12295       }
   12296     }
   12297   }
   12298   attr {
   12299     name: "dilations"
   12300     type: "list(int)"
   12301     default_value {
   12302       list {
   12303         i: 1
   12304         i: 1
   12305         i: 1
   12306         i: 1
   12307         i: 1
   12308       }
   12309     }
   12310   }
   12311 }
   12312 op {
   12313   name: "Conv3DBackpropInput"
   12314   input_arg {
   12315     name: "input"
   12316     type_attr: "T"
   12317   }
   12318   input_arg {
   12319     name: "filter"
   12320     type_attr: "T"
   12321   }
   12322   input_arg {
   12323     name: "out_backprop"
   12324     type_attr: "T"
   12325   }
   12326   output_arg {
   12327     name: "output"
   12328     type_attr: "T"
   12329   }
   12330   attr {
   12331     name: "T"
   12332     type: "type"
   12333     allowed_values {
   12334       list {
   12335         type: DT_FLOAT
   12336         type: DT_DOUBLE
   12337       }
   12338     }
   12339   }
   12340   attr {
   12341     name: "strides"
   12342     type: "list(int)"
   12343     has_minimum: true
   12344     minimum: 5
   12345   }
   12346   attr {
   12347     name: "padding"
   12348     type: "string"
   12349     allowed_values {
   12350       list {
   12351         s: "SAME"
   12352         s: "VALID"
   12353       }
   12354     }
   12355   }
   12356   deprecation {
   12357     version: 10
   12358   }
   12359 }
   12360 op {
   12361   name: "Conv3DBackpropInput"
   12362   input_arg {
   12363     name: "input"
   12364     type_attr: "T"
   12365   }
   12366   input_arg {
   12367     name: "filter"
   12368     type_attr: "T"
   12369   }
   12370   input_arg {
   12371     name: "out_backprop"
   12372     type_attr: "T"
   12373   }
   12374   output_arg {
   12375     name: "output"
   12376     type_attr: "T"
   12377   }
   12378   attr {
   12379     name: "T"
   12380     type: "type"
   12381     allowed_values {
   12382       list {
   12383         type: DT_HALF
   12384         type: DT_FLOAT
   12385         type: DT_DOUBLE
   12386       }
   12387     }
   12388   }
   12389   attr {
   12390     name: "strides"
   12391     type: "list(int)"
   12392     has_minimum: true
   12393     minimum: 5
   12394   }
   12395   attr {
   12396     name: "padding"
   12397     type: "string"
   12398     allowed_values {
   12399       list {
   12400         s: "SAME"
   12401         s: "VALID"
   12402       }
   12403     }
   12404   }
   12405   deprecation {
   12406     version: 10
   12407   }
   12408 }
   12409 op {
   12410   name: "Conv3DBackpropInputV2"
   12411   input_arg {
   12412     name: "input_sizes"
   12413     type: DT_INT32
   12414   }
   12415   input_arg {
   12416     name: "filter"
   12417     type_attr: "T"
   12418   }
   12419   input_arg {
   12420     name: "out_backprop"
   12421     type_attr: "T"
   12422   }
   12423   output_arg {
   12424     name: "output"
   12425     type_attr: "T"
   12426   }
   12427   attr {
   12428     name: "T"
   12429     type: "type"
   12430     allowed_values {
   12431       list {
   12432         type: DT_FLOAT
   12433         type: DT_DOUBLE
   12434       }
   12435     }
   12436   }
   12437   attr {
   12438     name: "strides"
   12439     type: "list(int)"
   12440     has_minimum: true
   12441     minimum: 5
   12442   }
   12443   attr {
   12444     name: "padding"
   12445     type: "string"
   12446     allowed_values {
   12447       list {
   12448         s: "SAME"
   12449         s: "VALID"
   12450       }
   12451     }
   12452   }
   12453 }
   12454 op {
   12455   name: "Conv3DBackpropInputV2"
   12456   input_arg {
   12457     name: "input_sizes"
   12458     type: DT_INT32
   12459   }
   12460   input_arg {
   12461     name: "filter"
   12462     type_attr: "T"
   12463   }
   12464   input_arg {
   12465     name: "out_backprop"
   12466     type_attr: "T"
   12467   }
   12468   output_arg {
   12469     name: "output"
   12470     type_attr: "T"
   12471   }
   12472   attr {
   12473     name: "T"
   12474     type: "type"
   12475     allowed_values {
   12476       list {
   12477         type: DT_FLOAT
   12478         type: DT_DOUBLE
   12479       }
   12480     }
   12481   }
   12482   attr {
   12483     name: "strides"
   12484     type: "list(int)"
   12485     has_minimum: true
   12486     minimum: 5
   12487   }
   12488   attr {
   12489     name: "padding"
   12490     type: "string"
   12491     allowed_values {
   12492       list {
   12493         s: "SAME"
   12494         s: "VALID"
   12495       }
   12496     }
   12497   }
   12498   attr {
   12499     name: "data_format"
   12500     type: "string"
   12501     default_value {
   12502       s: "NDHWC"
   12503     }
   12504     allowed_values {
   12505       list {
   12506         s: "NDHWC"
   12507         s: "NCDHW"
   12508       }
   12509     }
   12510   }
   12511 }
   12512 op {
   12513   name: "Conv3DBackpropInputV2"
   12514   input_arg {
   12515     name: "input_sizes"
   12516     type: DT_INT32
   12517   }
   12518   input_arg {
   12519     name: "filter"
   12520     type_attr: "T"
   12521   }
   12522   input_arg {
   12523     name: "out_backprop"
   12524     type_attr: "T"
   12525   }
   12526   output_arg {
   12527     name: "output"
   12528     type_attr: "T"
   12529   }
   12530   attr {
   12531     name: "T"
   12532     type: "type"
   12533     allowed_values {
   12534       list {
   12535         type: DT_HALF
   12536         type: DT_BFLOAT16
   12537         type: DT_FLOAT
   12538         type: DT_DOUBLE
   12539       }
   12540     }
   12541   }
   12542   attr {
   12543     name: "strides"
   12544     type: "list(int)"
   12545     has_minimum: true
   12546     minimum: 5
   12547   }
   12548   attr {
   12549     name: "padding"
   12550     type: "string"
   12551     allowed_values {
   12552       list {
   12553         s: "SAME"
   12554         s: "VALID"
   12555       }
   12556     }
   12557   }
   12558   attr {
   12559     name: "data_format"
   12560     type: "string"
   12561     default_value {
   12562       s: "NDHWC"
   12563     }
   12564     allowed_values {
   12565       list {
   12566         s: "NDHWC"
   12567         s: "NCDHW"
   12568       }
   12569     }
   12570   }
   12571   attr {
   12572     name: "dilations"
   12573     type: "list(int)"
   12574     default_value {
   12575       list {
   12576         i: 1
   12577         i: 1
   12578         i: 1
   12579         i: 1
   12580         i: 1
   12581       }
   12582     }
   12583   }
   12584 }
   12585 op {
   12586   name: "Copy"
   12587   input_arg {
   12588     name: "input"
   12589     type_attr: "T"
   12590   }
   12591   output_arg {
   12592     name: "output"
   12593     type_attr: "T"
   12594   }
   12595   attr {
   12596     name: "T"
   12597     type: "type"
   12598   }
   12599   attr {
   12600     name: "tensor_name"
   12601     type: "string"
   12602     default_value {
   12603       s: ""
   12604     }
   12605   }
   12606   allows_uninitialized_input: true
   12607 }
   12608 op {
   12609   name: "Copy"
   12610   input_arg {
   12611     name: "input"
   12612     type_attr: "T"
   12613   }
   12614   output_arg {
   12615     name: "output"
   12616     type_attr: "T"
   12617   }
   12618   attr {
   12619     name: "T"
   12620     type: "type"
   12621   }
   12622   attr {
   12623     name: "tensor_name"
   12624     type: "string"
   12625     default_value {
   12626       s: ""
   12627     }
   12628   }
   12629   attr {
   12630     name: "debug_ops_spec"
   12631     type: "list(string)"
   12632     default_value {
   12633       list {
   12634       }
   12635     }
   12636   }
   12637   allows_uninitialized_input: true
   12638 }
   12639 op {
   12640   name: "CopyHost"
   12641   input_arg {
   12642     name: "input"
   12643     type_attr: "T"
   12644   }
   12645   output_arg {
   12646     name: "output"
   12647     type_attr: "T"
   12648   }
   12649   attr {
   12650     name: "T"
   12651     type: "type"
   12652   }
   12653   attr {
   12654     name: "tensor_name"
   12655     type: "string"
   12656     default_value {
   12657       s: ""
   12658     }
   12659   }
   12660   allows_uninitialized_input: true
   12661 }
   12662 op {
   12663   name: "CopyHost"
   12664   input_arg {
   12665     name: "input"
   12666     type_attr: "T"
   12667   }
   12668   output_arg {
   12669     name: "output"
   12670     type_attr: "T"
   12671   }
   12672   attr {
   12673     name: "T"
   12674     type: "type"
   12675   }
   12676   attr {
   12677     name: "tensor_name"
   12678     type: "string"
   12679     default_value {
   12680       s: ""
   12681     }
   12682   }
   12683   attr {
   12684     name: "debug_ops_spec"
   12685     type: "list(string)"
   12686     default_value {
   12687       list {
   12688       }
   12689     }
   12690   }
   12691   allows_uninitialized_input: true
   12692 }
   12693 op {
   12694   name: "Cos"
   12695   input_arg {
   12696     name: "x"
   12697     type_attr: "T"
   12698   }
   12699   output_arg {
   12700     name: "y"
   12701     type_attr: "T"
   12702   }
   12703   attr {
   12704     name: "T"
   12705     type: "type"
   12706     allowed_values {
   12707       list {
   12708         type: DT_HALF
   12709         type: DT_FLOAT
   12710         type: DT_DOUBLE
   12711         type: DT_COMPLEX64
   12712         type: DT_COMPLEX128
   12713       }
   12714     }
   12715   }
   12716 }
   12717 op {
   12718   name: "Cos"
   12719   input_arg {
   12720     name: "x"
   12721     type_attr: "T"
   12722   }
   12723   output_arg {
   12724     name: "y"
   12725     type_attr: "T"
   12726   }
   12727   attr {
   12728     name: "T"
   12729     type: "type"
   12730     allowed_values {
   12731       list {
   12732         type: DT_HALF
   12733         type: DT_BFLOAT16
   12734         type: DT_FLOAT
   12735         type: DT_DOUBLE
   12736         type: DT_COMPLEX64
   12737         type: DT_COMPLEX128
   12738       }
   12739     }
   12740   }
   12741 }
   12742 op {
   12743   name: "Cosh"
   12744   input_arg {
   12745     name: "x"
   12746     type_attr: "T"
   12747   }
   12748   output_arg {
   12749     name: "y"
   12750     type_attr: "T"
   12751   }
   12752   attr {
   12753     name: "T"
   12754     type: "type"
   12755     allowed_values {
   12756       list {
   12757         type: DT_HALF
   12758         type: DT_FLOAT
   12759         type: DT_DOUBLE
   12760         type: DT_COMPLEX64
   12761         type: DT_COMPLEX128
   12762       }
   12763     }
   12764   }
   12765 }
   12766 op {
   12767   name: "Cosh"
   12768   input_arg {
   12769     name: "x"
   12770     type_attr: "T"
   12771   }
   12772   output_arg {
   12773     name: "y"
   12774     type_attr: "T"
   12775   }
   12776   attr {
   12777     name: "T"
   12778     type: "type"
   12779     allowed_values {
   12780       list {
   12781         type: DT_HALF
   12782         type: DT_BFLOAT16
   12783         type: DT_FLOAT
   12784         type: DT_DOUBLE
   12785         type: DT_COMPLEX64
   12786         type: DT_COMPLEX128
   12787       }
   12788     }
   12789   }
   12790 }
   12791 op {
   12792   name: "CountUpTo"
   12793   input_arg {
   12794     name: "ref"
   12795     type_attr: "T"
   12796     is_ref: true
   12797   }
   12798   output_arg {
   12799     name: "output"
   12800     type_attr: "T"
   12801   }
   12802   attr {
   12803     name: "limit"
   12804     type: "int"
   12805   }
   12806   attr {
   12807     name: "T"
   12808     type: "type"
   12809     allowed_values {
   12810       list {
   12811         type: DT_INT32
   12812         type: DT_INT64
   12813       }
   12814     }
   12815   }
   12816 }
   12817 op {
   12818   name: "CriticalSectionOp"
   12819   output_arg {
   12820     name: "resource"
   12821     type: DT_RESOURCE
   12822   }
   12823   attr {
   12824     name: "container"
   12825     type: "string"
   12826     default_value {
   12827       s: ""
   12828     }
   12829   }
   12830   attr {
   12831     name: "shared_name"
   12832     type: "string"
   12833     default_value {
   12834       s: ""
   12835     }
   12836   }
   12837   is_stateful: true
   12838 }
   12839 op {
   12840   name: "CropAndResize"
   12841   input_arg {
   12842     name: "image"
   12843     type_attr: "T"
   12844   }
   12845   input_arg {
   12846     name: "boxes"
   12847     type: DT_FLOAT
   12848   }
   12849   input_arg {
   12850     name: "box_ind"
   12851     type: DT_INT32
   12852   }
   12853   input_arg {
   12854     name: "crop_size"
   12855     type: DT_INT32
   12856   }
   12857   output_arg {
   12858     name: "crops"
   12859     type: DT_FLOAT
   12860   }
   12861   attr {
   12862     name: "T"
   12863     type: "type"
   12864     allowed_values {
   12865       list {
   12866         type: DT_UINT8
   12867         type: DT_INT8
   12868         type: DT_INT16
   12869         type: DT_INT32
   12870         type: DT_INT64
   12871         type: DT_HALF
   12872         type: DT_FLOAT
   12873         type: DT_DOUBLE
   12874       }
   12875     }
   12876   }
   12877   attr {
   12878     name: "method"
   12879     type: "string"
   12880     default_value {
   12881       s: "bilinear"
   12882     }
   12883     allowed_values {
   12884       list {
   12885         s: "bilinear"
   12886       }
   12887     }
   12888   }
   12889   attr {
   12890     name: "extrapolation_value"
   12891     type: "float"
   12892     default_value {
   12893       f: 0
   12894     }
   12895   }
   12896 }
   12897 op {
   12898   name: "CropAndResize"
   12899   input_arg {
   12900     name: "image"
   12901     type_attr: "T"
   12902   }
   12903   input_arg {
   12904     name: "boxes"
   12905     type: DT_FLOAT
   12906   }
   12907   input_arg {
   12908     name: "box_ind"
   12909     type: DT_INT32
   12910   }
   12911   input_arg {
   12912     name: "crop_size"
   12913     type: DT_INT32
   12914   }
   12915   output_arg {
   12916     name: "crops"
   12917     type: DT_FLOAT
   12918   }
   12919   attr {
   12920     name: "T"
   12921     type: "type"
   12922     allowed_values {
   12923       list {
   12924         type: DT_UINT8
   12925         type: DT_UINT16
   12926         type: DT_INT8
   12927         type: DT_INT16
   12928         type: DT_INT32
   12929         type: DT_INT64
   12930         type: DT_HALF
   12931         type: DT_FLOAT
   12932         type: DT_DOUBLE
   12933       }
   12934     }
   12935   }
   12936   attr {
   12937     name: "method"
   12938     type: "string"
   12939     default_value {
   12940       s: "bilinear"
   12941     }
   12942     allowed_values {
   12943       list {
   12944         s: "bilinear"
   12945       }
   12946     }
   12947   }
   12948   attr {
   12949     name: "extrapolation_value"
   12950     type: "float"
   12951     default_value {
   12952       f: 0
   12953     }
   12954   }
   12955 }
   12956 op {
   12957   name: "CropAndResizeGradBoxes"
   12958   input_arg {
   12959     name: "grads"
   12960     type: DT_FLOAT
   12961   }
   12962   input_arg {
   12963     name: "image"
   12964     type_attr: "T"
   12965   }
   12966   input_arg {
   12967     name: "boxes"
   12968     type: DT_FLOAT
   12969   }
   12970   input_arg {
   12971     name: "box_ind"
   12972     type: DT_INT32
   12973   }
   12974   output_arg {
   12975     name: "output"
   12976     type: DT_FLOAT
   12977   }
   12978   attr {
   12979     name: "T"
   12980     type: "type"
   12981     allowed_values {
   12982       list {
   12983         type: DT_UINT8
   12984         type: DT_INT8
   12985         type: DT_INT16
   12986         type: DT_INT32
   12987         type: DT_INT64
   12988         type: DT_HALF
   12989         type: DT_FLOAT
   12990         type: DT_DOUBLE
   12991       }
   12992     }
   12993   }
   12994   attr {
   12995     name: "method"
   12996     type: "string"
   12997     default_value {
   12998       s: "bilinear"
   12999     }
   13000     allowed_values {
   13001       list {
   13002         s: "bilinear"
   13003       }
   13004     }
   13005   }
   13006 }
   13007 op {
   13008   name: "CropAndResizeGradBoxes"
   13009   input_arg {
   13010     name: "grads"
   13011     type: DT_FLOAT
   13012   }
   13013   input_arg {
   13014     name: "image"
   13015     type_attr: "T"
   13016   }
   13017   input_arg {
   13018     name: "boxes"
   13019     type: DT_FLOAT
   13020   }
   13021   input_arg {
   13022     name: "box_ind"
   13023     type: DT_INT32
   13024   }
   13025   output_arg {
   13026     name: "output"
   13027     type: DT_FLOAT
   13028   }
   13029   attr {
   13030     name: "T"
   13031     type: "type"
   13032     allowed_values {
   13033       list {
   13034         type: DT_UINT8
   13035         type: DT_UINT16
   13036         type: DT_INT8
   13037         type: DT_INT16
   13038         type: DT_INT32
   13039         type: DT_INT64
   13040         type: DT_HALF
   13041         type: DT_FLOAT
   13042         type: DT_DOUBLE
   13043       }
   13044     }
   13045   }
   13046   attr {
   13047     name: "method"
   13048     type: "string"
   13049     default_value {
   13050       s: "bilinear"
   13051     }
   13052     allowed_values {
   13053       list {
   13054         s: "bilinear"
   13055       }
   13056     }
   13057   }
   13058 }
   13059 op {
   13060   name: "CropAndResizeGradImage"
   13061   input_arg {
   13062     name: "grads"
   13063     type: DT_FLOAT
   13064   }
   13065   input_arg {
   13066     name: "boxes"
   13067     type: DT_FLOAT
   13068   }
   13069   input_arg {
   13070     name: "box_ind"
   13071     type: DT_INT32
   13072   }
   13073   input_arg {
   13074     name: "image_size"
   13075     type: DT_INT32
   13076   }
   13077   output_arg {
   13078     name: "output"
   13079     type_attr: "T"
   13080   }
   13081   attr {
   13082     name: "T"
   13083     type: "type"
   13084     allowed_values {
   13085       list {
   13086         type: DT_FLOAT
   13087         type: DT_HALF
   13088         type: DT_DOUBLE
   13089       }
   13090     }
   13091   }
   13092   attr {
   13093     name: "method"
   13094     type: "string"
   13095     default_value {
   13096       s: "bilinear"
   13097     }
   13098     allowed_values {
   13099       list {
   13100         s: "bilinear"
   13101       }
   13102     }
   13103   }
   13104 }
   13105 op {
   13106   name: "Cross"
   13107   input_arg {
   13108     name: "a"
   13109     type_attr: "T"
   13110   }
   13111   input_arg {
   13112     name: "b"
   13113     type_attr: "T"
   13114   }
   13115   output_arg {
   13116     name: "product"
   13117     type_attr: "T"
   13118   }
   13119   attr {
   13120     name: "T"
   13121     type: "type"
   13122     allowed_values {
   13123       list {
   13124         type: DT_FLOAT
   13125         type: DT_DOUBLE
   13126         type: DT_INT32
   13127         type: DT_INT64
   13128         type: DT_UINT8
   13129         type: DT_INT16
   13130         type: DT_INT8
   13131         type: DT_UINT16
   13132         type: DT_HALF
   13133       }
   13134     }
   13135   }
   13136 }
   13137 op {
   13138   name: "Cross"
   13139   input_arg {
   13140     name: "a"
   13141     type_attr: "T"
   13142   }
   13143   input_arg {
   13144     name: "b"
   13145     type_attr: "T"
   13146   }
   13147   output_arg {
   13148     name: "product"
   13149     type_attr: "T"
   13150   }
   13151   attr {
   13152     name: "T"
   13153     type: "type"
   13154     allowed_values {
   13155       list {
   13156         type: DT_FLOAT
   13157         type: DT_DOUBLE
   13158         type: DT_INT32
   13159         type: DT_INT64
   13160         type: DT_UINT8
   13161         type: DT_INT16
   13162         type: DT_INT8
   13163         type: DT_UINT16
   13164         type: DT_HALF
   13165         type: DT_UINT32
   13166         type: DT_UINT64
   13167       }
   13168     }
   13169   }
   13170 }
   13171 op {
   13172   name: "Cross"
   13173   input_arg {
   13174     name: "a"
   13175     type_attr: "T"
   13176   }
   13177   input_arg {
   13178     name: "b"
   13179     type_attr: "T"
   13180   }
   13181   output_arg {
   13182     name: "product"
   13183     type_attr: "T"
   13184   }
   13185   attr {
   13186     name: "T"
   13187     type: "type"
   13188     allowed_values {
   13189       list {
   13190         type: DT_FLOAT
   13191         type: DT_DOUBLE
   13192         type: DT_INT32
   13193         type: DT_INT64
   13194         type: DT_UINT8
   13195         type: DT_INT16
   13196         type: DT_INT8
   13197         type: DT_UINT16
   13198         type: DT_HALF
   13199         type: DT_UINT32
   13200         type: DT_UINT64
   13201         type: DT_BFLOAT16
   13202       }
   13203     }
   13204   }
   13205 }
   13206 op {
   13207   name: "Cross"
   13208   input_arg {
   13209     name: "a"
   13210     type_attr: "T"
   13211   }
   13212   input_arg {
   13213     name: "b"
   13214     type_attr: "T"
   13215   }
   13216   output_arg {
   13217     name: "product"
   13218     type_attr: "T"
   13219   }
   13220   attr {
   13221     name: "T"
   13222     type: "type"
   13223     allowed_values {
   13224       list {
   13225         type: DT_FLOAT
   13226         type: DT_DOUBLE
   13227         type: DT_INT32
   13228         type: DT_UINT8
   13229         type: DT_INT16
   13230         type: DT_INT8
   13231         type: DT_INT64
   13232         type: DT_BFLOAT16
   13233         type: DT_UINT16
   13234         type: DT_HALF
   13235         type: DT_UINT32
   13236         type: DT_UINT64
   13237       }
   13238     }
   13239   }
   13240 }
   13241 op {
   13242   name: "Cumprod"
   13243   input_arg {
   13244     name: "x"
   13245     type_attr: "T"
   13246   }
   13247   input_arg {
   13248     name: "axis"
   13249     type_attr: "Tidx"
   13250   }
   13251   output_arg {
   13252     name: "out"
   13253     type_attr: "T"
   13254   }
   13255   attr {
   13256     name: "exclusive"
   13257     type: "bool"
   13258     default_value {
   13259       b: false
   13260     }
   13261   }
   13262   attr {
   13263     name: "reverse"
   13264     type: "bool"
   13265     default_value {
   13266       b: false
   13267     }
   13268   }
   13269   attr {
   13270     name: "T"
   13271     type: "type"
   13272     allowed_values {
   13273       list {
   13274         type: DT_FLOAT
   13275         type: DT_DOUBLE
   13276         type: DT_INT64
   13277         type: DT_INT32
   13278         type: DT_UINT8
   13279         type: DT_UINT16
   13280         type: DT_INT16
   13281         type: DT_INT8
   13282         type: DT_COMPLEX64
   13283         type: DT_COMPLEX128
   13284         type: DT_QINT8
   13285         type: DT_QUINT8
   13286         type: DT_QINT32
   13287         type: DT_HALF
   13288       }
   13289     }
   13290   }
   13291   attr {
   13292     name: "Tidx"
   13293     type: "type"
   13294     default_value {
   13295       type: DT_INT32
   13296     }
   13297     allowed_values {
   13298       list {
   13299         type: DT_INT32
   13300         type: DT_INT64
   13301       }
   13302     }
   13303   }
   13304 }
   13305 op {
   13306   name: "Cumprod"
   13307   input_arg {
   13308     name: "x"
   13309     type_attr: "T"
   13310   }
   13311   input_arg {
   13312     name: "axis"
   13313     type_attr: "Tidx"
   13314   }
   13315   output_arg {
   13316     name: "out"
   13317     type_attr: "T"
   13318   }
   13319   attr {
   13320     name: "exclusive"
   13321     type: "bool"
   13322     default_value {
   13323       b: false
   13324     }
   13325   }
   13326   attr {
   13327     name: "reverse"
   13328     type: "bool"
   13329     default_value {
   13330       b: false
   13331     }
   13332   }
   13333   attr {
   13334     name: "T"
   13335     type: "type"
   13336     allowed_values {
   13337       list {
   13338         type: DT_FLOAT
   13339         type: DT_DOUBLE
   13340         type: DT_INT64
   13341         type: DT_INT32
   13342         type: DT_UINT8
   13343         type: DT_UINT16
   13344         type: DT_INT16
   13345         type: DT_INT8
   13346         type: DT_COMPLEX64
   13347         type: DT_COMPLEX128
   13348         type: DT_QINT8
   13349         type: DT_QUINT8
   13350         type: DT_QINT32
   13351         type: DT_HALF
   13352         type: DT_UINT32
   13353         type: DT_UINT64
   13354       }
   13355     }
   13356   }
   13357   attr {
   13358     name: "Tidx"
   13359     type: "type"
   13360     default_value {
   13361       type: DT_INT32
   13362     }
   13363     allowed_values {
   13364       list {
   13365         type: DT_INT32
   13366         type: DT_INT64
   13367       }
   13368     }
   13369   }
   13370 }
   13371 op {
   13372   name: "Cumprod"
   13373   input_arg {
   13374     name: "x"
   13375     type_attr: "T"
   13376   }
   13377   input_arg {
   13378     name: "axis"
   13379     type_attr: "Tidx"
   13380   }
   13381   output_arg {
   13382     name: "out"
   13383     type_attr: "T"
   13384   }
   13385   attr {
   13386     name: "exclusive"
   13387     type: "bool"
   13388     default_value {
   13389       b: false
   13390     }
   13391   }
   13392   attr {
   13393     name: "reverse"
   13394     type: "bool"
   13395     default_value {
   13396       b: false
   13397     }
   13398   }
   13399   attr {
   13400     name: "T"
   13401     type: "type"
   13402     allowed_values {
   13403       list {
   13404         type: DT_FLOAT
   13405         type: DT_DOUBLE
   13406         type: DT_INT64
   13407         type: DT_INT32
   13408         type: DT_UINT8
   13409         type: DT_UINT16
   13410         type: DT_INT16
   13411         type: DT_INT8
   13412         type: DT_COMPLEX64
   13413         type: DT_COMPLEX128
   13414         type: DT_QINT8
   13415         type: DT_QUINT8
   13416         type: DT_QINT32
   13417         type: DT_HALF
   13418         type: DT_UINT32
   13419         type: DT_UINT64
   13420         type: DT_BFLOAT16
   13421       }
   13422     }
   13423   }
   13424   attr {
   13425     name: "Tidx"
   13426     type: "type"
   13427     default_value {
   13428       type: DT_INT32
   13429     }
   13430     allowed_values {
   13431       list {
   13432         type: DT_INT32
   13433         type: DT_INT64
   13434       }
   13435     }
   13436   }
   13437 }
   13438 op {
   13439   name: "Cumprod"
   13440   input_arg {
   13441     name: "x"
   13442     type_attr: "T"
   13443   }
   13444   input_arg {
   13445     name: "axis"
   13446     type_attr: "Tidx"
   13447   }
   13448   output_arg {
   13449     name: "out"
   13450     type_attr: "T"
   13451   }
   13452   attr {
   13453     name: "exclusive"
   13454     type: "bool"
   13455     default_value {
   13456       b: false
   13457     }
   13458   }
   13459   attr {
   13460     name: "reverse"
   13461     type: "bool"
   13462     default_value {
   13463       b: false
   13464     }
   13465   }
   13466   attr {
   13467     name: "T"
   13468     type: "type"
   13469     allowed_values {
   13470       list {
   13471         type: DT_FLOAT
   13472         type: DT_DOUBLE
   13473         type: DT_INT32
   13474         type: DT_UINT8
   13475         type: DT_INT16
   13476         type: DT_INT8
   13477         type: DT_COMPLEX64
   13478         type: DT_INT64
   13479         type: DT_QINT8
   13480         type: DT_QUINT8
   13481         type: DT_QINT32
   13482         type: DT_BFLOAT16
   13483         type: DT_UINT16
   13484         type: DT_COMPLEX128
   13485         type: DT_HALF
   13486         type: DT_UINT32
   13487         type: DT_UINT64
   13488       }
   13489     }
   13490   }
   13491   attr {
   13492     name: "Tidx"
   13493     type: "type"
   13494     default_value {
   13495       type: DT_INT32
   13496     }
   13497     allowed_values {
   13498       list {
   13499         type: DT_INT32
   13500         type: DT_INT64
   13501       }
   13502     }
   13503   }
   13504 }
   13505 op {
   13506   name: "Cumsum"
   13507   input_arg {
   13508     name: "x"
   13509     type_attr: "T"
   13510   }
   13511   input_arg {
   13512     name: "axis"
   13513     type_attr: "Tidx"
   13514   }
   13515   output_arg {
   13516     name: "out"
   13517     type_attr: "T"
   13518   }
   13519   attr {
   13520     name: "exclusive"
   13521     type: "bool"
   13522     default_value {
   13523       b: false
   13524     }
   13525   }
   13526   attr {
   13527     name: "reverse"
   13528     type: "bool"
   13529     default_value {
   13530       b: false
   13531     }
   13532   }
   13533   attr {
   13534     name: "T"
   13535     type: "type"
   13536     allowed_values {
   13537       list {
   13538         type: DT_FLOAT
   13539         type: DT_DOUBLE
   13540         type: DT_INT64
   13541         type: DT_INT32
   13542         type: DT_UINT8
   13543         type: DT_UINT16
   13544         type: DT_INT16
   13545         type: DT_INT8
   13546         type: DT_COMPLEX64
   13547         type: DT_COMPLEX128
   13548         type: DT_QINT8
   13549         type: DT_QUINT8
   13550         type: DT_QINT32
   13551         type: DT_HALF
   13552       }
   13553     }
   13554   }
   13555   attr {
   13556     name: "Tidx"
   13557     type: "type"
   13558     default_value {
   13559       type: DT_INT32
   13560     }
   13561     allowed_values {
   13562       list {
   13563         type: DT_INT32
   13564         type: DT_INT64
   13565       }
   13566     }
   13567   }
   13568 }
   13569 op {
   13570   name: "Cumsum"
   13571   input_arg {
   13572     name: "x"
   13573     type_attr: "T"
   13574   }
   13575   input_arg {
   13576     name: "axis"
   13577     type_attr: "Tidx"
   13578   }
   13579   output_arg {
   13580     name: "out"
   13581     type_attr: "T"
   13582   }
   13583   attr {
   13584     name: "exclusive"
   13585     type: "bool"
   13586     default_value {
   13587       b: false
   13588     }
   13589   }
   13590   attr {
   13591     name: "reverse"
   13592     type: "bool"
   13593     default_value {
   13594       b: false
   13595     }
   13596   }
   13597   attr {
   13598     name: "T"
   13599     type: "type"
   13600     allowed_values {
   13601       list {
   13602         type: DT_FLOAT
   13603         type: DT_DOUBLE
   13604         type: DT_INT64
   13605         type: DT_INT32
   13606         type: DT_UINT8
   13607         type: DT_UINT16
   13608         type: DT_INT16
   13609         type: DT_INT8
   13610         type: DT_COMPLEX64
   13611         type: DT_COMPLEX128
   13612         type: DT_QINT8
   13613         type: DT_QUINT8
   13614         type: DT_QINT32
   13615         type: DT_HALF
   13616         type: DT_UINT32
   13617         type: DT_UINT64
   13618       }
   13619     }
   13620   }
   13621   attr {
   13622     name: "Tidx"
   13623     type: "type"
   13624     default_value {
   13625       type: DT_INT32
   13626     }
   13627     allowed_values {
   13628       list {
   13629         type: DT_INT32
   13630         type: DT_INT64
   13631       }
   13632     }
   13633   }
   13634 }
   13635 op {
   13636   name: "Cumsum"
   13637   input_arg {
   13638     name: "x"
   13639     type_attr: "T"
   13640   }
   13641   input_arg {
   13642     name: "axis"
   13643     type_attr: "Tidx"
   13644   }
   13645   output_arg {
   13646     name: "out"
   13647     type_attr: "T"
   13648   }
   13649   attr {
   13650     name: "exclusive"
   13651     type: "bool"
   13652     default_value {
   13653       b: false
   13654     }
   13655   }
   13656   attr {
   13657     name: "reverse"
   13658     type: "bool"
   13659     default_value {
   13660       b: false
   13661     }
   13662   }
   13663   attr {
   13664     name: "T"
   13665     type: "type"
   13666     allowed_values {
   13667       list {
   13668         type: DT_FLOAT
   13669         type: DT_DOUBLE
   13670         type: DT_INT64
   13671         type: DT_INT32
   13672         type: DT_UINT8
   13673         type: DT_UINT16
   13674         type: DT_INT16
   13675         type: DT_INT8
   13676         type: DT_COMPLEX64
   13677         type: DT_COMPLEX128
   13678         type: DT_QINT8
   13679         type: DT_QUINT8
   13680         type: DT_QINT32
   13681         type: DT_HALF
   13682         type: DT_UINT32
   13683         type: DT_UINT64
   13684         type: DT_BFLOAT16
   13685       }
   13686     }
   13687   }
   13688   attr {
   13689     name: "Tidx"
   13690     type: "type"
   13691     default_value {
   13692       type: DT_INT32
   13693     }
   13694     allowed_values {
   13695       list {
   13696         type: DT_INT32
   13697         type: DT_INT64
   13698       }
   13699     }
   13700   }
   13701 }
   13702 op {
   13703   name: "Cumsum"
   13704   input_arg {
   13705     name: "x"
   13706     type_attr: "T"
   13707   }
   13708   input_arg {
   13709     name: "axis"
   13710     type_attr: "Tidx"
   13711   }
   13712   output_arg {
   13713     name: "out"
   13714     type_attr: "T"
   13715   }
   13716   attr {
   13717     name: "exclusive"
   13718     type: "bool"
   13719     default_value {
   13720       b: false
   13721     }
   13722   }
   13723   attr {
   13724     name: "reverse"
   13725     type: "bool"
   13726     default_value {
   13727       b: false
   13728     }
   13729   }
   13730   attr {
   13731     name: "T"
   13732     type: "type"
   13733     allowed_values {
   13734       list {
   13735         type: DT_FLOAT
   13736         type: DT_DOUBLE
   13737         type: DT_INT32
   13738         type: DT_UINT8
   13739         type: DT_INT16
   13740         type: DT_INT8
   13741         type: DT_COMPLEX64
   13742         type: DT_INT64
   13743         type: DT_QINT8
   13744         type: DT_QUINT8
   13745         type: DT_QINT32
   13746         type: DT_BFLOAT16
   13747         type: DT_UINT16
   13748         type: DT_COMPLEX128
   13749         type: DT_HALF
   13750         type: DT_UINT32
   13751         type: DT_UINT64
   13752       }
   13753     }
   13754   }
   13755   attr {
   13756     name: "Tidx"
   13757     type: "type"
   13758     default_value {
   13759       type: DT_INT32
   13760     }
   13761     allowed_values {
   13762       list {
   13763         type: DT_INT32
   13764         type: DT_INT64
   13765       }
   13766     }
   13767   }
   13768 }
   13769 op {
   13770   name: "DataFormatDimMap"
   13771   input_arg {
   13772     name: "x"
   13773     type_attr: "T"
   13774   }
   13775   output_arg {
   13776     name: "y"
   13777     type_attr: "T"
   13778   }
   13779   attr {
   13780     name: "T"
   13781     type: "type"
   13782     default_value {
   13783       type: DT_INT32
   13784     }
   13785     allowed_values {
   13786       list {
   13787         type: DT_INT32
   13788         type: DT_INT64
   13789       }
   13790     }
   13791   }
   13792   attr {
   13793     name: "src_format"
   13794     type: "string"
   13795     default_value {
   13796       s: "NHWC"
   13797     }
   13798   }
   13799   attr {
   13800     name: "dst_format"
   13801     type: "string"
   13802     default_value {
   13803       s: "NCHW"
   13804     }
   13805   }
   13806 }
   13807 op {
   13808   name: "DataFormatVecPermute"
   13809   input_arg {
   13810     name: "x"
   13811     type_attr: "T"
   13812   }
   13813   output_arg {
   13814     name: "y"
   13815     type_attr: "T"
   13816   }
   13817   attr {
   13818     name: "T"
   13819     type: "type"
   13820     default_value {
   13821       type: DT_INT32
   13822     }
   13823     allowed_values {
   13824       list {
   13825         type: DT_INT32
   13826         type: DT_INT64
   13827       }
   13828     }
   13829   }
   13830   attr {
   13831     name: "src_format"
   13832     type: "string"
   13833     default_value {
   13834       s: "NHWC"
   13835     }
   13836   }
   13837   attr {
   13838     name: "dst_format"
   13839     type: "string"
   13840     default_value {
   13841       s: "NCHW"
   13842     }
   13843   }
   13844 }
   13845 op {
   13846   name: "DatasetToSingleElement"
   13847   input_arg {
   13848     name: "dataset"
   13849     type: DT_VARIANT
   13850   }
   13851   output_arg {
   13852     name: "components"
   13853     type_list_attr: "output_types"
   13854   }
   13855   attr {
   13856     name: "output_types"
   13857     type: "list(type)"
   13858     has_minimum: true
   13859     minimum: 1
   13860   }
   13861   attr {
   13862     name: "output_shapes"
   13863     type: "list(shape)"
   13864     has_minimum: true
   13865     minimum: 1
   13866   }
   13867 }
   13868 op {
   13869   name: "DebugGradientIdentity"
   13870   input_arg {
   13871     name: "input"
   13872     type_attr: "T"
   13873   }
   13874   output_arg {
   13875     name: "output"
   13876     type_attr: "T"
   13877   }
   13878   attr {
   13879     name: "T"
   13880     type: "type"
   13881   }
   13882   allows_uninitialized_input: true
   13883 }
   13884 op {
   13885   name: "DebugGradientRefIdentity"
   13886   input_arg {
   13887     name: "input"
   13888     type_attr: "T"
   13889     is_ref: true
   13890   }
   13891   output_arg {
   13892     name: "output"
   13893     type_attr: "T"
   13894     is_ref: true
   13895   }
   13896   attr {
   13897     name: "T"
   13898     type: "type"
   13899   }
   13900   allows_uninitialized_input: true
   13901 }
   13902 op {
   13903   name: "DebugIdentity"
   13904   input_arg {
   13905     name: "input"
   13906     type_attr: "T"
   13907   }
   13908   output_arg {
   13909     name: "output"
   13910     type_attr: "T"
   13911   }
   13912   attr {
   13913     name: "T"
   13914     type: "type"
   13915   }
   13916   attr {
   13917     name: "tensor_name"
   13918     type: "string"
   13919     default_value {
   13920       s: ""
   13921     }
   13922   }
   13923   attr {
   13924     name: "debug_urls"
   13925     type: "list(string)"
   13926     default_value {
   13927       list {
   13928       }
   13929     }
   13930   }
   13931   allows_uninitialized_input: true
   13932 }
   13933 op {
   13934   name: "DebugIdentity"
   13935   input_arg {
   13936     name: "input"
   13937     type_attr: "T"
   13938   }
   13939   output_arg {
   13940     name: "output"
   13941     type_attr: "T"
   13942   }
   13943   attr {
   13944     name: "T"
   13945     type: "type"
   13946   }
   13947   attr {
   13948     name: "tensor_name"
   13949     type: "string"
   13950     default_value {
   13951       s: ""
   13952     }
   13953   }
   13954   attr {
   13955     name: "debug_urls"
   13956     type: "list(string)"
   13957     default_value {
   13958       list {
   13959       }
   13960     }
   13961   }
   13962   attr {
   13963     name: "gated_grpc"
   13964     type: "bool"
   13965     default_value {
   13966       b: false
   13967     }
   13968   }
   13969   allows_uninitialized_input: true
   13970 }
   13971 op {
   13972   name: "DebugIdentity"
   13973   input_arg {
   13974     name: "input"
   13975     type_attr: "T"
   13976   }
   13977   output_arg {
   13978     name: "output"
   13979     type_attr: "T"
   13980   }
   13981   attr {
   13982     name: "T"
   13983     type: "type"
   13984   }
   13985   attr {
   13986     name: "device_name"
   13987     type: "string"
   13988     default_value {
   13989       s: ""
   13990     }
   13991   }
   13992   attr {
   13993     name: "tensor_name"
   13994     type: "string"
   13995     default_value {
   13996       s: ""
   13997     }
   13998   }
   13999   attr {
   14000     name: "debug_urls"
   14001     type: "list(string)"
   14002     default_value {
   14003       list {
   14004       }
   14005     }
   14006   }
   14007   attr {
   14008     name: "gated_grpc"
   14009     type: "bool"
   14010     default_value {
   14011       b: false
   14012     }
   14013   }
   14014   allows_uninitialized_input: true
   14015 }
   14016 op {
   14017   name: "DebugNanCount"
   14018   input_arg {
   14019     name: "input"
   14020     type_attr: "T"
   14021   }
   14022   output_arg {
   14023     name: "output"
   14024     type: DT_INT64
   14025   }
   14026   attr {
   14027     name: "T"
   14028     type: "type"
   14029   }
   14030   attr {
   14031     name: "tensor_name"
   14032     type: "string"
   14033     default_value {
   14034       s: ""
   14035     }
   14036   }
   14037   attr {
   14038     name: "debug_urls"
   14039     type: "list(string)"
   14040     default_value {
   14041       list {
   14042       }
   14043     }
   14044   }
   14045   allows_uninitialized_input: true
   14046 }
   14047 op {
   14048   name: "DebugNanCount"
   14049   input_arg {
   14050     name: "input"
   14051     type_attr: "T"
   14052   }
   14053   output_arg {
   14054     name: "output"
   14055     type: DT_INT64
   14056   }
   14057   attr {
   14058     name: "T"
   14059     type: "type"
   14060   }
   14061   attr {
   14062     name: "tensor_name"
   14063     type: "string"
   14064     default_value {
   14065       s: ""
   14066     }
   14067   }
   14068   attr {
   14069     name: "debug_urls"
   14070     type: "list(string)"
   14071     default_value {
   14072       list {
   14073       }
   14074     }
   14075   }
   14076   attr {
   14077     name: "gated_grpc"
   14078     type: "bool"
   14079     default_value {
   14080       b: false
   14081     }
   14082   }
   14083   allows_uninitialized_input: true
   14084 }
   14085 op {
   14086   name: "DebugNanCount"
   14087   input_arg {
   14088     name: "input"
   14089     type_attr: "T"
   14090   }
   14091   output_arg {
   14092     name: "output"
   14093     type: DT_INT64
   14094   }
   14095   attr {
   14096     name: "T"
   14097     type: "type"
   14098   }
   14099   attr {
   14100     name: "device_name"
   14101     type: "string"
   14102     default_value {
   14103       s: ""
   14104     }
   14105   }
   14106   attr {
   14107     name: "tensor_name"
   14108     type: "string"
   14109     default_value {
   14110       s: ""
   14111     }
   14112   }
   14113   attr {
   14114     name: "debug_urls"
   14115     type: "list(string)"
   14116     default_value {
   14117       list {
   14118       }
   14119     }
   14120   }
   14121   attr {
   14122     name: "gated_grpc"
   14123     type: "bool"
   14124     default_value {
   14125       b: false
   14126     }
   14127   }
   14128   allows_uninitialized_input: true
   14129 }
   14130 op {
   14131   name: "DebugNumericSummary"
   14132   input_arg {
   14133     name: "input"
   14134     type_attr: "T"
   14135   }
   14136   output_arg {
   14137     name: "output"
   14138     type: DT_DOUBLE
   14139   }
   14140   attr {
   14141     name: "T"
   14142     type: "type"
   14143   }
   14144   attr {
   14145     name: "tensor_name"
   14146     type: "string"
   14147     default_value {
   14148       s: ""
   14149     }
   14150   }
   14151   attr {
   14152     name: "debug_urls"
   14153     type: "list(string)"
   14154     default_value {
   14155       list {
   14156       }
   14157     }
   14158   }
   14159   allows_uninitialized_input: true
   14160 }
   14161 op {
   14162   name: "DebugNumericSummary"
   14163   input_arg {
   14164     name: "input"
   14165     type_attr: "T"
   14166   }
   14167   output_arg {
   14168     name: "output"
   14169     type: DT_DOUBLE
   14170   }
   14171   attr {
   14172     name: "T"
   14173     type: "type"
   14174   }
   14175   attr {
   14176     name: "tensor_name"
   14177     type: "string"
   14178     default_value {
   14179       s: ""
   14180     }
   14181   }
   14182   attr {
   14183     name: "debug_urls"
   14184     type: "list(string)"
   14185     default_value {
   14186       list {
   14187       }
   14188     }
   14189   }
   14190   attr {
   14191     name: "lower_bound"
   14192     type: "float"
   14193     default_value {
   14194       f: -inf
   14195     }
   14196   }
   14197   attr {
   14198     name: "upper_bound"
   14199     type: "float"
   14200     default_value {
   14201       f: inf
   14202     }
   14203   }
   14204   attr {
   14205     name: "mute_if_healthy"
   14206     type: "bool"
   14207     default_value {
   14208       b: false
   14209     }
   14210   }
   14211   allows_uninitialized_input: true
   14212 }
   14213 op {
   14214   name: "DebugNumericSummary"
   14215   input_arg {
   14216     name: "input"
   14217     type_attr: "T"
   14218   }
   14219   output_arg {
   14220     name: "output"
   14221     type: DT_DOUBLE
   14222   }
   14223   attr {
   14224     name: "T"
   14225     type: "type"
   14226   }
   14227   attr {
   14228     name: "tensor_name"
   14229     type: "string"
   14230     default_value {
   14231       s: ""
   14232     }
   14233   }
   14234   attr {
   14235     name: "debug_urls"
   14236     type: "list(string)"
   14237     default_value {
   14238       list {
   14239       }
   14240     }
   14241   }
   14242   attr {
   14243     name: "lower_bound"
   14244     type: "float"
   14245     default_value {
   14246       f: -inf
   14247     }
   14248   }
   14249   attr {
   14250     name: "upper_bound"
   14251     type: "float"
   14252     default_value {
   14253       f: inf
   14254     }
   14255   }
   14256   attr {
   14257     name: "mute_if_healthy"
   14258     type: "bool"
   14259     default_value {
   14260       b: false
   14261     }
   14262   }
   14263   attr {
   14264     name: "gated_grpc"
   14265     type: "bool"
   14266     default_value {
   14267       b: false
   14268     }
   14269   }
   14270   allows_uninitialized_input: true
   14271 }
   14272 op {
   14273   name: "DebugNumericSummary"
   14274   input_arg {
   14275     name: "input"
   14276     type_attr: "T"
   14277   }
   14278   output_arg {
   14279     name: "output"
   14280     type: DT_DOUBLE
   14281   }
   14282   attr {
   14283     name: "T"
   14284     type: "type"
   14285   }
   14286   attr {
   14287     name: "device_name"
   14288     type: "string"
   14289     default_value {
   14290       s: ""
   14291     }
   14292   }
   14293   attr {
   14294     name: "tensor_name"
   14295     type: "string"
   14296     default_value {
   14297       s: ""
   14298     }
   14299   }
   14300   attr {
   14301     name: "debug_urls"
   14302     type: "list(string)"
   14303     default_value {
   14304       list {
   14305       }
   14306     }
   14307   }
   14308   attr {
   14309     name: "lower_bound"
   14310     type: "float"
   14311     default_value {
   14312       f: -inf
   14313     }
   14314   }
   14315   attr {
   14316     name: "upper_bound"
   14317     type: "float"
   14318     default_value {
   14319       f: inf
   14320     }
   14321   }
   14322   attr {
   14323     name: "mute_if_healthy"
   14324     type: "bool"
   14325     default_value {
   14326       b: false
   14327     }
   14328   }
   14329   attr {
   14330     name: "gated_grpc"
   14331     type: "bool"
   14332     default_value {
   14333       b: false
   14334     }
   14335   }
   14336   allows_uninitialized_input: true
   14337 }
   14338 op {
   14339   name: "DecodeAndCropJpeg"
   14340   input_arg {
   14341     name: "contents"
   14342     type: DT_STRING
   14343   }
   14344   input_arg {
   14345     name: "crop_window"
   14346     type: DT_INT32
   14347   }
   14348   output_arg {
   14349     name: "image"
   14350     type: DT_UINT8
   14351   }
   14352   attr {
   14353     name: "channels"
   14354     type: "int"
   14355     default_value {
   14356       i: 0
   14357     }
   14358   }
   14359   attr {
   14360     name: "ratio"
   14361     type: "int"
   14362     default_value {
   14363       i: 1
   14364     }
   14365   }
   14366   attr {
   14367     name: "fancy_upscaling"
   14368     type: "bool"
   14369     default_value {
   14370       b: true
   14371     }
   14372   }
   14373   attr {
   14374     name: "try_recover_truncated"
   14375     type: "bool"
   14376     default_value {
   14377       b: false
   14378     }
   14379   }
   14380   attr {
   14381     name: "acceptable_fraction"
   14382     type: "float"
   14383     default_value {
   14384       f: 1
   14385     }
   14386   }
   14387   attr {
   14388     name: "dct_method"
   14389     type: "string"
   14390     default_value {
   14391       s: ""
   14392     }
   14393   }
   14394 }
   14395 op {
   14396   name: "DecodeBase64"
   14397   input_arg {
   14398     name: "input"
   14399     type: DT_STRING
   14400   }
   14401   output_arg {
   14402     name: "output"
   14403     type: DT_STRING
   14404   }
   14405 }
   14406 op {
   14407   name: "DecodeBmp"
   14408   input_arg {
   14409     name: "contents"
   14410     type: DT_STRING
   14411   }
   14412   output_arg {
   14413     name: "image"
   14414     type: DT_UINT8
   14415   }
   14416   attr {
   14417     name: "channels"
   14418     type: "int"
   14419     default_value {
   14420       i: 0
   14421     }
   14422   }
   14423 }
   14424 op {
   14425   name: "DecodeCSV"
   14426   input_arg {
   14427     name: "records"
   14428     type: DT_STRING
   14429   }
   14430   input_arg {
   14431     name: "record_defaults"
   14432     type_list_attr: "OUT_TYPE"
   14433   }
   14434   output_arg {
   14435     name: "output"
   14436     type_list_attr: "OUT_TYPE"
   14437   }
   14438   attr {
   14439     name: "OUT_TYPE"
   14440     type: "list(type)"
   14441     has_minimum: true
   14442     minimum: 1
   14443     allowed_values {
   14444       list {
   14445         type: DT_FLOAT
   14446         type: DT_INT32
   14447         type: DT_INT64
   14448         type: DT_STRING
   14449       }
   14450     }
   14451   }
   14452   attr {
   14453     name: "field_delim"
   14454     type: "string"
   14455     default_value {
   14456       s: ","
   14457     }
   14458   }
   14459 }
   14460 op {
   14461   name: "DecodeCSV"
   14462   input_arg {
   14463     name: "records"
   14464     type: DT_STRING
   14465   }
   14466   input_arg {
   14467     name: "record_defaults"
   14468     type_list_attr: "OUT_TYPE"
   14469   }
   14470   output_arg {
   14471     name: "output"
   14472     type_list_attr: "OUT_TYPE"
   14473   }
   14474   attr {
   14475     name: "OUT_TYPE"
   14476     type: "list(type)"
   14477     has_minimum: true
   14478     minimum: 1
   14479     allowed_values {
   14480       list {
   14481         type: DT_FLOAT
   14482         type: DT_INT32
   14483         type: DT_INT64
   14484         type: DT_STRING
   14485       }
   14486     }
   14487   }
   14488   attr {
   14489     name: "field_delim"
   14490     type: "string"
   14491     default_value {
   14492       s: ","
   14493     }
   14494   }
   14495   attr {
   14496     name: "use_quote_delim"
   14497     type: "bool"
   14498     default_value {
   14499       b: true
   14500     }
   14501   }
   14502 }
   14503 op {
   14504   name: "DecodeCSV"
   14505   input_arg {
   14506     name: "records"
   14507     type: DT_STRING
   14508   }
   14509   input_arg {
   14510     name: "record_defaults"
   14511     type_list_attr: "OUT_TYPE"
   14512   }
   14513   output_arg {
   14514     name: "output"
   14515     type_list_attr: "OUT_TYPE"
   14516   }
   14517   attr {
   14518     name: "OUT_TYPE"
   14519     type: "list(type)"
   14520     has_minimum: true
   14521     minimum: 1
   14522     allowed_values {
   14523       list {
   14524         type: DT_FLOAT
   14525         type: DT_INT32
   14526         type: DT_INT64
   14527         type: DT_STRING
   14528       }
   14529     }
   14530   }
   14531   attr {
   14532     name: "field_delim"
   14533     type: "string"
   14534     default_value {
   14535       s: ","
   14536     }
   14537   }
   14538   attr {
   14539     name: "use_quote_delim"
   14540     type: "bool"
   14541     default_value {
   14542       b: true
   14543     }
   14544   }
   14545   attr {
   14546     name: "na_value"
   14547     type: "string"
   14548     default_value {
   14549       s: ""
   14550     }
   14551   }
   14552 }
   14553 op {
   14554   name: "DecodeCSV"
   14555   input_arg {
   14556     name: "records"
   14557     type: DT_STRING
   14558   }
   14559   input_arg {
   14560     name: "record_defaults"
   14561     type_list_attr: "OUT_TYPE"
   14562   }
   14563   output_arg {
   14564     name: "output"
   14565     type_list_attr: "OUT_TYPE"
   14566   }
   14567   attr {
   14568     name: "OUT_TYPE"
   14569     type: "list(type)"
   14570     has_minimum: true
   14571     minimum: 1
   14572     allowed_values {
   14573       list {
   14574         type: DT_FLOAT
   14575         type: DT_DOUBLE
   14576         type: DT_INT32
   14577         type: DT_INT64
   14578         type: DT_STRING
   14579       }
   14580     }
   14581   }
   14582   attr {
   14583     name: "field_delim"
   14584     type: "string"
   14585     default_value {
   14586       s: ","
   14587     }
   14588   }
   14589   attr {
   14590     name: "use_quote_delim"
   14591     type: "bool"
   14592     default_value {
   14593       b: true
   14594     }
   14595   }
   14596   attr {
   14597     name: "na_value"
   14598     type: "string"
   14599     default_value {
   14600       s: ""
   14601     }
   14602   }
   14603 }
   14604 op {
   14605   name: "DecodeCompressed"
   14606   input_arg {
   14607     name: "bytes"
   14608     type: DT_STRING
   14609   }
   14610   output_arg {
   14611     name: "output"
   14612     type: DT_STRING
   14613   }
   14614   attr {
   14615     name: "compression_type"
   14616     type: "string"
   14617     default_value {
   14618       s: ""
   14619     }
   14620   }
   14621 }
   14622 op {
   14623   name: "DecodeGif"
   14624   input_arg {
   14625     name: "contents"
   14626     type: DT_STRING
   14627   }
   14628   output_arg {
   14629     name: "image"
   14630     type: DT_UINT8
   14631   }
   14632 }
   14633 op {
   14634   name: "DecodeJSONExample"
   14635   input_arg {
   14636     name: "json_examples"
   14637     type: DT_STRING
   14638   }
   14639   output_arg {
   14640     name: "binary_examples"
   14641     type: DT_STRING
   14642   }
   14643 }
   14644 op {
   14645   name: "DecodeJpeg"
   14646   input_arg {
   14647     name: "contents"
   14648     type: DT_STRING
   14649   }
   14650   output_arg {
   14651     name: "image"
   14652     type: DT_UINT8
   14653   }
   14654   attr {
   14655     name: "channels"
   14656     type: "int"
   14657     default_value {
   14658       i: 0
   14659     }
   14660   }
   14661   attr {
   14662     name: "ratio"
   14663     type: "int"
   14664     default_value {
   14665       i: 1
   14666     }
   14667   }
   14668   attr {
   14669     name: "fancy_upscaling"
   14670     type: "bool"
   14671     default_value {
   14672       b: true
   14673     }
   14674   }
   14675   attr {
   14676     name: "try_recover_truncated"
   14677     type: "bool"
   14678     default_value {
   14679       b: false
   14680     }
   14681   }
   14682   attr {
   14683     name: "acceptable_fraction"
   14684     type: "float"
   14685     default_value {
   14686       f: 1
   14687     }
   14688   }
   14689   attr {
   14690     name: "dct_method"
   14691     type: "string"
   14692     default_value {
   14693       s: ""
   14694     }
   14695   }
   14696 }
   14697 op {
   14698   name: "DecodePng"
   14699   input_arg {
   14700     name: "contents"
   14701     type: DT_STRING
   14702   }
   14703   output_arg {
   14704     name: "image"
   14705     type_attr: "dtype"
   14706   }
   14707   attr {
   14708     name: "channels"
   14709     type: "int"
   14710     default_value {
   14711       i: 0
   14712     }
   14713   }
   14714   attr {
   14715     name: "dtype"
   14716     type: "type"
   14717     default_value {
   14718       type: DT_UINT8
   14719     }
   14720     allowed_values {
   14721       list {
   14722         type: DT_UINT8
   14723         type: DT_UINT16
   14724       }
   14725     }
   14726   }
   14727 }
   14728 op {
   14729   name: "DecodeRaw"
   14730   input_arg {
   14731     name: "bytes"
   14732     type: DT_STRING
   14733   }
   14734   output_arg {
   14735     name: "output"
   14736     type_attr: "out_type"
   14737   }
   14738   attr {
   14739     name: "out_type"
   14740     type: "type"
   14741     allowed_values {
   14742       list {
   14743         type: DT_HALF
   14744         type: DT_FLOAT
   14745         type: DT_DOUBLE
   14746         type: DT_INT32
   14747         type: DT_UINT8
   14748         type: DT_INT16
   14749         type: DT_INT8
   14750         type: DT_INT64
   14751       }
   14752     }
   14753   }
   14754   attr {
   14755     name: "little_endian"
   14756     type: "bool"
   14757     default_value {
   14758       b: true
   14759     }
   14760   }
   14761 }
   14762 op {
   14763   name: "DecodeRaw"
   14764   input_arg {
   14765     name: "bytes"
   14766     type: DT_STRING
   14767   }
   14768   output_arg {
   14769     name: "output"
   14770     type_attr: "out_type"
   14771   }
   14772   attr {
   14773     name: "out_type"
   14774     type: "type"
   14775     allowed_values {
   14776       list {
   14777         type: DT_HALF
   14778         type: DT_FLOAT
   14779         type: DT_DOUBLE
   14780         type: DT_INT32
   14781         type: DT_UINT16
   14782         type: DT_UINT8
   14783         type: DT_INT16
   14784         type: DT_INT8
   14785         type: DT_INT64
   14786       }
   14787     }
   14788   }
   14789   attr {
   14790     name: "little_endian"
   14791     type: "bool"
   14792     default_value {
   14793       b: true
   14794     }
   14795   }
   14796 }
   14797 op {
   14798   name: "DecodeWav"
   14799   input_arg {
   14800     name: "contents"
   14801     type: DT_STRING
   14802   }
   14803   output_arg {
   14804     name: "audio"
   14805     type: DT_FLOAT
   14806   }
   14807   output_arg {
   14808     name: "sample_rate"
   14809     type: DT_INT32
   14810   }
   14811   attr {
   14812     name: "desired_channels"
   14813     type: "int"
   14814     default_value {
   14815       i: -1
   14816     }
   14817   }
   14818   attr {
   14819     name: "desired_samples"
   14820     type: "int"
   14821     default_value {
   14822       i: -1
   14823     }
   14824   }
   14825 }
   14826 op {
   14827   name: "DeleteSessionTensor"
   14828   input_arg {
   14829     name: "handle"
   14830     type: DT_STRING
   14831   }
   14832 }
   14833 op {
   14834   name: "DeleteSessionTensor"
   14835   input_arg {
   14836     name: "handle"
   14837     type: DT_STRING
   14838   }
   14839   is_stateful: true
   14840 }
   14841 op {
   14842   name: "DenseToDenseSetOperation"
   14843   input_arg {
   14844     name: "set1"
   14845     type_attr: "T"
   14846   }
   14847   input_arg {
   14848     name: "set2"
   14849     type_attr: "T"
   14850   }
   14851   output_arg {
   14852     name: "result_indices"
   14853     type: DT_INT64
   14854   }
   14855   output_arg {
   14856     name: "result_values"
   14857     type_attr: "T"
   14858   }
   14859   output_arg {
   14860     name: "result_shape"
   14861     type: DT_INT64
   14862   }
   14863   attr {
   14864     name: "set_operation"
   14865     type: "string"
   14866   }
   14867   attr {
   14868     name: "validate_indices"
   14869     type: "bool"
   14870     default_value {
   14871       b: true
   14872     }
   14873   }
   14874   attr {
   14875     name: "T"
   14876     type: "type"
   14877     allowed_values {
   14878       list {
   14879         type: DT_INT8
   14880         type: DT_INT16
   14881         type: DT_INT32
   14882         type: DT_INT64
   14883         type: DT_UINT8
   14884         type: DT_UINT16
   14885         type: DT_STRING
   14886       }
   14887     }
   14888   }
   14889 }
   14890 op {
   14891   name: "DenseToSparseBatchDataset"
   14892   input_arg {
   14893     name: "input_dataset"
   14894     type: DT_VARIANT
   14895   }
   14896   input_arg {
   14897     name: "batch_size"
   14898     type: DT_INT64
   14899   }
   14900   input_arg {
   14901     name: "row_shape"
   14902     type: DT_INT64
   14903   }
   14904   output_arg {
   14905     name: "handle"
   14906     type: DT_VARIANT
   14907   }
   14908   attr {
   14909     name: "output_types"
   14910     type: "list(type)"
   14911     has_minimum: true
   14912     minimum: 1
   14913   }
   14914   attr {
   14915     name: "output_shapes"
   14916     type: "list(shape)"
   14917     has_minimum: true
   14918     minimum: 1
   14919   }
   14920   is_stateful: true
   14921 }
   14922 op {
   14923   name: "DenseToSparseBatchDataset"
   14924   input_arg {
   14925     name: "input_dataset"
   14926     type: DT_VARIANT
   14927   }
   14928   input_arg {
   14929     name: "batch_size"
   14930     type: DT_INT64
   14931   }
   14932   input_arg {
   14933     name: "row_shape"
   14934     type: DT_INT64
   14935   }
   14936   output_arg {
   14937     name: "handle"
   14938     type: DT_VARIANT
   14939   }
   14940   attr {
   14941     name: "output_types"
   14942     type: "list(type)"
   14943     has_minimum: true
   14944     minimum: 1
   14945   }
   14946   attr {
   14947     name: "output_shapes"
   14948     type: "list(shape)"
   14949     has_minimum: true
   14950     minimum: 1
   14951   }
   14952 }
   14953 op {
   14954   name: "DenseToSparseSetOperation"
   14955   input_arg {
   14956     name: "set1"
   14957     type_attr: "T"
   14958   }
   14959   input_arg {
   14960     name: "set2_indices"
   14961     type: DT_INT64
   14962   }
   14963   input_arg {
   14964     name: "set2_values"
   14965     type_attr: "T"
   14966   }
   14967   input_arg {
   14968     name: "set2_shape"
   14969     type: DT_INT64
   14970   }
   14971   output_arg {
   14972     name: "result_indices"
   14973     type: DT_INT64
   14974   }
   14975   output_arg {
   14976     name: "result_values"
   14977     type_attr: "T"
   14978   }
   14979   output_arg {
   14980     name: "result_shape"
   14981     type: DT_INT64
   14982   }
   14983   attr {
   14984     name: "set_operation"
   14985     type: "string"
   14986   }
   14987   attr {
   14988     name: "validate_indices"
   14989     type: "bool"
   14990     default_value {
   14991       b: true
   14992     }
   14993   }
   14994   attr {
   14995     name: "T"
   14996     type: "type"
   14997     allowed_values {
   14998       list {
   14999         type: DT_INT8
   15000         type: DT_INT16
   15001         type: DT_INT32
   15002         type: DT_INT64
   15003         type: DT_UINT8
   15004         type: DT_UINT16
   15005         type: DT_STRING
   15006       }
   15007     }
   15008   }
   15009 }
   15010 op {
   15011   name: "DepthToSpace"
   15012   input_arg {
   15013     name: "input"
   15014     type_attr: "T"
   15015   }
   15016   output_arg {
   15017     name: "output"
   15018     type_attr: "T"
   15019   }
   15020   attr {
   15021     name: "T"
   15022     type: "type"
   15023   }
   15024   attr {
   15025     name: "block_size"
   15026     type: "int"
   15027     has_minimum: true
   15028     minimum: 2
   15029   }
   15030 }
   15031 op {
   15032   name: "DepthToSpace"
   15033   input_arg {
   15034     name: "input"
   15035     type_attr: "T"
   15036   }
   15037   output_arg {
   15038     name: "output"
   15039     type_attr: "T"
   15040   }
   15041   attr {
   15042     name: "T"
   15043     type: "type"
   15044   }
   15045   attr {
   15046     name: "block_size"
   15047     type: "int"
   15048     has_minimum: true
   15049     minimum: 2
   15050   }
   15051   attr {
   15052     name: "data_format"
   15053     type: "string"
   15054     default_value {
   15055       s: "NHWC"
   15056     }
   15057     allowed_values {
   15058       list {
   15059         s: "NHWC"
   15060         s: "NCHW"
   15061         s: "NCHW_VECT_C"
   15062       }
   15063     }
   15064   }
   15065 }
   15066 op {
   15067   name: "DepthwiseConv2dNative"
   15068   input_arg {
   15069     name: "input"
   15070     type_attr: "T"
   15071   }
   15072   input_arg {
   15073     name: "filter"
   15074     type_attr: "T"
   15075   }
   15076   output_arg {
   15077     name: "output"
   15078     type_attr: "T"
   15079   }
   15080   attr {
   15081     name: "T"
   15082     type: "type"
   15083     allowed_values {
   15084       list {
   15085         type: DT_FLOAT
   15086         type: DT_DOUBLE
   15087       }
   15088     }
   15089   }
   15090   attr {
   15091     name: "strides"
   15092     type: "list(int)"
   15093   }
   15094   attr {
   15095     name: "padding"
   15096     type: "string"
   15097     allowed_values {
   15098       list {
   15099         s: "SAME"
   15100         s: "VALID"
   15101       }
   15102     }
   15103   }
   15104 }
   15105 op {
   15106   name: "DepthwiseConv2dNative"
   15107   input_arg {
   15108     name: "input"
   15109     type_attr: "T"
   15110   }
   15111   input_arg {
   15112     name: "filter"
   15113     type_attr: "T"
   15114   }
   15115   output_arg {
   15116     name: "output"
   15117     type_attr: "T"
   15118   }
   15119   attr {
   15120     name: "T"
   15121     type: "type"
   15122     allowed_values {
   15123       list {
   15124         type: DT_FLOAT
   15125         type: DT_DOUBLE
   15126       }
   15127     }
   15128   }
   15129   attr {
   15130     name: "strides"
   15131     type: "list(int)"
   15132   }
   15133   attr {
   15134     name: "padding"
   15135     type: "string"
   15136     allowed_values {
   15137       list {
   15138         s: "SAME"
   15139         s: "VALID"
   15140       }
   15141     }
   15142   }
   15143   attr {
   15144     name: "data_format"
   15145     type: "string"
   15146     default_value {
   15147       s: "NHWC"
   15148     }
   15149     allowed_values {
   15150       list {
   15151         s: "NHWC"
   15152         s: "NCHW"
   15153       }
   15154     }
   15155   }
   15156 }
   15157 op {
   15158   name: "DepthwiseConv2dNative"
   15159   input_arg {
   15160     name: "input"
   15161     type_attr: "T"
   15162   }
   15163   input_arg {
   15164     name: "filter"
   15165     type_attr: "T"
   15166   }
   15167   output_arg {
   15168     name: "output"
   15169     type_attr: "T"
   15170   }
   15171   attr {
   15172     name: "T"
   15173     type: "type"
   15174     allowed_values {
   15175       list {
   15176         type: DT_HALF
   15177         type: DT_BFLOAT16
   15178         type: DT_FLOAT
   15179         type: DT_DOUBLE
   15180       }
   15181     }
   15182   }
   15183   attr {
   15184     name: "strides"
   15185     type: "list(int)"
   15186   }
   15187   attr {
   15188     name: "padding"
   15189     type: "string"
   15190     allowed_values {
   15191       list {
   15192         s: "SAME"
   15193         s: "VALID"
   15194       }
   15195     }
   15196   }
   15197   attr {
   15198     name: "data_format"
   15199     type: "string"
   15200     default_value {
   15201       s: "NHWC"
   15202     }
   15203     allowed_values {
   15204       list {
   15205         s: "NHWC"
   15206         s: "NCHW"
   15207       }
   15208     }
   15209   }
   15210   attr {
   15211     name: "dilations"
   15212     type: "list(int)"
   15213     default_value {
   15214       list {
   15215         i: 1
   15216         i: 1
   15217         i: 1
   15218         i: 1
   15219       }
   15220     }
   15221   }
   15222 }
   15223 op {
   15224   name: "DepthwiseConv2dNativeBackpropFilter"
   15225   input_arg {
   15226     name: "input"
   15227     type_attr: "T"
   15228   }
   15229   input_arg {
   15230     name: "filter_sizes"
   15231     type: DT_INT32
   15232   }
   15233   input_arg {
   15234     name: "out_backprop"
   15235     type_attr: "T"
   15236   }
   15237   output_arg {
   15238     name: "output"
   15239     type_attr: "T"
   15240   }
   15241   attr {
   15242     name: "T"
   15243     type: "type"
   15244     allowed_values {
   15245       list {
   15246         type: DT_FLOAT
   15247         type: DT_DOUBLE
   15248       }
   15249     }
   15250   }
   15251   attr {
   15252     name: "strides"
   15253     type: "list(int)"
   15254   }
   15255   attr {
   15256     name: "padding"
   15257     type: "string"
   15258     allowed_values {
   15259       list {
   15260         s: "SAME"
   15261         s: "VALID"
   15262       }
   15263     }
   15264   }
   15265 }
   15266 op {
   15267   name: "DepthwiseConv2dNativeBackpropFilter"
   15268   input_arg {
   15269     name: "input"
   15270     type_attr: "T"
   15271   }
   15272   input_arg {
   15273     name: "filter_sizes"
   15274     type: DT_INT32
   15275   }
   15276   input_arg {
   15277     name: "out_backprop"
   15278     type_attr: "T"
   15279   }
   15280   output_arg {
   15281     name: "output"
   15282     type_attr: "T"
   15283   }
   15284   attr {
   15285     name: "T"
   15286     type: "type"
   15287     allowed_values {
   15288       list {
   15289         type: DT_FLOAT
   15290         type: DT_DOUBLE
   15291       }
   15292     }
   15293   }
   15294   attr {
   15295     name: "strides"
   15296     type: "list(int)"
   15297   }
   15298   attr {
   15299     name: "padding"
   15300     type: "string"
   15301     allowed_values {
   15302       list {
   15303         s: "SAME"
   15304         s: "VALID"
   15305       }
   15306     }
   15307   }
   15308   attr {
   15309     name: "data_format"
   15310     type: "string"
   15311     default_value {
   15312       s: "NHWC"
   15313     }
   15314     allowed_values {
   15315       list {
   15316         s: "NHWC"
   15317         s: "NCHW"
   15318       }
   15319     }
   15320   }
   15321 }
   15322 op {
   15323   name: "DepthwiseConv2dNativeBackpropFilter"
   15324   input_arg {
   15325     name: "input"
   15326     type_attr: "T"
   15327   }
   15328   input_arg {
   15329     name: "filter_sizes"
   15330     type: DT_INT32
   15331   }
   15332   input_arg {
   15333     name: "out_backprop"
   15334     type_attr: "T"
   15335   }
   15336   output_arg {
   15337     name: "output"
   15338     type_attr: "T"
   15339   }
   15340   attr {
   15341     name: "T"
   15342     type: "type"
   15343     allowed_values {
   15344       list {
   15345         type: DT_BFLOAT16
   15346         type: DT_FLOAT
   15347         type: DT_DOUBLE
   15348       }
   15349     }
   15350   }
   15351   attr {
   15352     name: "strides"
   15353     type: "list(int)"
   15354   }
   15355   attr {
   15356     name: "padding"
   15357     type: "string"
   15358     allowed_values {
   15359       list {
   15360         s: "SAME"
   15361         s: "VALID"
   15362       }
   15363     }
   15364   }
   15365   attr {
   15366     name: "data_format"
   15367     type: "string"
   15368     default_value {
   15369       s: "NHWC"
   15370     }
   15371     allowed_values {
   15372       list {
   15373         s: "NHWC"
   15374         s: "NCHW"
   15375       }
   15376     }
   15377   }
   15378   attr {
   15379     name: "dilations"
   15380     type: "list(int)"
   15381     default_value {
   15382       list {
   15383         i: 1
   15384         i: 1
   15385         i: 1
   15386         i: 1
   15387       }
   15388     }
   15389   }
   15390 }
   15391 op {
   15392   name: "DepthwiseConv2dNativeBackpropInput"
   15393   input_arg {
   15394     name: "input_sizes"
   15395     type: DT_INT32
   15396   }
   15397   input_arg {
   15398     name: "filter"
   15399     type_attr: "T"
   15400   }
   15401   input_arg {
   15402     name: "out_backprop"
   15403     type_attr: "T"
   15404   }
   15405   output_arg {
   15406     name: "output"
   15407     type_attr: "T"
   15408   }
   15409   attr {
   15410     name: "T"
   15411     type: "type"
   15412     allowed_values {
   15413       list {
   15414         type: DT_FLOAT
   15415         type: DT_DOUBLE
   15416       }
   15417     }
   15418   }
   15419   attr {
   15420     name: "strides"
   15421     type: "list(int)"
   15422   }
   15423   attr {
   15424     name: "padding"
   15425     type: "string"
   15426     allowed_values {
   15427       list {
   15428         s: "SAME"
   15429         s: "VALID"
   15430       }
   15431     }
   15432   }
   15433 }
   15434 op {
   15435   name: "DepthwiseConv2dNativeBackpropInput"
   15436   input_arg {
   15437     name: "input_sizes"
   15438     type: DT_INT32
   15439   }
   15440   input_arg {
   15441     name: "filter"
   15442     type_attr: "T"
   15443   }
   15444   input_arg {
   15445     name: "out_backprop"
   15446     type_attr: "T"
   15447   }
   15448   output_arg {
   15449     name: "output"
   15450     type_attr: "T"
   15451   }
   15452   attr {
   15453     name: "T"
   15454     type: "type"
   15455     allowed_values {
   15456       list {
   15457         type: DT_FLOAT
   15458         type: DT_DOUBLE
   15459       }
   15460     }
   15461   }
   15462   attr {
   15463     name: "strides"
   15464     type: "list(int)"
   15465   }
   15466   attr {
   15467     name: "padding"
   15468     type: "string"
   15469     allowed_values {
   15470       list {
   15471         s: "SAME"
   15472         s: "VALID"
   15473       }
   15474     }
   15475   }
   15476   attr {
   15477     name: "data_format"
   15478     type: "string"
   15479     default_value {
   15480       s: "NHWC"
   15481     }
   15482     allowed_values {
   15483       list {
   15484         s: "NHWC"
   15485         s: "NCHW"
   15486       }
   15487     }
   15488   }
   15489 }
   15490 op {
   15491   name: "DepthwiseConv2dNativeBackpropInput"
   15492   input_arg {
   15493     name: "input_sizes"
   15494     type: DT_INT32
   15495   }
   15496   input_arg {
   15497     name: "filter"
   15498     type_attr: "T"
   15499   }
   15500   input_arg {
   15501     name: "out_backprop"
   15502     type_attr: "T"
   15503   }
   15504   output_arg {
   15505     name: "output"
   15506     type_attr: "T"
   15507   }
   15508   attr {
   15509     name: "T"
   15510     type: "type"
   15511     allowed_values {
   15512       list {
   15513         type: DT_BFLOAT16
   15514         type: DT_FLOAT
   15515         type: DT_DOUBLE
   15516       }
   15517     }
   15518   }
   15519   attr {
   15520     name: "strides"
   15521     type: "list(int)"
   15522   }
   15523   attr {
   15524     name: "padding"
   15525     type: "string"
   15526     allowed_values {
   15527       list {
   15528         s: "SAME"
   15529         s: "VALID"
   15530       }
   15531     }
   15532   }
   15533   attr {
   15534     name: "data_format"
   15535     type: "string"
   15536     default_value {
   15537       s: "NHWC"
   15538     }
   15539     allowed_values {
   15540       list {
   15541         s: "NHWC"
   15542         s: "NCHW"
   15543       }
   15544     }
   15545   }
   15546   attr {
   15547     name: "dilations"
   15548     type: "list(int)"
   15549     default_value {
   15550       list {
   15551         i: 1
   15552         i: 1
   15553         i: 1
   15554         i: 1
   15555       }
   15556     }
   15557   }
   15558 }
   15559 op {
   15560   name: "Dequantize"
   15561   input_arg {
   15562     name: "input"
   15563     type_attr: "T"
   15564   }
   15565   input_arg {
   15566     name: "min_range"
   15567     type: DT_FLOAT
   15568   }
   15569   input_arg {
   15570     name: "max_range"
   15571     type: DT_FLOAT
   15572   }
   15573   output_arg {
   15574     name: "output"
   15575     type: DT_FLOAT
   15576   }
   15577   attr {
   15578     name: "T"
   15579     type: "type"
   15580     allowed_values {
   15581       list {
   15582         type: DT_QINT8
   15583         type: DT_QUINT8
   15584         type: DT_QINT16
   15585         type: DT_QUINT16
   15586         type: DT_QINT32
   15587       }
   15588     }
   15589   }
   15590   attr {
   15591     name: "mode"
   15592     type: "string"
   15593     default_value {
   15594       s: "MIN_COMBINED"
   15595     }
   15596     allowed_values {
   15597       list {
   15598         s: "MIN_COMBINED"
   15599         s: "MIN_FIRST"
   15600       }
   15601     }
   15602   }
   15603 }
   15604 op {
   15605   name: "Dequantize"
   15606   input_arg {
   15607     name: "input"
   15608     type_attr: "T"
   15609   }
   15610   input_arg {
   15611     name: "min_range"
   15612     type: DT_FLOAT
   15613   }
   15614   input_arg {
   15615     name: "max_range"
   15616     type: DT_FLOAT
   15617   }
   15618   output_arg {
   15619     name: "output"
   15620     type: DT_FLOAT
   15621   }
   15622   attr {
   15623     name: "T"
   15624     type: "type"
   15625     allowed_values {
   15626       list {
   15627         type: DT_QINT8
   15628         type: DT_QUINT8
   15629         type: DT_QINT16
   15630         type: DT_QUINT16
   15631         type: DT_QINT32
   15632       }
   15633     }
   15634   }
   15635   attr {
   15636     name: "mode"
   15637     type: "string"
   15638     default_value {
   15639       s: "MIN_COMBINED"
   15640     }
   15641     allowed_values {
   15642       list {
   15643         s: "MIN_COMBINED"
   15644         s: "MIN_FIRST"
   15645         s: "SCALED"
   15646       }
   15647     }
   15648   }
   15649 }
   15650 op {
   15651   name: "Dequantize"
   15652   input_arg {
   15653     name: "input"
   15654     type_attr: "T"
   15655   }
   15656   input_arg {
   15657     name: "min_range"
   15658     type: DT_FLOAT
   15659   }
   15660   input_arg {
   15661     name: "max_range"
   15662     type: DT_FLOAT
   15663   }
   15664   output_arg {
   15665     name: "output"
   15666     type: DT_FLOAT
   15667   }
   15668   attr {
   15669     name: "T"
   15670     type: "type"
   15671     allowed_values {
   15672       list {
   15673         type: DT_QINT8
   15674         type: DT_QUINT8
   15675         type: DT_QINT32
   15676         type: DT_QINT16
   15677         type: DT_QUINT16
   15678       }
   15679     }
   15680   }
   15681   attr {
   15682     name: "mode"
   15683     type: "string"
   15684     default_value {
   15685       s: "MIN_COMBINED"
   15686     }
   15687     allowed_values {
   15688       list {
   15689         s: "MIN_COMBINED"
   15690         s: "MIN_FIRST"
   15691         s: "SCALED"
   15692       }
   15693     }
   15694   }
   15695 }
   15696 op {
   15697   name: "DeserializeIterator"
   15698   input_arg {
   15699     name: "resource_handle"
   15700     type: DT_RESOURCE
   15701   }
   15702   input_arg {
   15703     name: "serialized"
   15704     type: DT_VARIANT
   15705   }
   15706   is_stateful: true
   15707 }
   15708 op {
   15709   name: "DeserializeManySparse"
   15710   input_arg {
   15711     name: "serialized_sparse"
   15712     type: DT_STRING
   15713   }
   15714   output_arg {
   15715     name: "sparse_indices"
   15716     type: DT_INT64
   15717   }
   15718   output_arg {
   15719     name: "sparse_values"
   15720     type_attr: "dtype"
   15721   }
   15722   output_arg {
   15723     name: "sparse_shape"
   15724     type: DT_INT64
   15725   }
   15726   attr {
   15727     name: "dtype"
   15728     type: "type"
   15729   }
   15730 }
   15731 op {
   15732   name: "DeserializeSparse"
   15733   input_arg {
   15734     name: "serialized_sparse"
   15735     type: DT_STRING
   15736   }
   15737   output_arg {
   15738     name: "sparse_indices"
   15739     type: DT_INT64
   15740   }
   15741   output_arg {
   15742     name: "sparse_values"
   15743     type_attr: "dtype"
   15744   }
   15745   output_arg {
   15746     name: "sparse_shape"
   15747     type: DT_INT64
   15748   }
   15749   attr {
   15750     name: "dtype"
   15751     type: "type"
   15752   }
   15753 }
   15754 op {
   15755   name: "DeserializeSparse"
   15756   input_arg {
   15757     name: "serialized_sparse"
   15758     type_attr: "Tserialized"
   15759   }
   15760   output_arg {
   15761     name: "sparse_indices"
   15762     type: DT_INT64
   15763   }
   15764   output_arg {
   15765     name: "sparse_values"
   15766     type_attr: "dtype"
   15767   }
   15768   output_arg {
   15769     name: "sparse_shape"
   15770     type: DT_INT64
   15771   }
   15772   attr {
   15773     name: "dtype"
   15774     type: "type"
   15775   }
   15776   attr {
   15777     name: "Tserialized"
   15778     type: "type"
   15779     default_value {
   15780       type: DT_STRING
   15781     }
   15782     allowed_values {
   15783       list {
   15784         type: DT_STRING
   15785         type: DT_VARIANT
   15786       }
   15787     }
   15788   }
   15789 }
   15790 op {
   15791   name: "DestroyResourceOp"
   15792   input_arg {
   15793     name: "resource"
   15794     type: DT_RESOURCE
   15795   }
   15796   attr {
   15797     name: "ignore_lookup_error"
   15798     type: "bool"
   15799     default_value {
   15800       b: true
   15801     }
   15802   }
   15803   is_stateful: true
   15804 }
   15805 op {
   15806   name: "DestroyTemporaryVariable"
   15807   input_arg {
   15808     name: "ref"
   15809     type_attr: "T"
   15810     is_ref: true
   15811   }
   15812   output_arg {
   15813     name: "value"
   15814     type_attr: "T"
   15815   }
   15816   attr {
   15817     name: "T"
   15818     type: "type"
   15819   }
   15820   attr {
   15821     name: "var_name"
   15822     type: "string"
   15823   }
   15824 }
   15825 op {
   15826   name: "Diag"
   15827   input_arg {
   15828     name: "diagonal"
   15829     type_attr: "T"
   15830   }
   15831   output_arg {
   15832     name: "output"
   15833     type_attr: "T"
   15834   }
   15835   attr {
   15836     name: "T"
   15837     type: "type"
   15838     allowed_values {
   15839       list {
   15840         type: DT_FLOAT
   15841         type: DT_DOUBLE
   15842         type: DT_INT32
   15843         type: DT_INT64
   15844         type: DT_COMPLEX64
   15845         type: DT_COMPLEX128
   15846       }
   15847     }
   15848   }
   15849 }
   15850 op {
   15851   name: "Diag"
   15852   input_arg {
   15853     name: "diagonal"
   15854     type_attr: "T"
   15855   }
   15856   output_arg {
   15857     name: "output"
   15858     type_attr: "T"
   15859   }
   15860   attr {
   15861     name: "T"
   15862     type: "type"
   15863     allowed_values {
   15864       list {
   15865         type: DT_BFLOAT16
   15866         type: DT_FLOAT
   15867         type: DT_DOUBLE
   15868         type: DT_INT32
   15869         type: DT_INT64
   15870         type: DT_COMPLEX64
   15871         type: DT_COMPLEX128
   15872       }
   15873     }
   15874   }
   15875 }
   15876 op {
   15877   name: "DiagPart"
   15878   input_arg {
   15879     name: "input"
   15880     type_attr: "T"
   15881   }
   15882   output_arg {
   15883     name: "diagonal"
   15884     type_attr: "T"
   15885   }
   15886   attr {
   15887     name: "T"
   15888     type: "type"
   15889     allowed_values {
   15890       list {
   15891         type: DT_FLOAT
   15892         type: DT_DOUBLE
   15893         type: DT_INT32
   15894         type: DT_INT64
   15895         type: DT_COMPLEX64
   15896         type: DT_COMPLEX128
   15897       }
   15898     }
   15899   }
   15900 }
   15901 op {
   15902   name: "DiagPart"
   15903   input_arg {
   15904     name: "input"
   15905     type_attr: "T"
   15906   }
   15907   output_arg {
   15908     name: "diagonal"
   15909     type_attr: "T"
   15910   }
   15911   attr {
   15912     name: "T"
   15913     type: "type"
   15914     allowed_values {
   15915       list {
   15916         type: DT_BFLOAT16
   15917         type: DT_FLOAT
   15918         type: DT_DOUBLE
   15919         type: DT_INT32
   15920         type: DT_INT64
   15921         type: DT_COMPLEX64
   15922         type: DT_COMPLEX128
   15923       }
   15924     }
   15925   }
   15926 }
   15927 op {
   15928   name: "Digamma"
   15929   input_arg {
   15930     name: "x"
   15931     type_attr: "T"
   15932   }
   15933   output_arg {
   15934     name: "y"
   15935     type_attr: "T"
   15936   }
   15937   attr {
   15938     name: "T"
   15939     type: "type"
   15940     allowed_values {
   15941       list {
   15942         type: DT_HALF
   15943         type: DT_FLOAT
   15944         type: DT_DOUBLE
   15945       }
   15946     }
   15947   }
   15948 }
   15949 op {
   15950   name: "Digamma"
   15951   input_arg {
   15952     name: "x"
   15953     type_attr: "T"
   15954   }
   15955   output_arg {
   15956     name: "y"
   15957     type_attr: "T"
   15958   }
   15959   attr {
   15960     name: "T"
   15961     type: "type"
   15962     allowed_values {
   15963       list {
   15964         type: DT_HALF
   15965         type: DT_BFLOAT16
   15966         type: DT_FLOAT
   15967         type: DT_DOUBLE
   15968       }
   15969     }
   15970   }
   15971 }
   15972 op {
   15973   name: "Dilation2D"
   15974   input_arg {
   15975     name: "input"
   15976     type_attr: "T"
   15977   }
   15978   input_arg {
   15979     name: "filter"
   15980     type_attr: "T"
   15981   }
   15982   output_arg {
   15983     name: "output"
   15984     type_attr: "T"
   15985   }
   15986   attr {
   15987     name: "T"
   15988     type: "type"
   15989     allowed_values {
   15990       list {
   15991         type: DT_FLOAT
   15992         type: DT_DOUBLE
   15993         type: DT_INT32
   15994         type: DT_INT64
   15995         type: DT_UINT8
   15996         type: DT_INT16
   15997         type: DT_INT8
   15998         type: DT_UINT16
   15999         type: DT_HALF
   16000       }
   16001     }
   16002   }
   16003   attr {
   16004     name: "strides"
   16005     type: "list(int)"
   16006     has_minimum: true
   16007     minimum: 4
   16008   }
   16009   attr {
   16010     name: "rates"
   16011     type: "list(int)"
   16012     has_minimum: true
   16013     minimum: 4
   16014   }
   16015   attr {
   16016     name: "padding"
   16017     type: "string"
   16018     allowed_values {
   16019       list {
   16020         s: "SAME"
   16021         s: "VALID"
   16022       }
   16023     }
   16024   }
   16025 }
   16026 op {
   16027   name: "Dilation2D"
   16028   input_arg {
   16029     name: "input"
   16030     type_attr: "T"
   16031   }
   16032   input_arg {
   16033     name: "filter"
   16034     type_attr: "T"
   16035   }
   16036   output_arg {
   16037     name: "output"
   16038     type_attr: "T"
   16039   }
   16040   attr {
   16041     name: "T"
   16042     type: "type"
   16043     allowed_values {
   16044       list {
   16045         type: DT_FLOAT
   16046         type: DT_DOUBLE
   16047         type: DT_INT32
   16048         type: DT_INT64
   16049         type: DT_UINT8
   16050         type: DT_INT16
   16051         type: DT_INT8
   16052         type: DT_UINT16
   16053         type: DT_HALF
   16054         type: DT_UINT32
   16055         type: DT_UINT64
   16056       }
   16057     }
   16058   }
   16059   attr {
   16060     name: "strides"
   16061     type: "list(int)"
   16062     has_minimum: true
   16063     minimum: 4
   16064   }
   16065   attr {
   16066     name: "rates"
   16067     type: "list(int)"
   16068     has_minimum: true
   16069     minimum: 4
   16070   }
   16071   attr {
   16072     name: "padding"
   16073     type: "string"
   16074     allowed_values {
   16075       list {
   16076         s: "SAME"
   16077         s: "VALID"
   16078       }
   16079     }
   16080   }
   16081 }
   16082 op {
   16083   name: "Dilation2D"
   16084   input_arg {
   16085     name: "input"
   16086     type_attr: "T"
   16087   }
   16088   input_arg {
   16089     name: "filter"
   16090     type_attr: "T"
   16091   }
   16092   output_arg {
   16093     name: "output"
   16094     type_attr: "T"
   16095   }
   16096   attr {
   16097     name: "T"
   16098     type: "type"
   16099     allowed_values {
   16100       list {
   16101         type: DT_FLOAT
   16102         type: DT_DOUBLE
   16103         type: DT_INT32
   16104         type: DT_INT64
   16105         type: DT_UINT8
   16106         type: DT_INT16
   16107         type: DT_INT8
   16108         type: DT_UINT16
   16109         type: DT_HALF
   16110         type: DT_UINT32
   16111         type: DT_UINT64
   16112         type: DT_BFLOAT16
   16113       }
   16114     }
   16115   }
   16116   attr {
   16117     name: "strides"
   16118     type: "list(int)"
   16119     has_minimum: true
   16120     minimum: 4
   16121   }
   16122   attr {
   16123     name: "rates"
   16124     type: "list(int)"
   16125     has_minimum: true
   16126     minimum: 4
   16127   }
   16128   attr {
   16129     name: "padding"
   16130     type: "string"
   16131     allowed_values {
   16132       list {
   16133         s: "SAME"
   16134         s: "VALID"
   16135       }
   16136     }
   16137   }
   16138 }
   16139 op {
   16140   name: "Dilation2D"
   16141   input_arg {
   16142     name: "input"
   16143     type_attr: "T"
   16144   }
   16145   input_arg {
   16146     name: "filter"
   16147     type_attr: "T"
   16148   }
   16149   output_arg {
   16150     name: "output"
   16151     type_attr: "T"
   16152   }
   16153   attr {
   16154     name: "T"
   16155     type: "type"
   16156     allowed_values {
   16157       list {
   16158         type: DT_FLOAT
   16159         type: DT_DOUBLE
   16160         type: DT_INT32
   16161         type: DT_UINT8
   16162         type: DT_INT16
   16163         type: DT_INT8
   16164         type: DT_INT64
   16165         type: DT_BFLOAT16
   16166         type: DT_UINT16
   16167         type: DT_HALF
   16168         type: DT_UINT32
   16169         type: DT_UINT64
   16170       }
   16171     }
   16172   }
   16173   attr {
   16174     name: "strides"
   16175     type: "list(int)"
   16176     has_minimum: true
   16177     minimum: 4
   16178   }
   16179   attr {
   16180     name: "rates"
   16181     type: "list(int)"
   16182     has_minimum: true
   16183     minimum: 4
   16184   }
   16185   attr {
   16186     name: "padding"
   16187     type: "string"
   16188     allowed_values {
   16189       list {
   16190         s: "SAME"
   16191         s: "VALID"
   16192       }
   16193     }
   16194   }
   16195 }
   16196 op {
   16197   name: "Dilation2DBackpropFilter"
   16198   input_arg {
   16199     name: "input"
   16200     type_attr: "T"
   16201   }
   16202   input_arg {
   16203     name: "filter"
   16204     type_attr: "T"
   16205   }
   16206   input_arg {
   16207     name: "out_backprop"
   16208     type_attr: "T"
   16209   }
   16210   output_arg {
   16211     name: "filter_backprop"
   16212     type_attr: "T"
   16213   }
   16214   attr {
   16215     name: "T"
   16216     type: "type"
   16217     allowed_values {
   16218       list {
   16219         type: DT_FLOAT
   16220         type: DT_DOUBLE
   16221         type: DT_INT32
   16222         type: DT_INT64
   16223         type: DT_UINT8
   16224         type: DT_INT16
   16225         type: DT_INT8
   16226         type: DT_UINT16
   16227         type: DT_HALF
   16228       }
   16229     }
   16230   }
   16231   attr {
   16232     name: "strides"
   16233     type: "list(int)"
   16234     has_minimum: true
   16235     minimum: 4
   16236   }
   16237   attr {
   16238     name: "rates"
   16239     type: "list(int)"
   16240     has_minimum: true
   16241     minimum: 4
   16242   }
   16243   attr {
   16244     name: "padding"
   16245     type: "string"
   16246     allowed_values {
   16247       list {
   16248         s: "SAME"
   16249         s: "VALID"
   16250       }
   16251     }
   16252   }
   16253 }
   16254 op {
   16255   name: "Dilation2DBackpropFilter"
   16256   input_arg {
   16257     name: "input"
   16258     type_attr: "T"
   16259   }
   16260   input_arg {
   16261     name: "filter"
   16262     type_attr: "T"
   16263   }
   16264   input_arg {
   16265     name: "out_backprop"
   16266     type_attr: "T"
   16267   }
   16268   output_arg {
   16269     name: "filter_backprop"
   16270     type_attr: "T"
   16271   }
   16272   attr {
   16273     name: "T"
   16274     type: "type"
   16275     allowed_values {
   16276       list {
   16277         type: DT_FLOAT
   16278         type: DT_DOUBLE
   16279         type: DT_INT32
   16280         type: DT_INT64
   16281         type: DT_UINT8
   16282         type: DT_INT16
   16283         type: DT_INT8
   16284         type: DT_UINT16
   16285         type: DT_HALF
   16286         type: DT_UINT32
   16287         type: DT_UINT64
   16288       }
   16289     }
   16290   }
   16291   attr {
   16292     name: "strides"
   16293     type: "list(int)"
   16294     has_minimum: true
   16295     minimum: 4
   16296   }
   16297   attr {
   16298     name: "rates"
   16299     type: "list(int)"
   16300     has_minimum: true
   16301     minimum: 4
   16302   }
   16303   attr {
   16304     name: "padding"
   16305     type: "string"
   16306     allowed_values {
   16307       list {
   16308         s: "SAME"
   16309         s: "VALID"
   16310       }
   16311     }
   16312   }
   16313 }
   16314 op {
   16315   name: "Dilation2DBackpropFilter"
   16316   input_arg {
   16317     name: "input"
   16318     type_attr: "T"
   16319   }
   16320   input_arg {
   16321     name: "filter"
   16322     type_attr: "T"
   16323   }
   16324   input_arg {
   16325     name: "out_backprop"
   16326     type_attr: "T"
   16327   }
   16328   output_arg {
   16329     name: "filter_backprop"
   16330     type_attr: "T"
   16331   }
   16332   attr {
   16333     name: "T"
   16334     type: "type"
   16335     allowed_values {
   16336       list {
   16337         type: DT_FLOAT
   16338         type: DT_DOUBLE
   16339         type: DT_INT32
   16340         type: DT_INT64
   16341         type: DT_UINT8
   16342         type: DT_INT16
   16343         type: DT_INT8
   16344         type: DT_UINT16
   16345         type: DT_HALF
   16346         type: DT_UINT32
   16347         type: DT_UINT64
   16348         type: DT_BFLOAT16
   16349       }
   16350     }
   16351   }
   16352   attr {
   16353     name: "strides"
   16354     type: "list(int)"
   16355     has_minimum: true
   16356     minimum: 4
   16357   }
   16358   attr {
   16359     name: "rates"
   16360     type: "list(int)"
   16361     has_minimum: true
   16362     minimum: 4
   16363   }
   16364   attr {
   16365     name: "padding"
   16366     type: "string"
   16367     allowed_values {
   16368       list {
   16369         s: "SAME"
   16370         s: "VALID"
   16371       }
   16372     }
   16373   }
   16374 }
   16375 op {
   16376   name: "Dilation2DBackpropFilter"
   16377   input_arg {
   16378     name: "input"
   16379     type_attr: "T"
   16380   }
   16381   input_arg {
   16382     name: "filter"
   16383     type_attr: "T"
   16384   }
   16385   input_arg {
   16386     name: "out_backprop"
   16387     type_attr: "T"
   16388   }
   16389   output_arg {
   16390     name: "filter_backprop"
   16391     type_attr: "T"
   16392   }
   16393   attr {
   16394     name: "T"
   16395     type: "type"
   16396     allowed_values {
   16397       list {
   16398         type: DT_FLOAT
   16399         type: DT_DOUBLE
   16400         type: DT_INT32
   16401         type: DT_UINT8
   16402         type: DT_INT16
   16403         type: DT_INT8
   16404         type: DT_INT64
   16405         type: DT_BFLOAT16
   16406         type: DT_UINT16
   16407         type: DT_HALF
   16408         type: DT_UINT32
   16409         type: DT_UINT64
   16410       }
   16411     }
   16412   }
   16413   attr {
   16414     name: "strides"
   16415     type: "list(int)"
   16416     has_minimum: true
   16417     minimum: 4
   16418   }
   16419   attr {
   16420     name: "rates"
   16421     type: "list(int)"
   16422     has_minimum: true
   16423     minimum: 4
   16424   }
   16425   attr {
   16426     name: "padding"
   16427     type: "string"
   16428     allowed_values {
   16429       list {
   16430         s: "SAME"
   16431         s: "VALID"
   16432       }
   16433     }
   16434   }
   16435 }
   16436 op {
   16437   name: "Dilation2DBackpropInput"
   16438   input_arg {
   16439     name: "input"
   16440     type_attr: "T"
   16441   }
   16442   input_arg {
   16443     name: "filter"
   16444     type_attr: "T"
   16445   }
   16446   input_arg {
   16447     name: "out_backprop"
   16448     type_attr: "T"
   16449   }
   16450   output_arg {
   16451     name: "in_backprop"
   16452     type_attr: "T"
   16453   }
   16454   attr {
   16455     name: "T"
   16456     type: "type"
   16457     allowed_values {
   16458       list {
   16459         type: DT_FLOAT
   16460         type: DT_DOUBLE
   16461         type: DT_INT32
   16462         type: DT_INT64
   16463         type: DT_UINT8
   16464         type: DT_INT16
   16465         type: DT_INT8
   16466         type: DT_UINT16
   16467         type: DT_HALF
   16468       }
   16469     }
   16470   }
   16471   attr {
   16472     name: "strides"
   16473     type: "list(int)"
   16474     has_minimum: true
   16475     minimum: 4
   16476   }
   16477   attr {
   16478     name: "rates"
   16479     type: "list(int)"
   16480     has_minimum: true
   16481     minimum: 4
   16482   }
   16483   attr {
   16484     name: "padding"
   16485     type: "string"
   16486     allowed_values {
   16487       list {
   16488         s: "SAME"
   16489         s: "VALID"
   16490       }
   16491     }
   16492   }
   16493 }
   16494 op {
   16495   name: "Dilation2DBackpropInput"
   16496   input_arg {
   16497     name: "input"
   16498     type_attr: "T"
   16499   }
   16500   input_arg {
   16501     name: "filter"
   16502     type_attr: "T"
   16503   }
   16504   input_arg {
   16505     name: "out_backprop"
   16506     type_attr: "T"
   16507   }
   16508   output_arg {
   16509     name: "in_backprop"
   16510     type_attr: "T"
   16511   }
   16512   attr {
   16513     name: "T"
   16514     type: "type"
   16515     allowed_values {
   16516       list {
   16517         type: DT_FLOAT
   16518         type: DT_DOUBLE
   16519         type: DT_INT32
   16520         type: DT_INT64
   16521         type: DT_UINT8
   16522         type: DT_INT16
   16523         type: DT_INT8
   16524         type: DT_UINT16
   16525         type: DT_HALF
   16526         type: DT_UINT32
   16527         type: DT_UINT64
   16528       }
   16529     }
   16530   }
   16531   attr {
   16532     name: "strides"
   16533     type: "list(int)"
   16534     has_minimum: true
   16535     minimum: 4
   16536   }
   16537   attr {
   16538     name: "rates"
   16539     type: "list(int)"
   16540     has_minimum: true
   16541     minimum: 4
   16542   }
   16543   attr {
   16544     name: "padding"
   16545     type: "string"
   16546     allowed_values {
   16547       list {
   16548         s: "SAME"
   16549         s: "VALID"
   16550       }
   16551     }
   16552   }
   16553 }
   16554 op {
   16555   name: "Dilation2DBackpropInput"
   16556   input_arg {
   16557     name: "input"
   16558     type_attr: "T"
   16559   }
   16560   input_arg {
   16561     name: "filter"
   16562     type_attr: "T"
   16563   }
   16564   input_arg {
   16565     name: "out_backprop"
   16566     type_attr: "T"
   16567   }
   16568   output_arg {
   16569     name: "in_backprop"
   16570     type_attr: "T"
   16571   }
   16572   attr {
   16573     name: "T"
   16574     type: "type"
   16575     allowed_values {
   16576       list {
   16577         type: DT_FLOAT
   16578         type: DT_DOUBLE
   16579         type: DT_INT32
   16580         type: DT_INT64
   16581         type: DT_UINT8
   16582         type: DT_INT16
   16583         type: DT_INT8
   16584         type: DT_UINT16
   16585         type: DT_HALF
   16586         type: DT_UINT32
   16587         type: DT_UINT64
   16588         type: DT_BFLOAT16
   16589       }
   16590     }
   16591   }
   16592   attr {
   16593     name: "strides"
   16594     type: "list(int)"
   16595     has_minimum: true
   16596     minimum: 4
   16597   }
   16598   attr {
   16599     name: "rates"
   16600     type: "list(int)"
   16601     has_minimum: true
   16602     minimum: 4
   16603   }
   16604   attr {
   16605     name: "padding"
   16606     type: "string"
   16607     allowed_values {
   16608       list {
   16609         s: "SAME"
   16610         s: "VALID"
   16611       }
   16612     }
   16613   }
   16614 }
   16615 op {
   16616   name: "Dilation2DBackpropInput"
   16617   input_arg {
   16618     name: "input"
   16619     type_attr: "T"
   16620   }
   16621   input_arg {
   16622     name: "filter"
   16623     type_attr: "T"
   16624   }
   16625   input_arg {
   16626     name: "out_backprop"
   16627     type_attr: "T"
   16628   }
   16629   output_arg {
   16630     name: "in_backprop"
   16631     type_attr: "T"
   16632   }
   16633   attr {
   16634     name: "T"
   16635     type: "type"
   16636     allowed_values {
   16637       list {
   16638         type: DT_FLOAT
   16639         type: DT_DOUBLE
   16640         type: DT_INT32
   16641         type: DT_UINT8
   16642         type: DT_INT16
   16643         type: DT_INT8
   16644         type: DT_INT64
   16645         type: DT_BFLOAT16
   16646         type: DT_UINT16
   16647         type: DT_HALF
   16648         type: DT_UINT32
   16649         type: DT_UINT64
   16650       }
   16651     }
   16652   }
   16653   attr {
   16654     name: "strides"
   16655     type: "list(int)"
   16656     has_minimum: true
   16657     minimum: 4
   16658   }
   16659   attr {
   16660     name: "rates"
   16661     type: "list(int)"
   16662     has_minimum: true
   16663     minimum: 4
   16664   }
   16665   attr {
   16666     name: "padding"
   16667     type: "string"
   16668     allowed_values {
   16669       list {
   16670         s: "SAME"
   16671         s: "VALID"
   16672       }
   16673     }
   16674   }
   16675 }
   16676 op {
   16677   name: "Div"
   16678   input_arg {
   16679     name: "x"
   16680     type_attr: "T"
   16681   }
   16682   input_arg {
   16683     name: "y"
   16684     type_attr: "T"
   16685   }
   16686   output_arg {
   16687     name: "z"
   16688     type_attr: "T"
   16689   }
   16690   attr {
   16691     name: "T"
   16692     type: "type"
   16693     allowed_values {
   16694       list {
   16695         type: DT_HALF
   16696         type: DT_FLOAT
   16697         type: DT_DOUBLE
   16698         type: DT_UINT8
   16699         type: DT_INT8
   16700         type: DT_UINT16
   16701         type: DT_INT16
   16702         type: DT_INT32
   16703         type: DT_INT64
   16704         type: DT_COMPLEX64
   16705         type: DT_COMPLEX128
   16706       }
   16707     }
   16708   }
   16709 }
   16710 op {
   16711   name: "Div"
   16712   input_arg {
   16713     name: "x"
   16714     type_attr: "T"
   16715   }
   16716   input_arg {
   16717     name: "y"
   16718     type_attr: "T"
   16719   }
   16720   output_arg {
   16721     name: "z"
   16722     type_attr: "T"
   16723   }
   16724   attr {
   16725     name: "T"
   16726     type: "type"
   16727     allowed_values {
   16728       list {
   16729         type: DT_HALF
   16730         type: DT_BFLOAT16
   16731         type: DT_FLOAT
   16732         type: DT_DOUBLE
   16733         type: DT_UINT8
   16734         type: DT_INT8
   16735         type: DT_UINT16
   16736         type: DT_INT16
   16737         type: DT_INT32
   16738         type: DT_INT64
   16739         type: DT_COMPLEX64
   16740         type: DT_COMPLEX128
   16741       }
   16742     }
   16743   }
   16744 }
   16745 op {
   16746   name: "DrawBoundingBoxes"
   16747   input_arg {
   16748     name: "images"
   16749     type_attr: "T"
   16750   }
   16751   input_arg {
   16752     name: "boxes"
   16753     type: DT_FLOAT
   16754   }
   16755   output_arg {
   16756     name: "output"
   16757     type_attr: "T"
   16758   }
   16759   attr {
   16760     name: "T"
   16761     type: "type"
   16762     default_value {
   16763       type: DT_FLOAT
   16764     }
   16765     allowed_values {
   16766       list {
   16767         type: DT_FLOAT
   16768         type: DT_HALF
   16769       }
   16770     }
   16771   }
   16772 }
   16773 op {
   16774   name: "DynamicPartition"
   16775   input_arg {
   16776     name: "data"
   16777     type_attr: "T"
   16778   }
   16779   input_arg {
   16780     name: "partitions"
   16781     type: DT_INT32
   16782   }
   16783   output_arg {
   16784     name: "outputs"
   16785     type_attr: "T"
   16786     number_attr: "num_partitions"
   16787   }
   16788   attr {
   16789     name: "num_partitions"
   16790     type: "int"
   16791     has_minimum: true
   16792     minimum: 1
   16793   }
   16794   attr {
   16795     name: "T"
   16796     type: "type"
   16797   }
   16798 }
   16799 op {
   16800   name: "DynamicStitch"
   16801   input_arg {
   16802     name: "indices"
   16803     type: DT_INT32
   16804     number_attr: "N"
   16805   }
   16806   input_arg {
   16807     name: "data"
   16808     type_attr: "T"
   16809     number_attr: "N"
   16810   }
   16811   output_arg {
   16812     name: "merged"
   16813     type_attr: "T"
   16814   }
   16815   attr {
   16816     name: "N"
   16817     type: "int"
   16818     has_minimum: true
   16819     minimum: 1
   16820   }
   16821   attr {
   16822     name: "T"
   16823     type: "type"
   16824   }
   16825 }
   16826 op {
   16827   name: "EagerPyFunc"
   16828   input_arg {
   16829     name: "input"
   16830     type_list_attr: "Tin"
   16831   }
   16832   output_arg {
   16833     name: "output"
   16834     type_list_attr: "Tout"
   16835   }
   16836   attr {
   16837     name: "token"
   16838     type: "string"
   16839   }
   16840   attr {
   16841     name: "Tin"
   16842     type: "list(type)"
   16843     has_minimum: true
   16844   }
   16845   attr {
   16846     name: "Tout"
   16847     type: "list(type)"
   16848     has_minimum: true
   16849   }
   16850   is_stateful: true
   16851 }
   16852 op {
   16853   name: "EditDistance"
   16854   input_arg {
   16855     name: "hypothesis_indices"
   16856     type: DT_INT64
   16857   }
   16858   input_arg {
   16859     name: "hypothesis_values"
   16860     type_attr: "T"
   16861   }
   16862   input_arg {
   16863     name: "hypothesis_shape"
   16864     type: DT_INT64
   16865   }
   16866   input_arg {
   16867     name: "truth_indices"
   16868     type: DT_INT64
   16869   }
   16870   input_arg {
   16871     name: "truth_values"
   16872     type_attr: "T"
   16873   }
   16874   input_arg {
   16875     name: "truth_shape"
   16876     type: DT_INT64
   16877   }
   16878   output_arg {
   16879     name: "output"
   16880     type: DT_FLOAT
   16881   }
   16882   attr {
   16883     name: "normalize"
   16884     type: "bool"
   16885     default_value {
   16886       b: true
   16887     }
   16888   }
   16889   attr {
   16890     name: "T"
   16891     type: "type"
   16892   }
   16893 }
   16894 op {
   16895   name: "Elu"
   16896   input_arg {
   16897     name: "features"
   16898     type_attr: "T"
   16899   }
   16900   output_arg {
   16901     name: "activations"
   16902     type_attr: "T"
   16903   }
   16904   attr {
   16905     name: "T"
   16906     type: "type"
   16907     allowed_values {
   16908       list {
   16909         type: DT_FLOAT
   16910         type: DT_DOUBLE
   16911         type: DT_HALF
   16912       }
   16913     }
   16914   }
   16915 }
   16916 op {
   16917   name: "Elu"
   16918   input_arg {
   16919     name: "features"
   16920     type_attr: "T"
   16921   }
   16922   output_arg {
   16923     name: "activations"
   16924     type_attr: "T"
   16925   }
   16926   attr {
   16927     name: "T"
   16928     type: "type"
   16929     allowed_values {
   16930       list {
   16931         type: DT_HALF
   16932         type: DT_FLOAT
   16933         type: DT_DOUBLE
   16934       }
   16935     }
   16936   }
   16937 }
   16938 op {
   16939   name: "Elu"
   16940   input_arg {
   16941     name: "features"
   16942     type_attr: "T"
   16943   }
   16944   output_arg {
   16945     name: "activations"
   16946     type_attr: "T"
   16947   }
   16948   attr {
   16949     name: "T"
   16950     type: "type"
   16951     allowed_values {
   16952       list {
   16953         type: DT_HALF
   16954         type: DT_BFLOAT16
   16955         type: DT_FLOAT
   16956         type: DT_DOUBLE
   16957       }
   16958     }
   16959   }
   16960 }
   16961 op {
   16962   name: "EluGrad"
   16963   input_arg {
   16964     name: "gradients"
   16965     type_attr: "T"
   16966   }
   16967   input_arg {
   16968     name: "outputs"
   16969     type_attr: "T"
   16970   }
   16971   output_arg {
   16972     name: "backprops"
   16973     type_attr: "T"
   16974   }
   16975   attr {
   16976     name: "T"
   16977     type: "type"
   16978     allowed_values {
   16979       list {
   16980         type: DT_FLOAT
   16981         type: DT_DOUBLE
   16982         type: DT_HALF
   16983       }
   16984     }
   16985   }
   16986 }
   16987 op {
   16988   name: "EluGrad"
   16989   input_arg {
   16990     name: "gradients"
   16991     type_attr: "T"
   16992   }
   16993   input_arg {
   16994     name: "outputs"
   16995     type_attr: "T"
   16996   }
   16997   output_arg {
   16998     name: "backprops"
   16999     type_attr: "T"
   17000   }
   17001   attr {
   17002     name: "T"
   17003     type: "type"
   17004     allowed_values {
   17005       list {
   17006         type: DT_HALF
   17007         type: DT_FLOAT
   17008         type: DT_DOUBLE
   17009       }
   17010     }
   17011   }
   17012 }
   17013 op {
   17014   name: "EluGrad"
   17015   input_arg {
   17016     name: "gradients"
   17017     type_attr: "T"
   17018   }
   17019   input_arg {
   17020     name: "outputs"
   17021     type_attr: "T"
   17022   }
   17023   output_arg {
   17024     name: "backprops"
   17025     type_attr: "T"
   17026   }
   17027   attr {
   17028     name: "T"
   17029     type: "type"
   17030     allowed_values {
   17031       list {
   17032         type: DT_HALF
   17033         type: DT_BFLOAT16
   17034         type: DT_FLOAT
   17035         type: DT_DOUBLE
   17036       }
   17037     }
   17038   }
   17039 }
   17040 op {
   17041   name: "EmptyTensorList"
   17042   input_arg {
   17043     name: "element_shape"
   17044     type_attr: "shape_type"
   17045   }
   17046   output_arg {
   17047     name: "handle"
   17048     type: DT_VARIANT
   17049   }
   17050   attr {
   17051     name: "element_dtype"
   17052     type: "type"
   17053   }
   17054   attr {
   17055     name: "shape_type"
   17056     type: "type"
   17057     allowed_values {
   17058       list {
   17059         type: DT_INT32
   17060         type: DT_INT64
   17061       }
   17062     }
   17063   }
   17064 }
   17065 op {
   17066   name: "EncodeBase64"
   17067   input_arg {
   17068     name: "input"
   17069     type: DT_STRING
   17070   }
   17071   output_arg {
   17072     name: "output"
   17073     type: DT_STRING
   17074   }
   17075   attr {
   17076     name: "pad"
   17077     type: "bool"
   17078     default_value {
   17079       b: false
   17080     }
   17081   }
   17082 }
   17083 op {
   17084   name: "EncodeJpeg"
   17085   input_arg {
   17086     name: "image"
   17087     type: DT_UINT8
   17088   }
   17089   output_arg {
   17090     name: "contents"
   17091     type: DT_STRING
   17092   }
   17093   attr {
   17094     name: "format"
   17095     type: "string"
   17096     default_value {
   17097       s: ""
   17098     }
   17099     allowed_values {
   17100       list {
   17101         s: ""
   17102         s: "grayscale"
   17103         s: "rgb"
   17104       }
   17105     }
   17106   }
   17107   attr {
   17108     name: "quality"
   17109     type: "int"
   17110     default_value {
   17111       i: 95
   17112     }
   17113   }
   17114   attr {
   17115     name: "progressive"
   17116     type: "bool"
   17117     default_value {
   17118       b: false
   17119     }
   17120   }
   17121   attr {
   17122     name: "optimize_size"
   17123     type: "bool"
   17124     default_value {
   17125       b: false
   17126     }
   17127   }
   17128   attr {
   17129     name: "chroma_downsampling"
   17130     type: "bool"
   17131     default_value {
   17132       b: true
   17133     }
   17134   }
   17135   attr {
   17136     name: "density_unit"
   17137     type: "string"
   17138     default_value {
   17139       s: "in"
   17140     }
   17141     allowed_values {
   17142       list {
   17143         s: "in"
   17144         s: "cm"
   17145       }
   17146     }
   17147   }
   17148   attr {
   17149     name: "x_density"
   17150     type: "int"
   17151     default_value {
   17152       i: 300
   17153     }
   17154   }
   17155   attr {
   17156     name: "y_density"
   17157     type: "int"
   17158     default_value {
   17159       i: 300
   17160     }
   17161   }
   17162   attr {
   17163     name: "xmp_metadata"
   17164     type: "string"
   17165     default_value {
   17166       s: ""
   17167     }
   17168   }
   17169 }
   17170 op {
   17171   name: "EncodePng"
   17172   input_arg {
   17173     name: "image"
   17174     type_attr: "T"
   17175   }
   17176   output_arg {
   17177     name: "contents"
   17178     type: DT_STRING
   17179   }
   17180   attr {
   17181     name: "compression"
   17182     type: "int"
   17183     default_value {
   17184       i: -1
   17185     }
   17186   }
   17187   attr {
   17188     name: "T"
   17189     type: "type"
   17190     default_value {
   17191       type: DT_UINT8
   17192     }
   17193     allowed_values {
   17194       list {
   17195         type: DT_UINT8
   17196         type: DT_UINT16
   17197       }
   17198     }
   17199   }
   17200 }
   17201 op {
   17202   name: "EncodeWav"
   17203   input_arg {
   17204     name: "audio"
   17205     type: DT_FLOAT
   17206   }
   17207   input_arg {
   17208     name: "sample_rate"
   17209     type: DT_INT32
   17210   }
   17211   output_arg {
   17212     name: "contents"
   17213     type: DT_STRING
   17214   }
   17215 }
   17216 op {
   17217   name: "EnqueueInQueueDataset"
   17218   input_arg {
   17219     name: "queue"
   17220     type: DT_VARIANT
   17221   }
   17222   input_arg {
   17223     name: "components"
   17224     type_list_attr: "Tcomponents"
   17225   }
   17226   attr {
   17227     name: "Tcomponents"
   17228     type: "list(type)"
   17229     has_minimum: true
   17230     minimum: 1
   17231   }
   17232   is_stateful: true
   17233 }
   17234 op {
   17235   name: "Enter"
   17236   input_arg {
   17237     name: "data"
   17238     type_attr: "T"
   17239   }
   17240   output_arg {
   17241     name: "output"
   17242     type_attr: "T"
   17243   }
   17244   attr {
   17245     name: "T"
   17246     type: "type"
   17247   }
   17248   attr {
   17249     name: "frame_name"
   17250     type: "string"
   17251   }
   17252   attr {
   17253     name: "is_constant"
   17254     type: "bool"
   17255     default_value {
   17256       b: false
   17257     }
   17258   }
   17259   attr {
   17260     name: "parallel_iterations"
   17261     type: "int"
   17262     default_value {
   17263       i: 10
   17264     }
   17265   }
   17266 }
   17267 op {
   17268   name: "Equal"
   17269   input_arg {
   17270     name: "x"
   17271     type_attr: "T"
   17272   }
   17273   input_arg {
   17274     name: "y"
   17275     type_attr: "T"
   17276   }
   17277   output_arg {
   17278     name: "z"
   17279     type: DT_BOOL
   17280   }
   17281   attr {
   17282     name: "T"
   17283     type: "type"
   17284     allowed_values {
   17285       list {
   17286         type: DT_HALF
   17287         type: DT_FLOAT
   17288         type: DT_DOUBLE
   17289         type: DT_UINT8
   17290         type: DT_INT8
   17291         type: DT_INT16
   17292         type: DT_INT32
   17293         type: DT_INT64
   17294         type: DT_COMPLEX64
   17295         type: DT_QUINT8
   17296         type: DT_QINT8
   17297         type: DT_QINT32
   17298         type: DT_STRING
   17299         type: DT_BOOL
   17300         type: DT_COMPLEX128
   17301       }
   17302     }
   17303   }
   17304   is_commutative: true
   17305 }
   17306 op {
   17307   name: "Equal"
   17308   input_arg {
   17309     name: "x"
   17310     type_attr: "T"
   17311   }
   17312   input_arg {
   17313     name: "y"
   17314     type_attr: "T"
   17315   }
   17316   output_arg {
   17317     name: "z"
   17318     type: DT_BOOL
   17319   }
   17320   attr {
   17321     name: "T"
   17322     type: "type"
   17323     allowed_values {
   17324       list {
   17325         type: DT_HALF
   17326         type: DT_BFLOAT16
   17327         type: DT_FLOAT
   17328         type: DT_DOUBLE
   17329         type: DT_UINT8
   17330         type: DT_INT8
   17331         type: DT_INT16
   17332         type: DT_INT32
   17333         type: DT_INT64
   17334         type: DT_COMPLEX64
   17335         type: DT_QUINT8
   17336         type: DT_QINT8
   17337         type: DT_QINT32
   17338         type: DT_STRING
   17339         type: DT_BOOL
   17340         type: DT_COMPLEX128
   17341       }
   17342     }
   17343   }
   17344   is_commutative: true
   17345 }
   17346 op {
   17347   name: "Erf"
   17348   input_arg {
   17349     name: "x"
   17350     type_attr: "T"
   17351   }
   17352   output_arg {
   17353     name: "y"
   17354     type_attr: "T"
   17355   }
   17356   attr {
   17357     name: "T"
   17358     type: "type"
   17359     allowed_values {
   17360       list {
   17361         type: DT_HALF
   17362         type: DT_FLOAT
   17363         type: DT_DOUBLE
   17364       }
   17365     }
   17366   }
   17367 }
   17368 op {
   17369   name: "Erf"
   17370   input_arg {
   17371     name: "x"
   17372     type_attr: "T"
   17373   }
   17374   output_arg {
   17375     name: "y"
   17376     type_attr: "T"
   17377   }
   17378   attr {
   17379     name: "T"
   17380     type: "type"
   17381     allowed_values {
   17382       list {
   17383         type: DT_HALF
   17384         type: DT_BFLOAT16
   17385         type: DT_FLOAT
   17386         type: DT_DOUBLE
   17387       }
   17388     }
   17389   }
   17390 }
   17391 op {
   17392   name: "Erfc"
   17393   input_arg {
   17394     name: "x"
   17395     type_attr: "T"
   17396   }
   17397   output_arg {
   17398     name: "y"
   17399     type_attr: "T"
   17400   }
   17401   attr {
   17402     name: "T"
   17403     type: "type"
   17404     allowed_values {
   17405       list {
   17406         type: DT_HALF
   17407         type: DT_FLOAT
   17408         type: DT_DOUBLE
   17409       }
   17410     }
   17411   }
   17412 }
   17413 op {
   17414   name: "Erfc"
   17415   input_arg {
   17416     name: "x"
   17417     type_attr: "T"
   17418   }
   17419   output_arg {
   17420     name: "y"
   17421     type_attr: "T"
   17422   }
   17423   attr {
   17424     name: "T"
   17425     type: "type"
   17426     allowed_values {
   17427       list {
   17428         type: DT_HALF
   17429         type: DT_BFLOAT16
   17430         type: DT_FLOAT
   17431         type: DT_DOUBLE
   17432       }
   17433     }
   17434   }
   17435 }
   17436 op {
   17437   name: "ExecuteInCriticalSection"
   17438   input_arg {
   17439     name: "critical_section"
   17440     type: DT_RESOURCE
   17441   }
   17442   input_arg {
   17443     name: "arguments"
   17444     type_list_attr: "Targuments"
   17445   }
   17446   output_arg {
   17447     name: "outputs"
   17448     type_list_attr: "output_types"
   17449   }
   17450   attr {
   17451     name: "f"
   17452     type: "func"
   17453   }
   17454   attr {
   17455     name: "Targuments"
   17456     type: "list(type)"
   17457     has_minimum: true
   17458   }
   17459   attr {
   17460     name: "output_types"
   17461     type: "list(type)"
   17462     has_minimum: true
   17463     minimum: 1
   17464   }
   17465   attr {
   17466     name: "output_shapes"
   17467     type: "list(shape)"
   17468     has_minimum: true
   17469     minimum: 1
   17470   }
   17471   is_stateful: true
   17472 }
   17473 op {
   17474   name: "ExecuteInCriticalSection"
   17475   input_arg {
   17476     name: "critical_section"
   17477     type: DT_RESOURCE
   17478   }
   17479   input_arg {
   17480     name: "arguments"
   17481     type_list_attr: "Targuments"
   17482   }
   17483   output_arg {
   17484     name: "outputs"
   17485     type_list_attr: "output_types"
   17486   }
   17487   attr {
   17488     name: "f"
   17489     type: "func"
   17490   }
   17491   attr {
   17492     name: "Targuments"
   17493     type: "list(type)"
   17494     has_minimum: true
   17495   }
   17496   attr {
   17497     name: "output_types"
   17498     type: "list(type)"
   17499     has_minimum: true
   17500   }
   17501   attr {
   17502     name: "output_shapes"
   17503     type: "list(shape)"
   17504     has_minimum: true
   17505   }
   17506   is_stateful: true
   17507 }
   17508 op {
   17509   name: "Exit"
   17510   input_arg {
   17511     name: "data"
   17512     type_attr: "T"
   17513   }
   17514   output_arg {
   17515     name: "output"
   17516     type_attr: "T"
   17517   }
   17518   attr {
   17519     name: "T"
   17520     type: "type"
   17521   }
   17522 }
   17523 op {
   17524   name: "Exp"
   17525   input_arg {
   17526     name: "x"
   17527     type_attr: "T"
   17528   }
   17529   output_arg {
   17530     name: "y"
   17531     type_attr: "T"
   17532   }
   17533   attr {
   17534     name: "T"
   17535     type: "type"
   17536     allowed_values {
   17537       list {
   17538         type: DT_HALF
   17539         type: DT_FLOAT
   17540         type: DT_DOUBLE
   17541         type: DT_COMPLEX64
   17542         type: DT_COMPLEX128
   17543       }
   17544     }
   17545   }
   17546 }
   17547 op {
   17548   name: "Exp"
   17549   input_arg {
   17550     name: "x"
   17551     type_attr: "T"
   17552   }
   17553   output_arg {
   17554     name: "y"
   17555     type_attr: "T"
   17556   }
   17557   attr {
   17558     name: "T"
   17559     type: "type"
   17560     allowed_values {
   17561       list {
   17562         type: DT_HALF
   17563         type: DT_BFLOAT16
   17564         type: DT_FLOAT
   17565         type: DT_DOUBLE
   17566         type: DT_COMPLEX64
   17567         type: DT_COMPLEX128
   17568       }
   17569     }
   17570   }
   17571 }
   17572 op {
   17573   name: "ExpandDims"
   17574   input_arg {
   17575     name: "input"
   17576     type_attr: "T"
   17577   }
   17578   input_arg {
   17579     name: "dim"
   17580     type_attr: "Tdim"
   17581   }
   17582   output_arg {
   17583     name: "output"
   17584     type_attr: "T"
   17585   }
   17586   attr {
   17587     name: "T"
   17588     type: "type"
   17589   }
   17590   attr {
   17591     name: "Tdim"
   17592     type: "type"
   17593     default_value {
   17594       type: DT_INT32
   17595     }
   17596     allowed_values {
   17597       list {
   17598         type: DT_INT32
   17599         type: DT_INT64
   17600       }
   17601     }
   17602   }
   17603 }
   17604 op {
   17605   name: "Expm1"
   17606   input_arg {
   17607     name: "x"
   17608     type_attr: "T"
   17609   }
   17610   output_arg {
   17611     name: "y"
   17612     type_attr: "T"
   17613   }
   17614   attr {
   17615     name: "T"
   17616     type: "type"
   17617     allowed_values {
   17618       list {
   17619         type: DT_HALF
   17620         type: DT_FLOAT
   17621         type: DT_DOUBLE
   17622         type: DT_COMPLEX64
   17623         type: DT_COMPLEX128
   17624       }
   17625     }
   17626   }
   17627 }
   17628 op {
   17629   name: "Expm1"
   17630   input_arg {
   17631     name: "x"
   17632     type_attr: "T"
   17633   }
   17634   output_arg {
   17635     name: "y"
   17636     type_attr: "T"
   17637   }
   17638   attr {
   17639     name: "T"
   17640     type: "type"
   17641     allowed_values {
   17642       list {
   17643         type: DT_HALF
   17644         type: DT_BFLOAT16
   17645         type: DT_FLOAT
   17646         type: DT_DOUBLE
   17647         type: DT_COMPLEX64
   17648         type: DT_COMPLEX128
   17649       }
   17650     }
   17651   }
   17652 }
   17653 op {
   17654   name: "ExtractGlimpse"
   17655   input_arg {
   17656     name: "input"
   17657     type: DT_FLOAT
   17658   }
   17659   input_arg {
   17660     name: "size"
   17661     type: DT_INT32
   17662   }
   17663   input_arg {
   17664     name: "offsets"
   17665     type: DT_FLOAT
   17666   }
   17667   output_arg {
   17668     name: "glimpse"
   17669     type: DT_FLOAT
   17670   }
   17671   attr {
   17672     name: "centered"
   17673     type: "bool"
   17674     default_value {
   17675       b: true
   17676     }
   17677   }
   17678   attr {
   17679     name: "normalized"
   17680     type: "bool"
   17681     default_value {
   17682       b: true
   17683     }
   17684   }
   17685   attr {
   17686     name: "uniform_noise"
   17687     type: "bool"
   17688     default_value {
   17689       b: true
   17690     }
   17691   }
   17692 }
   17693 op {
   17694   name: "ExtractImagePatches"
   17695   input_arg {
   17696     name: "images"
   17697     type_attr: "T"
   17698   }
   17699   output_arg {
   17700     name: "patches"
   17701     type_attr: "T"
   17702   }
   17703   attr {
   17704     name: "ksizes"
   17705     type: "list(int)"
   17706     has_minimum: true
   17707     minimum: 4
   17708   }
   17709   attr {
   17710     name: "strides"
   17711     type: "list(int)"
   17712     has_minimum: true
   17713     minimum: 4
   17714   }
   17715   attr {
   17716     name: "rates"
   17717     type: "list(int)"
   17718     has_minimum: true
   17719     minimum: 4
   17720   }
   17721   attr {
   17722     name: "T"
   17723     type: "type"
   17724     allowed_values {
   17725       list {
   17726         type: DT_FLOAT
   17727         type: DT_DOUBLE
   17728         type: DT_INT32
   17729         type: DT_INT64
   17730         type: DT_UINT8
   17731         type: DT_INT16
   17732         type: DT_INT8
   17733         type: DT_UINT16
   17734         type: DT_HALF
   17735       }
   17736     }
   17737   }
   17738   attr {
   17739     name: "padding"
   17740     type: "string"
   17741     allowed_values {
   17742       list {
   17743         s: "SAME"
   17744         s: "VALID"
   17745       }
   17746     }
   17747   }
   17748 }
   17749 op {
   17750   name: "ExtractImagePatches"
   17751   input_arg {
   17752     name: "images"
   17753     type_attr: "T"
   17754   }
   17755   output_arg {
   17756     name: "patches"
   17757     type_attr: "T"
   17758   }
   17759   attr {
   17760     name: "ksizes"
   17761     type: "list(int)"
   17762     has_minimum: true
   17763     minimum: 4
   17764   }
   17765   attr {
   17766     name: "strides"
   17767     type: "list(int)"
   17768     has_minimum: true
   17769     minimum: 4
   17770   }
   17771   attr {
   17772     name: "rates"
   17773     type: "list(int)"
   17774     has_minimum: true
   17775     minimum: 4
   17776   }
   17777   attr {
   17778     name: "T"
   17779     type: "type"
   17780     allowed_values {
   17781       list {
   17782         type: DT_FLOAT
   17783         type: DT_DOUBLE
   17784         type: DT_INT32
   17785         type: DT_INT64
   17786         type: DT_UINT8
   17787         type: DT_INT16
   17788         type: DT_INT8
   17789         type: DT_UINT16
   17790         type: DT_HALF
   17791         type: DT_UINT32
   17792         type: DT_UINT64
   17793       }
   17794     }
   17795   }
   17796   attr {
   17797     name: "padding"
   17798     type: "string"
   17799     allowed_values {
   17800       list {
   17801         s: "SAME"
   17802         s: "VALID"
   17803       }
   17804     }
   17805   }
   17806 }
   17807 op {
   17808   name: "ExtractImagePatches"
   17809   input_arg {
   17810     name: "images"
   17811     type_attr: "T"
   17812   }
   17813   output_arg {
   17814     name: "patches"
   17815     type_attr: "T"
   17816   }
   17817   attr {
   17818     name: "ksizes"
   17819     type: "list(int)"
   17820     has_minimum: true
   17821     minimum: 4
   17822   }
   17823   attr {
   17824     name: "strides"
   17825     type: "list(int)"
   17826     has_minimum: true
   17827     minimum: 4
   17828   }
   17829   attr {
   17830     name: "rates"
   17831     type: "list(int)"
   17832     has_minimum: true
   17833     minimum: 4
   17834   }
   17835   attr {
   17836     name: "T"
   17837     type: "type"
   17838     allowed_values {
   17839       list {
   17840         type: DT_FLOAT
   17841         type: DT_DOUBLE
   17842         type: DT_INT32
   17843         type: DT_INT64
   17844         type: DT_UINT8
   17845         type: DT_INT16
   17846         type: DT_INT8
   17847         type: DT_UINT16
   17848         type: DT_HALF
   17849         type: DT_UINT32
   17850         type: DT_UINT64
   17851         type: DT_BFLOAT16
   17852       }
   17853     }
   17854   }
   17855   attr {
   17856     name: "padding"
   17857     type: "string"
   17858     allowed_values {
   17859       list {
   17860         s: "SAME"
   17861         s: "VALID"
   17862       }
   17863     }
   17864   }
   17865 }
   17866 op {
   17867   name: "ExtractImagePatches"
   17868   input_arg {
   17869     name: "images"
   17870     type_attr: "T"
   17871   }
   17872   output_arg {
   17873     name: "patches"
   17874     type_attr: "T"
   17875   }
   17876   attr {
   17877     name: "ksizes"
   17878     type: "list(int)"
   17879     has_minimum: true
   17880     minimum: 4
   17881   }
   17882   attr {
   17883     name: "strides"
   17884     type: "list(int)"
   17885     has_minimum: true
   17886     minimum: 4
   17887   }
   17888   attr {
   17889     name: "rates"
   17890     type: "list(int)"
   17891     has_minimum: true
   17892     minimum: 4
   17893   }
   17894   attr {
   17895     name: "T"
   17896     type: "type"
   17897     allowed_values {
   17898       list {
   17899         type: DT_FLOAT
   17900         type: DT_DOUBLE
   17901         type: DT_INT32
   17902         type: DT_UINT8
   17903         type: DT_INT16
   17904         type: DT_INT8
   17905         type: DT_INT64
   17906         type: DT_BFLOAT16
   17907         type: DT_UINT16
   17908         type: DT_HALF
   17909         type: DT_UINT32
   17910         type: DT_UINT64
   17911       }
   17912     }
   17913   }
   17914   attr {
   17915     name: "padding"
   17916     type: "string"
   17917     allowed_values {
   17918       list {
   17919         s: "SAME"
   17920         s: "VALID"
   17921       }
   17922     }
   17923   }
   17924 }
   17925 op {
   17926   name: "ExtractJpegShape"
   17927   input_arg {
   17928     name: "contents"
   17929     type: DT_STRING
   17930   }
   17931   output_arg {
   17932     name: "image_shape"
   17933     type_attr: "output_type"
   17934   }
   17935   attr {
   17936     name: "output_type"
   17937     type: "type"
   17938     default_value {
   17939       type: DT_INT32
   17940     }
   17941     allowed_values {
   17942       list {
   17943         type: DT_INT32
   17944         type: DT_INT64
   17945       }
   17946     }
   17947   }
   17948 }
   17949 op {
   17950   name: "FFT"
   17951   input_arg {
   17952     name: "input"
   17953     type: DT_COMPLEX64
   17954   }
   17955   output_arg {
   17956     name: "output"
   17957     type: DT_COMPLEX64
   17958   }
   17959 }
   17960 op {
   17961   name: "FFT2D"
   17962   input_arg {
   17963     name: "input"
   17964     type: DT_COMPLEX64
   17965   }
   17966   output_arg {
   17967     name: "output"
   17968     type: DT_COMPLEX64
   17969   }
   17970 }
   17971 op {
   17972   name: "FFT3D"
   17973   input_arg {
   17974     name: "input"
   17975     type: DT_COMPLEX64
   17976   }
   17977   output_arg {
   17978     name: "output"
   17979     type: DT_COMPLEX64
   17980   }
   17981 }
   17982 op {
   17983   name: "FIFOQueue"
   17984   output_arg {
   17985     name: "handle"
   17986     type: DT_STRING
   17987     is_ref: true
   17988   }
   17989   attr {
   17990     name: "component_types"
   17991     type: "list(type)"
   17992     has_minimum: true
   17993     minimum: 1
   17994   }
   17995   attr {
   17996     name: "shapes"
   17997     type: "list(shape)"
   17998     default_value {
   17999       list {
   18000       }
   18001     }
   18002     has_minimum: true
   18003   }
   18004   attr {
   18005     name: "capacity"
   18006     type: "int"
   18007     default_value {
   18008       i: -1
   18009     }
   18010   }
   18011   attr {
   18012     name: "container"
   18013     type: "string"
   18014     default_value {
   18015       s: ""
   18016     }
   18017   }
   18018   attr {
   18019     name: "shared_name"
   18020     type: "string"
   18021     default_value {
   18022       s: ""
   18023     }
   18024   }
   18025   is_stateful: true
   18026 }
   18027 op {
   18028   name: "FIFOQueueV2"
   18029   output_arg {
   18030     name: "handle"
   18031     type: DT_RESOURCE
   18032   }
   18033   attr {
   18034     name: "component_types"
   18035     type: "list(type)"
   18036     has_minimum: true
   18037     minimum: 1
   18038   }
   18039   attr {
   18040     name: "shapes"
   18041     type: "list(shape)"
   18042     default_value {
   18043       list {
   18044       }
   18045     }
   18046     has_minimum: true
   18047   }
   18048   attr {
   18049     name: "capacity"
   18050     type: "int"
   18051     default_value {
   18052       i: -1
   18053     }
   18054   }
   18055   attr {
   18056     name: "container"
   18057     type: "string"
   18058     default_value {
   18059       s: ""
   18060     }
   18061   }
   18062   attr {
   18063     name: "shared_name"
   18064     type: "string"
   18065     default_value {
   18066       s: ""
   18067     }
   18068   }
   18069   is_stateful: true
   18070 }
   18071 op {
   18072   name: "Fact"
   18073   output_arg {
   18074     name: "fact"
   18075     type: DT_STRING
   18076   }
   18077 }
   18078 op {
   18079   name: "FakeQuantWithMinMaxArgs"
   18080   input_arg {
   18081     name: "inputs"
   18082     type: DT_FLOAT
   18083   }
   18084   output_arg {
   18085     name: "outputs"
   18086     type: DT_FLOAT
   18087   }
   18088   attr {
   18089     name: "min"
   18090     type: "float"
   18091     default_value {
   18092       f: -6
   18093     }
   18094   }
   18095   attr {
   18096     name: "max"
   18097     type: "float"
   18098     default_value {
   18099       f: 6
   18100     }
   18101   }
   18102 }
   18103 op {
   18104   name: "FakeQuantWithMinMaxArgs"
   18105   input_arg {
   18106     name: "inputs"
   18107     type: DT_FLOAT
   18108   }
   18109   output_arg {
   18110     name: "outputs"
   18111     type: DT_FLOAT
   18112   }
   18113   attr {
   18114     name: "min"
   18115     type: "float"
   18116     default_value {
   18117       f: -6
   18118     }
   18119   }
   18120   attr {
   18121     name: "max"
   18122     type: "float"
   18123     default_value {
   18124       f: 6
   18125     }
   18126   }
   18127   attr {
   18128     name: "num_bits"
   18129     type: "int"
   18130     default_value {
   18131       i: 8
   18132     }
   18133   }
   18134 }
   18135 op {
   18136   name: "FakeQuantWithMinMaxArgs"
   18137   input_arg {
   18138     name: "inputs"
   18139     type: DT_FLOAT
   18140   }
   18141   output_arg {
   18142     name: "outputs"
   18143     type: DT_FLOAT
   18144   }
   18145   attr {
   18146     name: "min"
   18147     type: "float"
   18148     default_value {
   18149       f: -6
   18150     }
   18151   }
   18152   attr {
   18153     name: "max"
   18154     type: "float"
   18155     default_value {
   18156       f: 6
   18157     }
   18158   }
   18159   attr {
   18160     name: "num_bits"
   18161     type: "int"
   18162     default_value {
   18163       i: 8
   18164     }
   18165   }
   18166   attr {
   18167     name: "narrow_range"
   18168     type: "bool"
   18169     default_value {
   18170       b: false
   18171     }
   18172   }
   18173 }
   18174 op {
   18175   name: "FakeQuantWithMinMaxArgsGradient"
   18176   input_arg {
   18177     name: "gradients"
   18178     type: DT_FLOAT
   18179   }
   18180   input_arg {
   18181     name: "inputs"
   18182     type: DT_FLOAT
   18183   }
   18184   output_arg {
   18185     name: "backprops"
   18186     type: DT_FLOAT
   18187   }
   18188   attr {
   18189     name: "min"
   18190     type: "float"
   18191     default_value {
   18192       f: -6
   18193     }
   18194   }
   18195   attr {
   18196     name: "max"
   18197     type: "float"
   18198     default_value {
   18199       f: 6
   18200     }
   18201   }
   18202 }
   18203 op {
   18204   name: "FakeQuantWithMinMaxArgsGradient"
   18205   input_arg {
   18206     name: "gradients"
   18207     type: DT_FLOAT
   18208   }
   18209   input_arg {
   18210     name: "inputs"
   18211     type: DT_FLOAT
   18212   }
   18213   output_arg {
   18214     name: "backprops"
   18215     type: DT_FLOAT
   18216   }
   18217   attr {
   18218     name: "min"
   18219     type: "float"
   18220     default_value {
   18221       f: -6
   18222     }
   18223   }
   18224   attr {
   18225     name: "max"
   18226     type: "float"
   18227     default_value {
   18228       f: 6
   18229     }
   18230   }
   18231   attr {
   18232     name: "num_bits"
   18233     type: "int"
   18234     default_value {
   18235       i: 8
   18236     }
   18237   }
   18238 }
   18239 op {
   18240   name: "FakeQuantWithMinMaxArgsGradient"
   18241   input_arg {
   18242     name: "gradients"
   18243     type: DT_FLOAT
   18244   }
   18245   input_arg {
   18246     name: "inputs"
   18247     type: DT_FLOAT
   18248   }
   18249   output_arg {
   18250     name: "backprops"
   18251     type: DT_FLOAT
   18252   }
   18253   attr {
   18254     name: "min"
   18255     type: "float"
   18256     default_value {
   18257       f: -6
   18258     }
   18259   }
   18260   attr {
   18261     name: "max"
   18262     type: "float"
   18263     default_value {
   18264       f: 6
   18265     }
   18266   }
   18267   attr {
   18268     name: "num_bits"
   18269     type: "int"
   18270     default_value {
   18271       i: 8
   18272     }
   18273   }
   18274   attr {
   18275     name: "narrow_range"
   18276     type: "bool"
   18277     default_value {
   18278       b: false
   18279     }
   18280   }
   18281 }
   18282 op {
   18283   name: "FakeQuantWithMinMaxVars"
   18284   input_arg {
   18285     name: "inputs"
   18286     type: DT_FLOAT
   18287   }
   18288   input_arg {
   18289     name: "min"
   18290     type: DT_FLOAT
   18291   }
   18292   input_arg {
   18293     name: "max"
   18294     type: DT_FLOAT
   18295   }
   18296   output_arg {
   18297     name: "outputs"
   18298     type: DT_FLOAT
   18299   }
   18300 }
   18301 op {
   18302   name: "FakeQuantWithMinMaxVars"
   18303   input_arg {
   18304     name: "inputs"
   18305     type: DT_FLOAT
   18306   }
   18307   input_arg {
   18308     name: "min"
   18309     type: DT_FLOAT
   18310   }
   18311   input_arg {
   18312     name: "max"
   18313     type: DT_FLOAT
   18314   }
   18315   output_arg {
   18316     name: "outputs"
   18317     type: DT_FLOAT
   18318   }
   18319   attr {
   18320     name: "num_bits"
   18321     type: "int"
   18322     default_value {
   18323       i: 8
   18324     }
   18325   }
   18326 }
   18327 op {
   18328   name: "FakeQuantWithMinMaxVars"
   18329   input_arg {
   18330     name: "inputs"
   18331     type: DT_FLOAT
   18332   }
   18333   input_arg {
   18334     name: "min"
   18335     type: DT_FLOAT
   18336   }
   18337   input_arg {
   18338     name: "max"
   18339     type: DT_FLOAT
   18340   }
   18341   output_arg {
   18342     name: "outputs"
   18343     type: DT_FLOAT
   18344   }
   18345   attr {
   18346     name: "num_bits"
   18347     type: "int"
   18348     default_value {
   18349       i: 8
   18350     }
   18351   }
   18352   attr {
   18353     name: "narrow_range"
   18354     type: "bool"
   18355     default_value {
   18356       b: false
   18357     }
   18358   }
   18359 }
   18360 op {
   18361   name: "FakeQuantWithMinMaxVarsGradient"
   18362   input_arg {
   18363     name: "gradients"
   18364     type: DT_FLOAT
   18365   }
   18366   input_arg {
   18367     name: "inputs"
   18368     type: DT_FLOAT
   18369   }
   18370   input_arg {
   18371     name: "min"
   18372     type: DT_FLOAT
   18373   }
   18374   input_arg {
   18375     name: "max"
   18376     type: DT_FLOAT
   18377   }
   18378   output_arg {
   18379     name: "backprops_wrt_input"
   18380     type: DT_FLOAT
   18381   }
   18382   output_arg {
   18383     name: "backprop_wrt_min"
   18384     type: DT_FLOAT
   18385   }
   18386   output_arg {
   18387     name: "backprop_wrt_max"
   18388     type: DT_FLOAT
   18389   }
   18390 }
   18391 op {
   18392   name: "FakeQuantWithMinMaxVarsGradient"
   18393   input_arg {
   18394     name: "gradients"
   18395     type: DT_FLOAT
   18396   }
   18397   input_arg {
   18398     name: "inputs"
   18399     type: DT_FLOAT
   18400   }
   18401   input_arg {
   18402     name: "min"
   18403     type: DT_FLOAT
   18404   }
   18405   input_arg {
   18406     name: "max"
   18407     type: DT_FLOAT
   18408   }
   18409   output_arg {
   18410     name: "backprops_wrt_input"
   18411     type: DT_FLOAT
   18412   }
   18413   output_arg {
   18414     name: "backprop_wrt_min"
   18415     type: DT_FLOAT
   18416   }
   18417   output_arg {
   18418     name: "backprop_wrt_max"
   18419     type: DT_FLOAT
   18420   }
   18421   attr {
   18422     name: "num_bits"
   18423     type: "int"
   18424     default_value {
   18425       i: 8
   18426     }
   18427   }
   18428 }
   18429 op {
   18430   name: "FakeQuantWithMinMaxVarsGradient"
   18431   input_arg {
   18432     name: "gradients"
   18433     type: DT_FLOAT
   18434   }
   18435   input_arg {
   18436     name: "inputs"
   18437     type: DT_FLOAT
   18438   }
   18439   input_arg {
   18440     name: "min"
   18441     type: DT_FLOAT
   18442   }
   18443   input_arg {
   18444     name: "max"
   18445     type: DT_FLOAT
   18446   }
   18447   output_arg {
   18448     name: "backprops_wrt_input"
   18449     type: DT_FLOAT
   18450   }
   18451   output_arg {
   18452     name: "backprop_wrt_min"
   18453     type: DT_FLOAT
   18454   }
   18455   output_arg {
   18456     name: "backprop_wrt_max"
   18457     type: DT_FLOAT
   18458   }
   18459   attr {
   18460     name: "num_bits"
   18461     type: "int"
   18462     default_value {
   18463       i: 8
   18464     }
   18465   }
   18466   attr {
   18467     name: "narrow_range"
   18468     type: "bool"
   18469     default_value {
   18470       b: false
   18471     }
   18472   }
   18473 }
   18474 op {
   18475   name: "FakeQuantWithMinMaxVarsPerChannel"
   18476   input_arg {
   18477     name: "inputs"
   18478     type: DT_FLOAT
   18479   }
   18480   input_arg {
   18481     name: "min"
   18482     type: DT_FLOAT
   18483   }
   18484   input_arg {
   18485     name: "max"
   18486     type: DT_FLOAT
   18487   }
   18488   output_arg {
   18489     name: "outputs"
   18490     type: DT_FLOAT
   18491   }
   18492 }
   18493 op {
   18494   name: "FakeQuantWithMinMaxVarsPerChannel"
   18495   input_arg {
   18496     name: "inputs"
   18497     type: DT_FLOAT
   18498   }
   18499   input_arg {
   18500     name: "min"
   18501     type: DT_FLOAT
   18502   }
   18503   input_arg {
   18504     name: "max"
   18505     type: DT_FLOAT
   18506   }
   18507   output_arg {
   18508     name: "outputs"
   18509     type: DT_FLOAT
   18510   }
   18511   attr {
   18512     name: "num_bits"
   18513     type: "int"
   18514     default_value {
   18515       i: 8
   18516     }
   18517   }
   18518 }
   18519 op {
   18520   name: "FakeQuantWithMinMaxVarsPerChannel"
   18521   input_arg {
   18522     name: "inputs"
   18523     type: DT_FLOAT
   18524   }
   18525   input_arg {
   18526     name: "min"
   18527     type: DT_FLOAT
   18528   }
   18529   input_arg {
   18530     name: "max"
   18531     type: DT_FLOAT
   18532   }
   18533   output_arg {
   18534     name: "outputs"
   18535     type: DT_FLOAT
   18536   }
   18537   attr {
   18538     name: "num_bits"
   18539     type: "int"
   18540     default_value {
   18541       i: 8
   18542     }
   18543   }
   18544   attr {
   18545     name: "narrow_range"
   18546     type: "bool"
   18547     default_value {
   18548       b: false
   18549     }
   18550   }
   18551 }
   18552 op {
   18553   name: "FakeQuantWithMinMaxVarsPerChannelGradient"
   18554   input_arg {
   18555     name: "gradients"
   18556     type: DT_FLOAT
   18557   }
   18558   input_arg {
   18559     name: "inputs"
   18560     type: DT_FLOAT
   18561   }
   18562   input_arg {
   18563     name: "min"
   18564     type: DT_FLOAT
   18565   }
   18566   input_arg {
   18567     name: "max"
   18568     type: DT_FLOAT
   18569   }
   18570   output_arg {
   18571     name: "backprops_wrt_input"
   18572     type: DT_FLOAT
   18573   }
   18574   output_arg {
   18575     name: "backprop_wrt_min"
   18576     type: DT_FLOAT
   18577   }
   18578   output_arg {
   18579     name: "backprop_wrt_max"
   18580     type: DT_FLOAT
   18581   }
   18582 }
   18583 op {
   18584   name: "FakeQuantWithMinMaxVarsPerChannelGradient"
   18585   input_arg {
   18586     name: "gradients"
   18587     type: DT_FLOAT
   18588   }
   18589   input_arg {
   18590     name: "inputs"
   18591     type: DT_FLOAT
   18592   }
   18593   input_arg {
   18594     name: "min"
   18595     type: DT_FLOAT
   18596   }
   18597   input_arg {
   18598     name: "max"
   18599     type: DT_FLOAT
   18600   }
   18601   output_arg {
   18602     name: "backprops_wrt_input"
   18603     type: DT_FLOAT
   18604   }
   18605   output_arg {
   18606     name: "backprop_wrt_min"
   18607     type: DT_FLOAT
   18608   }
   18609   output_arg {
   18610     name: "backprop_wrt_max"
   18611     type: DT_FLOAT
   18612   }
   18613   attr {
   18614     name: "num_bits"
   18615     type: "int"
   18616     default_value {
   18617       i: 8
   18618     }
   18619   }
   18620 }
   18621 op {
   18622   name: "FakeQuantWithMinMaxVarsPerChannelGradient"
   18623   input_arg {
   18624     name: "gradients"
   18625     type: DT_FLOAT
   18626   }
   18627   input_arg {
   18628     name: "inputs"
   18629     type: DT_FLOAT
   18630   }
   18631   input_arg {
   18632     name: "min"
   18633     type: DT_FLOAT
   18634   }
   18635   input_arg {
   18636     name: "max"
   18637     type: DT_FLOAT
   18638   }
   18639   output_arg {
   18640     name: "backprops_wrt_input"
   18641     type: DT_FLOAT
   18642   }
   18643   output_arg {
   18644     name: "backprop_wrt_min"
   18645     type: DT_FLOAT
   18646   }
   18647   output_arg {
   18648     name: "backprop_wrt_max"
   18649     type: DT_FLOAT
   18650   }
   18651   attr {
   18652     name: "num_bits"
   18653     type: "int"
   18654     default_value {
   18655       i: 8
   18656     }
   18657   }
   18658   attr {
   18659     name: "narrow_range"
   18660     type: "bool"
   18661     default_value {
   18662       b: false
   18663     }
   18664   }
   18665 }
   18666 op {
   18667   name: "FakeQueue"
   18668   input_arg {
   18669     name: "resource"
   18670     type: DT_RESOURCE
   18671   }
   18672   output_arg {
   18673     name: "handle"
   18674     type: DT_STRING
   18675     is_ref: true
   18676   }
   18677   is_stateful: true
   18678 }
   18679 op {
   18680   name: "Fill"
   18681   input_arg {
   18682     name: "dims"
   18683     type: DT_INT32
   18684   }
   18685   input_arg {
   18686     name: "value"
   18687     type_attr: "T"
   18688   }
   18689   output_arg {
   18690     name: "output"
   18691     type_attr: "T"
   18692   }
   18693   attr {
   18694     name: "T"
   18695     type: "type"
   18696   }
   18697 }
   18698 op {
   18699   name: "Fill"
   18700   input_arg {
   18701     name: "dims"
   18702     type_attr: "index_type"
   18703   }
   18704   input_arg {
   18705     name: "value"
   18706     type_attr: "T"
   18707   }
   18708   output_arg {
   18709     name: "output"
   18710     type_attr: "T"
   18711   }
   18712   attr {
   18713     name: "T"
   18714     type: "type"
   18715   }
   18716   attr {
   18717     name: "index_type"
   18718     type: "type"
   18719     default_value {
   18720       type: DT_INT32
   18721     }
   18722     allowed_values {
   18723       list {
   18724         type: DT_INT32
   18725         type: DT_INT64
   18726       }
   18727     }
   18728   }
   18729 }
   18730 op {
   18731   name: "FilterDataset"
   18732   input_arg {
   18733     name: "input_dataset"
   18734     type: DT_VARIANT
   18735   }
   18736   input_arg {
   18737     name: "other_arguments"
   18738     type_list_attr: "Targuments"
   18739   }
   18740   output_arg {
   18741     name: "handle"
   18742     type: DT_VARIANT
   18743   }
   18744   attr {
   18745     name: "predicate"
   18746     type: "func"
   18747   }
   18748   attr {
   18749     name: "Targuments"
   18750     type: "list(type)"
   18751     has_minimum: true
   18752   }
   18753   attr {
   18754     name: "output_types"
   18755     type: "list(type)"
   18756     has_minimum: true
   18757     minimum: 1
   18758   }
   18759   attr {
   18760     name: "output_shapes"
   18761     type: "list(shape)"
   18762     has_minimum: true
   18763     minimum: 1
   18764   }
   18765   is_stateful: true
   18766 }
   18767 op {
   18768   name: "FilterDataset"
   18769   input_arg {
   18770     name: "input_dataset"
   18771     type: DT_VARIANT
   18772   }
   18773   input_arg {
   18774     name: "other_arguments"
   18775     type_list_attr: "Targuments"
   18776   }
   18777   output_arg {
   18778     name: "handle"
   18779     type: DT_VARIANT
   18780   }
   18781   attr {
   18782     name: "predicate"
   18783     type: "func"
   18784   }
   18785   attr {
   18786     name: "Targuments"
   18787     type: "list(type)"
   18788     has_minimum: true
   18789   }
   18790   attr {
   18791     name: "output_types"
   18792     type: "list(type)"
   18793     has_minimum: true
   18794     minimum: 1
   18795   }
   18796   attr {
   18797     name: "output_shapes"
   18798     type: "list(shape)"
   18799     has_minimum: true
   18800     minimum: 1
   18801   }
   18802 }
   18803 op {
   18804   name: "FixedLengthRecordDataset"
   18805   input_arg {
   18806     name: "filenames"
   18807     type: DT_STRING
   18808   }
   18809   input_arg {
   18810     name: "header_bytes"
   18811     type: DT_INT64
   18812   }
   18813   input_arg {
   18814     name: "record_bytes"
   18815     type: DT_INT64
   18816   }
   18817   input_arg {
   18818     name: "footer_bytes"
   18819     type: DT_INT64
   18820   }
   18821   input_arg {
   18822     name: "buffer_size"
   18823     type: DT_INT64
   18824   }
   18825   output_arg {
   18826     name: "handle"
   18827     type: DT_VARIANT
   18828   }
   18829   is_stateful: true
   18830 }
   18831 op {
   18832   name: "FixedLengthRecordReader"
   18833   output_arg {
   18834     name: "reader_handle"
   18835     type: DT_STRING
   18836     is_ref: true
   18837   }
   18838   attr {
   18839     name: "header_bytes"
   18840     type: "int"
   18841     default_value {
   18842       i: 0
   18843     }
   18844   }
   18845   attr {
   18846     name: "record_bytes"
   18847     type: "int"
   18848   }
   18849   attr {
   18850     name: "footer_bytes"
   18851     type: "int"
   18852     default_value {
   18853       i: 0
   18854     }
   18855   }
   18856   attr {
   18857     name: "container"
   18858     type: "string"
   18859     default_value {
   18860       s: ""
   18861     }
   18862   }
   18863   attr {
   18864     name: "shared_name"
   18865     type: "string"
   18866     default_value {
   18867       s: ""
   18868     }
   18869   }
   18870   is_stateful: true
   18871 }
   18872 op {
   18873   name: "FixedLengthRecordReader"
   18874   output_arg {
   18875     name: "reader_handle"
   18876     type: DT_STRING
   18877     is_ref: true
   18878   }
   18879   attr {
   18880     name: "header_bytes"
   18881     type: "int"
   18882     default_value {
   18883       i: 0
   18884     }
   18885   }
   18886   attr {
   18887     name: "record_bytes"
   18888     type: "int"
   18889   }
   18890   attr {
   18891     name: "footer_bytes"
   18892     type: "int"
   18893     default_value {
   18894       i: 0
   18895     }
   18896   }
   18897   attr {
   18898     name: "hop_bytes"
   18899     type: "int"
   18900     default_value {
   18901       i: 0
   18902     }
   18903   }
   18904   attr {
   18905     name: "container"
   18906     type: "string"
   18907     default_value {
   18908       s: ""
   18909     }
   18910   }
   18911   attr {
   18912     name: "shared_name"
   18913     type: "string"
   18914     default_value {
   18915       s: ""
   18916     }
   18917   }
   18918   is_stateful: true
   18919 }
   18920 op {
   18921   name: "FixedLengthRecordReader"
   18922   output_arg {
   18923     name: "reader_handle"
   18924     type: DT_STRING
   18925     is_ref: true
   18926   }
   18927   attr {
   18928     name: "header_bytes"
   18929     type: "int"
   18930     default_value {
   18931       i: 0
   18932     }
   18933   }
   18934   attr {
   18935     name: "record_bytes"
   18936     type: "int"
   18937   }
   18938   attr {
   18939     name: "footer_bytes"
   18940     type: "int"
   18941     default_value {
   18942       i: 0
   18943     }
   18944   }
   18945   attr {
   18946     name: "hop_bytes"
   18947     type: "int"
   18948     default_value {
   18949       i: 0
   18950     }
   18951   }
   18952   attr {
   18953     name: "container"
   18954     type: "string"
   18955     default_value {
   18956       s: ""
   18957     }
   18958   }
   18959   attr {
   18960     name: "shared_name"
   18961     type: "string"
   18962     default_value {
   18963       s: ""
   18964     }
   18965   }
   18966   deprecation {
   18967     version: 26
   18968   }
   18969   is_stateful: true
   18970 }
   18971 op {
   18972   name: "FixedLengthRecordReaderV2"
   18973   output_arg {
   18974     name: "reader_handle"
   18975     type: DT_RESOURCE
   18976   }
   18977   attr {
   18978     name: "header_bytes"
   18979     type: "int"
   18980     default_value {
   18981       i: 0
   18982     }
   18983   }
   18984   attr {
   18985     name: "record_bytes"
   18986     type: "int"
   18987   }
   18988   attr {
   18989     name: "footer_bytes"
   18990     type: "int"
   18991     default_value {
   18992       i: 0
   18993     }
   18994   }
   18995   attr {
   18996     name: "container"
   18997     type: "string"
   18998     default_value {
   18999       s: ""
   19000     }
   19001   }
   19002   attr {
   19003     name: "shared_name"
   19004     type: "string"
   19005     default_value {
   19006       s: ""
   19007     }
   19008   }
   19009   is_stateful: true
   19010 }
   19011 op {
   19012   name: "FixedLengthRecordReaderV2"
   19013   output_arg {
   19014     name: "reader_handle"
   19015     type: DT_RESOURCE
   19016   }
   19017   attr {
   19018     name: "header_bytes"
   19019     type: "int"
   19020     default_value {
   19021       i: 0
   19022     }
   19023   }
   19024   attr {
   19025     name: "record_bytes"
   19026     type: "int"
   19027   }
   19028   attr {
   19029     name: "footer_bytes"
   19030     type: "int"
   19031     default_value {
   19032       i: 0
   19033     }
   19034   }
   19035   attr {
   19036     name: "hop_bytes"
   19037     type: "int"
   19038     default_value {
   19039       i: 0
   19040     }
   19041   }
   19042   attr {
   19043     name: "container"
   19044     type: "string"
   19045     default_value {
   19046       s: ""
   19047     }
   19048   }
   19049   attr {
   19050     name: "shared_name"
   19051     type: "string"
   19052     default_value {
   19053       s: ""
   19054     }
   19055   }
   19056   is_stateful: true
   19057 }
   19058 op {
   19059   name: "FixedLengthRecordReaderV2"
   19060   output_arg {
   19061     name: "reader_handle"
   19062     type: DT_RESOURCE
   19063   }
   19064   attr {
   19065     name: "header_bytes"
   19066     type: "int"
   19067     default_value {
   19068       i: 0
   19069     }
   19070   }
   19071   attr {
   19072     name: "record_bytes"
   19073     type: "int"
   19074   }
   19075   attr {
   19076     name: "footer_bytes"
   19077     type: "int"
   19078     default_value {
   19079       i: 0
   19080     }
   19081   }
   19082   attr {
   19083     name: "hop_bytes"
   19084     type: "int"
   19085     default_value {
   19086       i: 0
   19087     }
   19088   }
   19089   attr {
   19090     name: "container"
   19091     type: "string"
   19092     default_value {
   19093       s: ""
   19094     }
   19095   }
   19096   attr {
   19097     name: "shared_name"
   19098     type: "string"
   19099     default_value {
   19100       s: ""
   19101     }
   19102   }
   19103   attr {
   19104     name: "encoding"
   19105     type: "string"
   19106     default_value {
   19107       s: ""
   19108     }
   19109   }
   19110   is_stateful: true
   19111 }
   19112 op {
   19113   name: "FixedUnigramCandidateSampler"
   19114   input_arg {
   19115     name: "true_classes"
   19116     type: DT_INT64
   19117   }
   19118   output_arg {
   19119     name: "sampled_candidates"
   19120     type: DT_INT64
   19121   }
   19122   output_arg {
   19123     name: "true_expected_count"
   19124     type: DT_FLOAT
   19125   }
   19126   output_arg {
   19127     name: "sampled_expected_count"
   19128     type: DT_FLOAT
   19129   }
   19130   attr {
   19131     name: "num_true"
   19132     type: "int"
   19133     has_minimum: true
   19134     minimum: 1
   19135   }
   19136   attr {
   19137     name: "num_sampled"
   19138     type: "int"
   19139     has_minimum: true
   19140     minimum: 1
   19141   }
   19142   attr {
   19143     name: "unique"
   19144     type: "bool"
   19145   }
   19146   attr {
   19147     name: "range_max"
   19148     type: "int"
   19149     has_minimum: true
   19150     minimum: 1
   19151   }
   19152   attr {
   19153     name: "vocab_file"
   19154     type: "string"
   19155     default_value {
   19156       s: ""
   19157     }
   19158   }
   19159   attr {
   19160     name: "distortion"
   19161     type: "float"
   19162     default_value {
   19163       f: 1
   19164     }
   19165   }
   19166   attr {
   19167     name: "num_reserved_ids"
   19168     type: "int"
   19169     default_value {
   19170       i: 0
   19171     }
   19172   }
   19173   attr {
   19174     name: "num_shards"
   19175     type: "int"
   19176     default_value {
   19177       i: 1
   19178     }
   19179     has_minimum: true
   19180     minimum: 1
   19181   }
   19182   attr {
   19183     name: "shard"
   19184     type: "int"
   19185     default_value {
   19186       i: 0
   19187     }
   19188     has_minimum: true
   19189   }
   19190   attr {
   19191     name: "unigrams"
   19192     type: "list(float)"
   19193     default_value {
   19194       list {
   19195       }
   19196     }
   19197   }
   19198   attr {
   19199     name: "seed"
   19200     type: "int"
   19201     default_value {
   19202       i: 0
   19203     }
   19204   }
   19205   attr {
   19206     name: "seed2"
   19207     type: "int"
   19208     default_value {
   19209       i: 0
   19210     }
   19211   }
   19212 }
   19213 op {
   19214   name: "FixedUnigramCandidateSampler"
   19215   input_arg {
   19216     name: "true_classes"
   19217     type: DT_INT64
   19218   }
   19219   output_arg {
   19220     name: "sampled_candidates"
   19221     type: DT_INT64
   19222   }
   19223   output_arg {
   19224     name: "true_expected_count"
   19225     type: DT_FLOAT
   19226   }
   19227   output_arg {
   19228     name: "sampled_expected_count"
   19229     type: DT_FLOAT
   19230   }
   19231   attr {
   19232     name: "num_true"
   19233     type: "int"
   19234     has_minimum: true
   19235     minimum: 1
   19236   }
   19237   attr {
   19238     name: "num_sampled"
   19239     type: "int"
   19240     has_minimum: true
   19241     minimum: 1
   19242   }
   19243   attr {
   19244     name: "unique"
   19245     type: "bool"
   19246   }
   19247   attr {
   19248     name: "range_max"
   19249     type: "int"
   19250     has_minimum: true
   19251     minimum: 1
   19252   }
   19253   attr {
   19254     name: "vocab_file"
   19255     type: "string"
   19256     default_value {
   19257       s: ""
   19258     }
   19259   }
   19260   attr {
   19261     name: "distortion"
   19262     type: "float"
   19263     default_value {
   19264       f: 1
   19265     }
   19266   }
   19267   attr {
   19268     name: "num_reserved_ids"
   19269     type: "int"
   19270     default_value {
   19271       i: 0
   19272     }
   19273   }
   19274   attr {
   19275     name: "num_shards"
   19276     type: "int"
   19277     default_value {
   19278       i: 1
   19279     }
   19280     has_minimum: true
   19281     minimum: 1
   19282   }
   19283   attr {
   19284     name: "shard"
   19285     type: "int"
   19286     default_value {
   19287       i: 0
   19288     }
   19289     has_minimum: true
   19290   }
   19291   attr {
   19292     name: "unigrams"
   19293     type: "list(float)"
   19294     default_value {
   19295       list {
   19296       }
   19297     }
   19298   }
   19299   attr {
   19300     name: "seed"
   19301     type: "int"
   19302     default_value {
   19303       i: 0
   19304     }
   19305   }
   19306   attr {
   19307     name: "seed2"
   19308     type: "int"
   19309     default_value {
   19310       i: 0
   19311     }
   19312   }
   19313   is_stateful: true
   19314 }
   19315 op {
   19316   name: "FlatMapDataset"
   19317   input_arg {
   19318     name: "input_dataset"
   19319     type: DT_VARIANT
   19320   }
   19321   input_arg {
   19322     name: "other_arguments"
   19323     type_list_attr: "Targuments"
   19324   }
   19325   output_arg {
   19326     name: "handle"
   19327     type: DT_VARIANT
   19328   }
   19329   attr {
   19330     name: "f"
   19331     type: "func"
   19332   }
   19333   attr {
   19334     name: "Targuments"
   19335     type: "list(type)"
   19336     has_minimum: true
   19337   }
   19338   attr {
   19339     name: "output_types"
   19340     type: "list(type)"
   19341     has_minimum: true
   19342     minimum: 1
   19343   }
   19344   attr {
   19345     name: "output_shapes"
   19346     type: "list(shape)"
   19347     has_minimum: true
   19348     minimum: 1
   19349   }
   19350   is_stateful: true
   19351 }
   19352 op {
   19353   name: "FlatMapDataset"
   19354   input_arg {
   19355     name: "input_dataset"
   19356     type: DT_VARIANT
   19357   }
   19358   input_arg {
   19359     name: "other_arguments"
   19360     type_list_attr: "Targuments"
   19361   }
   19362   output_arg {
   19363     name: "handle"
   19364     type: DT_VARIANT
   19365   }
   19366   attr {
   19367     name: "f"
   19368     type: "func"
   19369   }
   19370   attr {
   19371     name: "Targuments"
   19372     type: "list(type)"
   19373     has_minimum: true
   19374   }
   19375   attr {
   19376     name: "output_types"
   19377     type: "list(type)"
   19378     has_minimum: true
   19379     minimum: 1
   19380   }
   19381   attr {
   19382     name: "output_shapes"
   19383     type: "list(shape)"
   19384     has_minimum: true
   19385     minimum: 1
   19386   }
   19387 }
   19388 op {
   19389   name: "Floor"
   19390   input_arg {
   19391     name: "x"
   19392     type_attr: "T"
   19393   }
   19394   output_arg {
   19395     name: "y"
   19396     type_attr: "T"
   19397   }
   19398   attr {
   19399     name: "T"
   19400     type: "type"
   19401     allowed_values {
   19402       list {
   19403         type: DT_HALF
   19404         type: DT_FLOAT
   19405         type: DT_DOUBLE
   19406       }
   19407     }
   19408   }
   19409 }
   19410 op {
   19411   name: "Floor"
   19412   input_arg {
   19413     name: "x"
   19414     type_attr: "T"
   19415   }
   19416   output_arg {
   19417     name: "y"
   19418     type_attr: "T"
   19419   }
   19420   attr {
   19421     name: "T"
   19422     type: "type"
   19423     allowed_values {
   19424       list {
   19425         type: DT_HALF
   19426         type: DT_BFLOAT16
   19427         type: DT_FLOAT
   19428         type: DT_DOUBLE
   19429       }
   19430     }
   19431   }
   19432 }
   19433 op {
   19434   name: "FloorDiv"
   19435   input_arg {
   19436     name: "x"
   19437     type_attr: "T"
   19438   }
   19439   input_arg {
   19440     name: "y"
   19441     type_attr: "T"
   19442   }
   19443   output_arg {
   19444     name: "z"
   19445     type_attr: "T"
   19446   }
   19447   attr {
   19448     name: "T"
   19449     type: "type"
   19450     allowed_values {
   19451       list {
   19452         type: DT_HALF
   19453         type: DT_FLOAT
   19454         type: DT_DOUBLE
   19455         type: DT_UINT8
   19456         type: DT_INT8
   19457         type: DT_UINT16
   19458         type: DT_INT16
   19459         type: DT_INT32
   19460         type: DT_INT64
   19461         type: DT_COMPLEX64
   19462         type: DT_COMPLEX128
   19463       }
   19464     }
   19465   }
   19466 }
   19467 op {
   19468   name: "FloorDiv"
   19469   input_arg {
   19470     name: "x"
   19471     type_attr: "T"
   19472   }
   19473   input_arg {
   19474     name: "y"
   19475     type_attr: "T"
   19476   }
   19477   output_arg {
   19478     name: "z"
   19479     type_attr: "T"
   19480   }
   19481   attr {
   19482     name: "T"
   19483     type: "type"
   19484     allowed_values {
   19485       list {
   19486         type: DT_HALF
   19487         type: DT_BFLOAT16
   19488         type: DT_FLOAT
   19489         type: DT_DOUBLE
   19490         type: DT_UINT8
   19491         type: DT_INT8
   19492         type: DT_UINT16
   19493         type: DT_INT16
   19494         type: DT_INT32
   19495         type: DT_INT64
   19496         type: DT_COMPLEX64
   19497         type: DT_COMPLEX128
   19498       }
   19499     }
   19500   }
   19501 }
   19502 op {
   19503   name: "FloorMod"
   19504   input_arg {
   19505     name: "x"
   19506     type_attr: "T"
   19507   }
   19508   input_arg {
   19509     name: "y"
   19510     type_attr: "T"
   19511   }
   19512   output_arg {
   19513     name: "z"
   19514     type_attr: "T"
   19515   }
   19516   attr {
   19517     name: "T"
   19518     type: "type"
   19519     allowed_values {
   19520       list {
   19521         type: DT_INT32
   19522         type: DT_INT64
   19523         type: DT_FLOAT
   19524         type: DT_DOUBLE
   19525       }
   19526     }
   19527   }
   19528 }
   19529 op {
   19530   name: "FloorMod"
   19531   input_arg {
   19532     name: "x"
   19533     type_attr: "T"
   19534   }
   19535   input_arg {
   19536     name: "y"
   19537     type_attr: "T"
   19538   }
   19539   output_arg {
   19540     name: "z"
   19541     type_attr: "T"
   19542   }
   19543   attr {
   19544     name: "T"
   19545     type: "type"
   19546     allowed_values {
   19547       list {
   19548         type: DT_INT32
   19549         type: DT_INT64
   19550         type: DT_BFLOAT16
   19551         type: DT_FLOAT
   19552         type: DT_DOUBLE
   19553       }
   19554     }
   19555   }
   19556 }
   19557 op {
   19558   name: "FractionalAvgPool"
   19559   input_arg {
   19560     name: "value"
   19561     type_attr: "T"
   19562   }
   19563   output_arg {
   19564     name: "output"
   19565     type_attr: "T"
   19566   }
   19567   output_arg {
   19568     name: "row_pooling_sequence"
   19569     type: DT_INT64
   19570   }
   19571   output_arg {
   19572     name: "col_pooling_sequence"
   19573     type: DT_INT64
   19574   }
   19575   attr {
   19576     name: "pooling_ratio"
   19577     type: "list(float)"
   19578     has_minimum: true
   19579     minimum: 4
   19580   }
   19581   attr {
   19582     name: "pseudo_random"
   19583     type: "bool"
   19584     default_value {
   19585       b: false
   19586     }
   19587   }
   19588   attr {
   19589     name: "overlapping"
   19590     type: "bool"
   19591     default_value {
   19592       b: false
   19593     }
   19594   }
   19595   attr {
   19596     name: "deterministic"
   19597     type: "bool"
   19598     default_value {
   19599       b: false
   19600     }
   19601   }
   19602   attr {
   19603     name: "seed"
   19604     type: "int"
   19605     default_value {
   19606       i: 0
   19607     }
   19608   }
   19609   attr {
   19610     name: "seed2"
   19611     type: "int"
   19612     default_value {
   19613       i: 0
   19614     }
   19615   }
   19616   attr {
   19617     name: "T"
   19618     type: "type"
   19619     allowed_values {
   19620       list {
   19621         type: DT_FLOAT
   19622         type: DT_DOUBLE
   19623         type: DT_INT32
   19624         type: DT_INT64
   19625       }
   19626     }
   19627   }
   19628 }
   19629 op {
   19630   name: "FractionalAvgPoolGrad"
   19631   input_arg {
   19632     name: "orig_input_tensor_shape"
   19633     type: DT_INT64
   19634   }
   19635   input_arg {
   19636     name: "out_backprop"
   19637     type_attr: "T"
   19638   }
   19639   input_arg {
   19640     name: "row_pooling_sequence"
   19641     type: DT_INT64
   19642   }
   19643   input_arg {
   19644     name: "col_pooling_sequence"
   19645     type: DT_INT64
   19646   }
   19647   output_arg {
   19648     name: "output"
   19649     type_attr: "T"
   19650   }
   19651   attr {
   19652     name: "overlapping"
   19653     type: "bool"
   19654     default_value {
   19655       b: false
   19656     }
   19657   }
   19658   attr {
   19659     name: "T"
   19660     type: "type"
   19661     allowed_values {
   19662       list {
   19663         type: DT_FLOAT
   19664         type: DT_DOUBLE
   19665         type: DT_INT32
   19666         type: DT_INT64
   19667       }
   19668     }
   19669   }
   19670 }
   19671 op {
   19672   name: "FractionalMaxPool"
   19673   input_arg {
   19674     name: "value"
   19675     type_attr: "T"
   19676   }
   19677   output_arg {
   19678     name: "output"
   19679     type_attr: "T"
   19680   }
   19681   output_arg {
   19682     name: "row_pooling_sequence"
   19683     type: DT_INT64
   19684   }
   19685   output_arg {
   19686     name: "col_pooling_sequence"
   19687     type: DT_INT64
   19688   }
   19689   attr {
   19690     name: "pooling_ratio"
   19691     type: "list(float)"
   19692     has_minimum: true
   19693     minimum: 4
   19694   }
   19695   attr {
   19696     name: "pseudo_random"
   19697     type: "bool"
   19698     default_value {
   19699       b: false
   19700     }
   19701   }
   19702   attr {
   19703     name: "overlapping"
   19704     type: "bool"
   19705     default_value {
   19706       b: false
   19707     }
   19708   }
   19709   attr {
   19710     name: "deterministic"
   19711     type: "bool"
   19712     default_value {
   19713       b: false
   19714     }
   19715   }
   19716   attr {
   19717     name: "seed"
   19718     type: "int"
   19719     default_value {
   19720       i: 0
   19721     }
   19722   }
   19723   attr {
   19724     name: "seed2"
   19725     type: "int"
   19726     default_value {
   19727       i: 0
   19728     }
   19729   }
   19730   attr {
   19731     name: "T"
   19732     type: "type"
   19733     allowed_values {
   19734       list {
   19735         type: DT_FLOAT
   19736         type: DT_DOUBLE
   19737         type: DT_INT32
   19738         type: DT_INT64
   19739       }
   19740     }
   19741   }
   19742 }
   19743 op {
   19744   name: "FractionalMaxPoolGrad"
   19745   input_arg {
   19746     name: "orig_input"
   19747     type_attr: "T"
   19748   }
   19749   input_arg {
   19750     name: "orig_output"
   19751     type_attr: "T"
   19752   }
   19753   input_arg {
   19754     name: "out_backprop"
   19755     type_attr: "T"
   19756   }
   19757   input_arg {
   19758     name: "row_pooling_sequence"
   19759     type: DT_INT64
   19760   }
   19761   input_arg {
   19762     name: "col_pooling_sequence"
   19763     type: DT_INT64
   19764   }
   19765   output_arg {
   19766     name: "output"
   19767     type_attr: "T"
   19768   }
   19769   attr {
   19770     name: "overlapping"
   19771     type: "bool"
   19772     default_value {
   19773       b: false
   19774     }
   19775   }
   19776   attr {
   19777     name: "T"
   19778     type: "type"
   19779     allowed_values {
   19780       list {
   19781         type: DT_FLOAT
   19782         type: DT_DOUBLE
   19783         type: DT_INT32
   19784         type: DT_INT64
   19785       }
   19786     }
   19787   }
   19788 }
   19789 op {
   19790   name: "FusedBatchNorm"
   19791   input_arg {
   19792     name: "x"
   19793     type_attr: "T"
   19794   }
   19795   input_arg {
   19796     name: "scale"
   19797     type_attr: "T"
   19798   }
   19799   input_arg {
   19800     name: "offset"
   19801     type_attr: "T"
   19802   }
   19803   input_arg {
   19804     name: "mean"
   19805     type_attr: "T"
   19806   }
   19807   input_arg {
   19808     name: "variance"
   19809     type_attr: "T"
   19810   }
   19811   output_arg {
   19812     name: "y"
   19813     type_attr: "T"
   19814   }
   19815   output_arg {
   19816     name: "batch_mean"
   19817     type_attr: "T"
   19818   }
   19819   output_arg {
   19820     name: "batch_variance"
   19821     type_attr: "T"
   19822   }
   19823   output_arg {
   19824     name: "reserve_space_1"
   19825     type_attr: "T"
   19826   }
   19827   output_arg {
   19828     name: "reserve_space_2"
   19829     type_attr: "T"
   19830   }
   19831   attr {
   19832     name: "T"
   19833     type: "type"
   19834     allowed_values {
   19835       list {
   19836         type: DT_FLOAT
   19837       }
   19838     }
   19839   }
   19840   attr {
   19841     name: "epsilon"
   19842     type: "float"
   19843     default_value {
   19844       f: 0.0001
   19845     }
   19846   }
   19847   attr {
   19848     name: "data_format"
   19849     type: "string"
   19850     default_value {
   19851       s: "NHWC"
   19852     }
   19853   }
   19854   attr {
   19855     name: "is_training"
   19856     type: "bool"
   19857     default_value {
   19858       b: true
   19859     }
   19860   }
   19861 }
   19862 op {
   19863   name: "FusedBatchNormGrad"
   19864   input_arg {
   19865     name: "y_backprop"
   19866     type_attr: "T"
   19867   }
   19868   input_arg {
   19869     name: "x"
   19870     type_attr: "T"
   19871   }
   19872   input_arg {
   19873     name: "scale"
   19874     type_attr: "T"
   19875   }
   19876   input_arg {
   19877     name: "reserve_space_1"
   19878     type_attr: "T"
   19879   }
   19880   input_arg {
   19881     name: "reserve_space_2"
   19882     type_attr: "T"
   19883   }
   19884   output_arg {
   19885     name: "x_backprop"
   19886     type_attr: "T"
   19887   }
   19888   output_arg {
   19889     name: "scale_backprop"
   19890     type_attr: "T"
   19891   }
   19892   output_arg {
   19893     name: "offset_backprop"
   19894     type_attr: "T"
   19895   }
   19896   output_arg {
   19897     name: "reserve_space_3"
   19898     type_attr: "T"
   19899   }
   19900   output_arg {
   19901     name: "reserve_space_4"
   19902     type_attr: "T"
   19903   }
   19904   attr {
   19905     name: "T"
   19906     type: "type"
   19907     allowed_values {
   19908       list {
   19909         type: DT_FLOAT
   19910       }
   19911     }
   19912   }
   19913   attr {
   19914     name: "epsilon"
   19915     type: "float"
   19916     default_value {
   19917       f: 0.0001
   19918     }
   19919   }
   19920   attr {
   19921     name: "data_format"
   19922     type: "string"
   19923     default_value {
   19924       s: "NHWC"
   19925     }
   19926   }
   19927   attr {
   19928     name: "is_training"
   19929     type: "bool"
   19930     default_value {
   19931       b: true
   19932     }
   19933   }
   19934 }
   19935 op {
   19936   name: "FusedBatchNormGradV2"
   19937   input_arg {
   19938     name: "y_backprop"
   19939     type_attr: "T"
   19940   }
   19941   input_arg {
   19942     name: "x"
   19943     type_attr: "T"
   19944   }
   19945   input_arg {
   19946     name: "scale"
   19947     type: DT_FLOAT
   19948   }
   19949   input_arg {
   19950     name: "reserve_space_1"
   19951     type_attr: "U"
   19952   }
   19953   input_arg {
   19954     name: "reserve_space_2"
   19955     type_attr: "U"
   19956   }
   19957   output_arg {
   19958     name: "x_backprop"
   19959     type_attr: "T"
   19960   }
   19961   output_arg {
   19962     name: "scale_backprop"
   19963     type_attr: "U"
   19964   }
   19965   output_arg {
   19966     name: "offset_backprop"
   19967     type_attr: "U"
   19968   }
   19969   output_arg {
   19970     name: "reserve_space_3"
   19971     type_attr: "U"
   19972   }
   19973   output_arg {
   19974     name: "reserve_space_4"
   19975     type_attr: "U"
   19976   }
   19977   attr {
   19978     name: "T"
   19979     type: "type"
   19980     allowed_values {
   19981       list {
   19982         type: DT_HALF
   19983         type: DT_FLOAT
   19984       }
   19985     }
   19986   }
   19987   attr {
   19988     name: "U"
   19989     type: "type"
   19990     allowed_values {
   19991       list {
   19992         type: DT_FLOAT
   19993       }
   19994     }
   19995   }
   19996   attr {
   19997     name: "epsilon"
   19998     type: "float"
   19999     default_value {
   20000       f: 0.0001
   20001     }
   20002   }
   20003   attr {
   20004     name: "data_format"
   20005     type: "string"
   20006     default_value {
   20007       s: "NHWC"
   20008     }
   20009   }
   20010   attr {
   20011     name: "is_training"
   20012     type: "bool"
   20013     default_value {
   20014       b: true
   20015     }
   20016   }
   20017 }
   20018 op {
   20019   name: "FusedBatchNormGradV2"
   20020   input_arg {
   20021     name: "y_backprop"
   20022     type_attr: "T"
   20023   }
   20024   input_arg {
   20025     name: "x"
   20026     type_attr: "T"
   20027   }
   20028   input_arg {
   20029     name: "scale"
   20030     type: DT_FLOAT
   20031   }
   20032   input_arg {
   20033     name: "reserve_space_1"
   20034     type_attr: "U"
   20035   }
   20036   input_arg {
   20037     name: "reserve_space_2"
   20038     type_attr: "U"
   20039   }
   20040   output_arg {
   20041     name: "x_backprop"
   20042     type_attr: "T"
   20043   }
   20044   output_arg {
   20045     name: "scale_backprop"
   20046     type_attr: "U"
   20047   }
   20048   output_arg {
   20049     name: "offset_backprop"
   20050     type_attr: "U"
   20051   }
   20052   output_arg {
   20053     name: "reserve_space_3"
   20054     type_attr: "U"
   20055   }
   20056   output_arg {
   20057     name: "reserve_space_4"
   20058     type_attr: "U"
   20059   }
   20060   attr {
   20061     name: "T"
   20062     type: "type"
   20063     allowed_values {
   20064       list {
   20065         type: DT_HALF
   20066         type: DT_BFLOAT16
   20067         type: DT_FLOAT
   20068       }
   20069     }
   20070   }
   20071   attr {
   20072     name: "U"
   20073     type: "type"
   20074     allowed_values {
   20075       list {
   20076         type: DT_FLOAT
   20077       }
   20078     }
   20079   }
   20080   attr {
   20081     name: "epsilon"
   20082     type: "float"
   20083     default_value {
   20084       f: 0.0001
   20085     }
   20086   }
   20087   attr {
   20088     name: "data_format"
   20089     type: "string"
   20090     default_value {
   20091       s: "NHWC"
   20092     }
   20093   }
   20094   attr {
   20095     name: "is_training"
   20096     type: "bool"
   20097     default_value {
   20098       b: true
   20099     }
   20100   }
   20101 }
   20102 op {
   20103   name: "FusedBatchNormV2"
   20104   input_arg {
   20105     name: "x"
   20106     type_attr: "T"
   20107   }
   20108   input_arg {
   20109     name: "scale"
   20110     type_attr: "U"
   20111   }
   20112   input_arg {
   20113     name: "offset"
   20114     type_attr: "U"
   20115   }
   20116   input_arg {
   20117     name: "mean"
   20118     type_attr: "U"
   20119   }
   20120   input_arg {
   20121     name: "variance"
   20122     type_attr: "U"
   20123   }
   20124   output_arg {
   20125     name: "y"
   20126     type_attr: "T"
   20127   }
   20128   output_arg {
   20129     name: "batch_mean"
   20130     type_attr: "U"
   20131   }
   20132   output_arg {
   20133     name: "batch_variance"
   20134     type_attr: "U"
   20135   }
   20136   output_arg {
   20137     name: "reserve_space_1"
   20138     type_attr: "U"
   20139   }
   20140   output_arg {
   20141     name: "reserve_space_2"
   20142     type_attr: "U"
   20143   }
   20144   attr {
   20145     name: "T"
   20146     type: "type"
   20147     allowed_values {
   20148       list {
   20149         type: DT_HALF
   20150         type: DT_FLOAT
   20151       }
   20152     }
   20153   }
   20154   attr {
   20155     name: "U"
   20156     type: "type"
   20157     allowed_values {
   20158       list {
   20159         type: DT_FLOAT
   20160       }
   20161     }
   20162   }
   20163   attr {
   20164     name: "epsilon"
   20165     type: "float"
   20166     default_value {
   20167       f: 0.0001
   20168     }
   20169   }
   20170   attr {
   20171     name: "data_format"
   20172     type: "string"
   20173     default_value {
   20174       s: "NHWC"
   20175     }
   20176   }
   20177   attr {
   20178     name: "is_training"
   20179     type: "bool"
   20180     default_value {
   20181       b: true
   20182     }
   20183   }
   20184 }
   20185 op {
   20186   name: "FusedBatchNormV2"
   20187   input_arg {
   20188     name: "x"
   20189     type_attr: "T"
   20190   }
   20191   input_arg {
   20192     name: "scale"
   20193     type_attr: "U"
   20194   }
   20195   input_arg {
   20196     name: "offset"
   20197     type_attr: "U"
   20198   }
   20199   input_arg {
   20200     name: "mean"
   20201     type_attr: "U"
   20202   }
   20203   input_arg {
   20204     name: "variance"
   20205     type_attr: "U"
   20206   }
   20207   output_arg {
   20208     name: "y"
   20209     type_attr: "T"
   20210   }
   20211   output_arg {
   20212     name: "batch_mean"
   20213     type_attr: "U"
   20214   }
   20215   output_arg {
   20216     name: "batch_variance"
   20217     type_attr: "U"
   20218   }
   20219   output_arg {
   20220     name: "reserve_space_1"
   20221     type_attr: "U"
   20222   }
   20223   output_arg {
   20224     name: "reserve_space_2"
   20225     type_attr: "U"
   20226   }
   20227   attr {
   20228     name: "T"
   20229     type: "type"
   20230     allowed_values {
   20231       list {
   20232         type: DT_HALF
   20233         type: DT_BFLOAT16
   20234         type: DT_FLOAT
   20235       }
   20236     }
   20237   }
   20238   attr {
   20239     name: "U"
   20240     type: "type"
   20241     allowed_values {
   20242       list {
   20243         type: DT_FLOAT
   20244       }
   20245     }
   20246   }
   20247   attr {
   20248     name: "epsilon"
   20249     type: "float"
   20250     default_value {
   20251       f: 0.0001
   20252     }
   20253   }
   20254   attr {
   20255     name: "data_format"
   20256     type: "string"
   20257     default_value {
   20258       s: "NHWC"
   20259     }
   20260   }
   20261   attr {
   20262     name: "is_training"
   20263     type: "bool"
   20264     default_value {
   20265       b: true
   20266     }
   20267   }
   20268 }
   20269 op {
   20270   name: "FusedPadConv2D"
   20271   input_arg {
   20272     name: "input"
   20273     type_attr: "T"
   20274   }
   20275   input_arg {
   20276     name: "paddings"
   20277     type: DT_INT32
   20278   }
   20279   input_arg {
   20280     name: "filter"
   20281     type_attr: "T"
   20282   }
   20283   output_arg {
   20284     name: "output"
   20285     type_attr: "T"
   20286   }
   20287   attr {
   20288     name: "T"
   20289     type: "type"
   20290     allowed_values {
   20291       list {
   20292         type: DT_FLOAT
   20293       }
   20294     }
   20295   }
   20296   attr {
   20297     name: "mode"
   20298     type: "string"
   20299     allowed_values {
   20300       list {
   20301         s: "REFLECT"
   20302         s: "SYMMETRIC"
   20303       }
   20304     }
   20305   }
   20306   attr {
   20307     name: "strides"
   20308     type: "list(int)"
   20309   }
   20310   attr {
   20311     name: "padding"
   20312     type: "string"
   20313     allowed_values {
   20314       list {
   20315         s: "SAME"
   20316         s: "VALID"
   20317       }
   20318     }
   20319   }
   20320 }
   20321 op {
   20322   name: "FusedResizeAndPadConv2D"
   20323   input_arg {
   20324     name: "input"
   20325     type_attr: "T"
   20326   }
   20327   input_arg {
   20328     name: "size"
   20329     type: DT_INT32
   20330   }
   20331   input_arg {
   20332     name: "paddings"
   20333     type: DT_INT32
   20334   }
   20335   input_arg {
   20336     name: "filter"
   20337     type_attr: "T"
   20338   }
   20339   output_arg {
   20340     name: "output"
   20341     type_attr: "T"
   20342   }
   20343   attr {
   20344     name: "T"
   20345     type: "type"
   20346     allowed_values {
   20347       list {
   20348         type: DT_FLOAT
   20349       }
   20350     }
   20351   }
   20352   attr {
   20353     name: "resize_align_corners"
   20354     type: "bool"
   20355     default_value {
   20356       b: false
   20357     }
   20358   }
   20359   attr {
   20360     name: "mode"
   20361     type: "string"
   20362     allowed_values {
   20363       list {
   20364         s: "REFLECT"
   20365         s: "SYMMETRIC"
   20366       }
   20367     }
   20368   }
   20369   attr {
   20370     name: "strides"
   20371     type: "list(int)"
   20372   }
   20373   attr {
   20374     name: "padding"
   20375     type: "string"
   20376     allowed_values {
   20377       list {
   20378         s: "SAME"
   20379         s: "VALID"
   20380       }
   20381     }
   20382   }
   20383 }
   20384 op {
   20385   name: "Gather"
   20386   input_arg {
   20387     name: "params"
   20388     type_attr: "Tparams"
   20389   }
   20390   input_arg {
   20391     name: "indices"
   20392     type_attr: "Tindices"
   20393   }
   20394   output_arg {
   20395     name: "output"
   20396     type_attr: "Tparams"
   20397   }
   20398   attr {
   20399     name: "validate_indices"
   20400     type: "bool"
   20401     default_value {
   20402       b: true
   20403     }
   20404   }
   20405   attr {
   20406     name: "Tparams"
   20407     type: "type"
   20408   }
   20409   attr {
   20410     name: "Tindices"
   20411     type: "type"
   20412     allowed_values {
   20413       list {
   20414         type: DT_INT32
   20415         type: DT_INT64
   20416       }
   20417     }
   20418   }
   20419 }
   20420 op {
   20421   name: "GatherNd"
   20422   input_arg {
   20423     name: "params"
   20424     type_attr: "Tparams"
   20425   }
   20426   input_arg {
   20427     name: "indices"
   20428     type_attr: "Tindices"
   20429   }
   20430   output_arg {
   20431     name: "output"
   20432     type_attr: "Tparams"
   20433   }
   20434   attr {
   20435     name: "Tparams"
   20436     type: "type"
   20437   }
   20438   attr {
   20439     name: "Tindices"
   20440     type: "type"
   20441     allowed_values {
   20442       list {
   20443         type: DT_INT32
   20444         type: DT_INT64
   20445       }
   20446     }
   20447   }
   20448 }
   20449 op {
   20450   name: "GatherV2"
   20451   input_arg {
   20452     name: "params"
   20453     type_attr: "Tparams"
   20454   }
   20455   input_arg {
   20456     name: "indices"
   20457     type_attr: "Tindices"
   20458   }
   20459   input_arg {
   20460     name: "axis"
   20461     type_attr: "Taxis"
   20462   }
   20463   output_arg {
   20464     name: "output"
   20465     type_attr: "Tparams"
   20466   }
   20467   attr {
   20468     name: "Tparams"
   20469     type: "type"
   20470   }
   20471   attr {
   20472     name: "Tindices"
   20473     type: "type"
   20474     allowed_values {
   20475       list {
   20476         type: DT_INT32
   20477         type: DT_INT64
   20478       }
   20479     }
   20480   }
   20481   attr {
   20482     name: "Taxis"
   20483     type: "type"
   20484     allowed_values {
   20485       list {
   20486         type: DT_INT32
   20487         type: DT_INT64
   20488       }
   20489     }
   20490   }
   20491 }
   20492 op {
   20493   name: "GenerateVocabRemapping"
   20494   input_arg {
   20495     name: "new_vocab_file"
   20496     type: DT_STRING
   20497   }
   20498   input_arg {
   20499     name: "old_vocab_file"
   20500     type: DT_STRING
   20501   }
   20502   output_arg {
   20503     name: "remapping"
   20504     type: DT_INT64
   20505   }
   20506   output_arg {
   20507     name: "num_present"
   20508     type: DT_INT32
   20509   }
   20510   attr {
   20511     name: "new_vocab_offset"
   20512     type: "int"
   20513     has_minimum: true
   20514   }
   20515   attr {
   20516     name: "num_new_vocab"
   20517     type: "int"
   20518     has_minimum: true
   20519   }
   20520 }
   20521 op {
   20522   name: "GenerateVocabRemapping"
   20523   input_arg {
   20524     name: "new_vocab_file"
   20525     type: DT_STRING
   20526   }
   20527   input_arg {
   20528     name: "old_vocab_file"
   20529     type: DT_STRING
   20530   }
   20531   output_arg {
   20532     name: "remapping"
   20533     type: DT_INT64
   20534   }
   20535   output_arg {
   20536     name: "num_present"
   20537     type: DT_INT32
   20538   }
   20539   attr {
   20540     name: "new_vocab_offset"
   20541     type: "int"
   20542     has_minimum: true
   20543   }
   20544   attr {
   20545     name: "num_new_vocab"
   20546     type: "int"
   20547     has_minimum: true
   20548   }
   20549   attr {
   20550     name: "old_vocab_size"
   20551     type: "int"
   20552     default_value {
   20553       i: -1
   20554     }
   20555     has_minimum: true
   20556     minimum: -1
   20557   }
   20558 }
   20559 op {
   20560   name: "GetSessionHandle"
   20561   input_arg {
   20562     name: "value"
   20563     type_attr: "T"
   20564   }
   20565   output_arg {
   20566     name: "handle"
   20567     type: DT_STRING
   20568   }
   20569   attr {
   20570     name: "T"
   20571     type: "type"
   20572   }
   20573 }
   20574 op {
   20575   name: "GetSessionHandle"
   20576   input_arg {
   20577     name: "value"
   20578     type_attr: "T"
   20579   }
   20580   output_arg {
   20581     name: "handle"
   20582     type: DT_STRING
   20583   }
   20584   attr {
   20585     name: "T"
   20586     type: "type"
   20587   }
   20588   deprecation {
   20589     version: 23
   20590   }
   20591 }
   20592 op {
   20593   name: "GetSessionHandle"
   20594   input_arg {
   20595     name: "value"
   20596     type_attr: "T"
   20597   }
   20598   output_arg {
   20599     name: "handle"
   20600     type: DT_STRING
   20601   }
   20602   attr {
   20603     name: "T"
   20604     type: "type"
   20605   }
   20606 }
   20607 op {
   20608   name: "GetSessionHandle"
   20609   input_arg {
   20610     name: "value"
   20611     type_attr: "T"
   20612   }
   20613   output_arg {
   20614     name: "handle"
   20615     type: DT_STRING
   20616   }
   20617   attr {
   20618     name: "T"
   20619     type: "type"
   20620   }
   20621   is_stateful: true
   20622 }
   20623 op {
   20624   name: "GetSessionHandleV2"
   20625   input_arg {
   20626     name: "value"
   20627     type_attr: "T"
   20628   }
   20629   output_arg {
   20630     name: "handle"
   20631     type: DT_RESOURCE
   20632   }
   20633   attr {
   20634     name: "T"
   20635     type: "type"
   20636   }
   20637   is_stateful: true
   20638 }
   20639 op {
   20640   name: "GetSessionTensor"
   20641   input_arg {
   20642     name: "handle"
   20643     type: DT_STRING
   20644   }
   20645   output_arg {
   20646     name: "value"
   20647     type_attr: "dtype"
   20648   }
   20649   attr {
   20650     name: "dtype"
   20651     type: "type"
   20652   }
   20653 }
   20654 op {
   20655   name: "GetSessionTensor"
   20656   input_arg {
   20657     name: "handle"
   20658     type: DT_STRING
   20659   }
   20660   output_arg {
   20661     name: "value"
   20662     type_attr: "dtype"
   20663   }
   20664   attr {
   20665     name: "dtype"
   20666     type: "type"
   20667   }
   20668   is_stateful: true
   20669 }
   20670 op {
   20671   name: "Greater"
   20672   input_arg {
   20673     name: "x"
   20674     type_attr: "T"
   20675   }
   20676   input_arg {
   20677     name: "y"
   20678     type_attr: "T"
   20679   }
   20680   output_arg {
   20681     name: "z"
   20682     type: DT_BOOL
   20683   }
   20684   attr {
   20685     name: "T"
   20686     type: "type"
   20687     allowed_values {
   20688       list {
   20689         type: DT_FLOAT
   20690         type: DT_DOUBLE
   20691         type: DT_INT32
   20692         type: DT_INT64
   20693         type: DT_UINT8
   20694         type: DT_INT16
   20695         type: DT_INT8
   20696         type: DT_UINT16
   20697         type: DT_HALF
   20698       }
   20699     }
   20700   }
   20701 }
   20702 op {
   20703   name: "Greater"
   20704   input_arg {
   20705     name: "x"
   20706     type_attr: "T"
   20707   }
   20708   input_arg {
   20709     name: "y"
   20710     type_attr: "T"
   20711   }
   20712   output_arg {
   20713     name: "z"
   20714     type: DT_BOOL
   20715   }
   20716   attr {
   20717     name: "T"
   20718     type: "type"
   20719     allowed_values {
   20720       list {
   20721         type: DT_FLOAT
   20722         type: DT_DOUBLE
   20723         type: DT_INT32
   20724         type: DT_INT64
   20725         type: DT_UINT8
   20726         type: DT_INT16
   20727         type: DT_INT8
   20728         type: DT_UINT16
   20729         type: DT_HALF
   20730         type: DT_UINT32
   20731         type: DT_UINT64
   20732       }
   20733     }
   20734   }
   20735 }
   20736 op {
   20737   name: "Greater"
   20738   input_arg {
   20739     name: "x"
   20740     type_attr: "T"
   20741   }
   20742   input_arg {
   20743     name: "y"
   20744     type_attr: "T"
   20745   }
   20746   output_arg {
   20747     name: "z"
   20748     type: DT_BOOL
   20749   }
   20750   attr {
   20751     name: "T"
   20752     type: "type"
   20753     allowed_values {
   20754       list {
   20755         type: DT_FLOAT
   20756         type: DT_DOUBLE
   20757         type: DT_INT32
   20758         type: DT_INT64
   20759         type: DT_UINT8
   20760         type: DT_INT16
   20761         type: DT_INT8
   20762         type: DT_UINT16
   20763         type: DT_HALF
   20764         type: DT_UINT32
   20765         type: DT_UINT64
   20766         type: DT_BFLOAT16
   20767       }
   20768     }
   20769   }
   20770 }
   20771 op {
   20772   name: "Greater"
   20773   input_arg {
   20774     name: "x"
   20775     type_attr: "T"
   20776   }
   20777   input_arg {
   20778     name: "y"
   20779     type_attr: "T"
   20780   }
   20781   output_arg {
   20782     name: "z"
   20783     type: DT_BOOL
   20784   }
   20785   attr {
   20786     name: "T"
   20787     type: "type"
   20788     allowed_values {
   20789       list {
   20790         type: DT_FLOAT
   20791         type: DT_DOUBLE
   20792         type: DT_INT32
   20793         type: DT_UINT8
   20794         type: DT_INT16
   20795         type: DT_INT8
   20796         type: DT_INT64
   20797         type: DT_BFLOAT16
   20798         type: DT_UINT16
   20799         type: DT_HALF
   20800         type: DT_UINT32
   20801         type: DT_UINT64
   20802       }
   20803     }
   20804   }
   20805 }
   20806 op {
   20807   name: "GreaterEqual"
   20808   input_arg {
   20809     name: "x"
   20810     type_attr: "T"
   20811   }
   20812   input_arg {
   20813     name: "y"
   20814     type_attr: "T"
   20815   }
   20816   output_arg {
   20817     name: "z"
   20818     type: DT_BOOL
   20819   }
   20820   attr {
   20821     name: "T"
   20822     type: "type"
   20823     allowed_values {
   20824       list {
   20825         type: DT_FLOAT
   20826         type: DT_DOUBLE
   20827         type: DT_INT32
   20828         type: DT_INT64
   20829         type: DT_UINT8
   20830         type: DT_INT16
   20831         type: DT_INT8
   20832         type: DT_UINT16
   20833         type: DT_HALF
   20834       }
   20835     }
   20836   }
   20837 }
   20838 op {
   20839   name: "GreaterEqual"
   20840   input_arg {
   20841     name: "x"
   20842     type_attr: "T"
   20843   }
   20844   input_arg {
   20845     name: "y"
   20846     type_attr: "T"
   20847   }
   20848   output_arg {
   20849     name: "z"
   20850     type: DT_BOOL
   20851   }
   20852   attr {
   20853     name: "T"
   20854     type: "type"
   20855     allowed_values {
   20856       list {
   20857         type: DT_FLOAT
   20858         type: DT_DOUBLE
   20859         type: DT_INT32
   20860         type: DT_INT64
   20861         type: DT_UINT8
   20862         type: DT_INT16
   20863         type: DT_INT8
   20864         type: DT_UINT16
   20865         type: DT_HALF
   20866         type: DT_UINT32
   20867         type: DT_UINT64
   20868       }
   20869     }
   20870   }
   20871 }
   20872 op {
   20873   name: "GreaterEqual"
   20874   input_arg {
   20875     name: "x"
   20876     type_attr: "T"
   20877   }
   20878   input_arg {
   20879     name: "y"
   20880     type_attr: "T"
   20881   }
   20882   output_arg {
   20883     name: "z"
   20884     type: DT_BOOL
   20885   }
   20886   attr {
   20887     name: "T"
   20888     type: "type"
   20889     allowed_values {
   20890       list {
   20891         type: DT_FLOAT
   20892         type: DT_DOUBLE
   20893         type: DT_INT32
   20894         type: DT_INT64
   20895         type: DT_UINT8
   20896         type: DT_INT16
   20897         type: DT_INT8
   20898         type: DT_UINT16
   20899         type: DT_HALF
   20900         type: DT_UINT32
   20901         type: DT_UINT64
   20902         type: DT_BFLOAT16
   20903       }
   20904     }
   20905   }
   20906 }
   20907 op {
   20908   name: "GreaterEqual"
   20909   input_arg {
   20910     name: "x"
   20911     type_attr: "T"
   20912   }
   20913   input_arg {
   20914     name: "y"
   20915     type_attr: "T"
   20916   }
   20917   output_arg {
   20918     name: "z"
   20919     type: DT_BOOL
   20920   }
   20921   attr {
   20922     name: "T"
   20923     type: "type"
   20924     allowed_values {
   20925       list {
   20926         type: DT_FLOAT
   20927         type: DT_DOUBLE
   20928         type: DT_INT32
   20929         type: DT_UINT8
   20930         type: DT_INT16
   20931         type: DT_INT8
   20932         type: DT_INT64
   20933         type: DT_BFLOAT16
   20934         type: DT_UINT16
   20935         type: DT_HALF
   20936         type: DT_UINT32
   20937         type: DT_UINT64
   20938       }
   20939     }
   20940   }
   20941 }
   20942 op {
   20943   name: "GroupByWindowDataset"
   20944   input_arg {
   20945     name: "input_dataset"
   20946     type: DT_VARIANT
   20947   }
   20948   input_arg {
   20949     name: "key_func_other_arguments"
   20950     type_list_attr: "Tkey_func_other_arguments"
   20951   }
   20952   input_arg {
   20953     name: "reduce_func_other_arguments"
   20954     type_list_attr: "Treduce_func_other_arguments"
   20955   }
   20956   input_arg {
   20957     name: "window_size_func_other_arguments"
   20958     type_list_attr: "Twindow_size_func_other_arguments"
   20959   }
   20960   output_arg {
   20961     name: "handle"
   20962     type: DT_VARIANT
   20963   }
   20964   attr {
   20965     name: "key_func"
   20966     type: "func"
   20967   }
   20968   attr {
   20969     name: "reduce_func"
   20970     type: "func"
   20971   }
   20972   attr {
   20973     name: "window_size_func"
   20974     type: "func"
   20975   }
   20976   attr {
   20977     name: "Tkey_func_other_arguments"
   20978     type: "list(type)"
   20979     has_minimum: true
   20980   }
   20981   attr {
   20982     name: "Treduce_func_other_arguments"
   20983     type: "list(type)"
   20984     has_minimum: true
   20985   }
   20986   attr {
   20987     name: "Twindow_size_func_other_arguments"
   20988     type: "list(type)"
   20989     has_minimum: true
   20990   }
   20991   attr {
   20992     name: "output_types"
   20993     type: "list(type)"
   20994     has_minimum: true
   20995     minimum: 1
   20996   }
   20997   attr {
   20998     name: "output_shapes"
   20999     type: "list(shape)"
   21000     has_minimum: true
   21001     minimum: 1
   21002   }
   21003   is_stateful: true
   21004 }
   21005 op {
   21006   name: "GroupByWindowDataset"
   21007   input_arg {
   21008     name: "input_dataset"
   21009     type: DT_VARIANT
   21010   }
   21011   input_arg {
   21012     name: "key_func_other_arguments"
   21013     type_list_attr: "Tkey_func_other_arguments"
   21014   }
   21015   input_arg {
   21016     name: "reduce_func_other_arguments"
   21017     type_list_attr: "Treduce_func_other_arguments"
   21018   }
   21019   input_arg {
   21020     name: "window_size_func_other_arguments"
   21021     type_list_attr: "Twindow_size_func_other_arguments"
   21022   }
   21023   output_arg {
   21024     name: "handle"
   21025     type: DT_VARIANT
   21026   }
   21027   attr {
   21028     name: "key_func"
   21029     type: "func"
   21030   }
   21031   attr {
   21032     name: "reduce_func"
   21033     type: "func"
   21034   }
   21035   attr {
   21036     name: "window_size_func"
   21037     type: "func"
   21038   }
   21039   attr {
   21040     name: "Tkey_func_other_arguments"
   21041     type: "list(type)"
   21042     has_minimum: true
   21043   }
   21044   attr {
   21045     name: "Treduce_func_other_arguments"
   21046     type: "list(type)"
   21047     has_minimum: true
   21048   }
   21049   attr {
   21050     name: "Twindow_size_func_other_arguments"
   21051     type: "list(type)"
   21052     has_minimum: true
   21053   }
   21054   attr {
   21055     name: "output_types"
   21056     type: "list(type)"
   21057     has_minimum: true
   21058     minimum: 1
   21059   }
   21060   attr {
   21061     name: "output_shapes"
   21062     type: "list(shape)"
   21063     has_minimum: true
   21064     minimum: 1
   21065   }
   21066 }
   21067 op {
   21068   name: "GuaranteeConst"
   21069   input_arg {
   21070     name: "input"
   21071     type_attr: "T"
   21072   }
   21073   output_arg {
   21074     name: "output"
   21075     type_attr: "T"
   21076   }
   21077   attr {
   21078     name: "T"
   21079     type: "type"
   21080   }
   21081   is_stateful: true
   21082 }
   21083 op {
   21084   name: "HSVToRGB"
   21085   input_arg {
   21086     name: "images"
   21087     type_attr: "T"
   21088   }
   21089   output_arg {
   21090     name: "output"
   21091     type_attr: "T"
   21092   }
   21093   attr {
   21094     name: "T"
   21095     type: "type"
   21096     default_value {
   21097       type: DT_FLOAT
   21098     }
   21099     allowed_values {
   21100       list {
   21101         type: DT_FLOAT
   21102         type: DT_DOUBLE
   21103       }
   21104     }
   21105   }
   21106 }
   21107 op {
   21108   name: "HSVToRGB"
   21109   input_arg {
   21110     name: "images"
   21111     type_attr: "T"
   21112   }
   21113   output_arg {
   21114     name: "output"
   21115     type_attr: "T"
   21116   }
   21117   attr {
   21118     name: "T"
   21119     type: "type"
   21120     default_value {
   21121       type: DT_FLOAT
   21122     }
   21123     allowed_values {
   21124       list {
   21125         type: DT_HALF
   21126         type: DT_BFLOAT16
   21127         type: DT_FLOAT
   21128         type: DT_DOUBLE
   21129       }
   21130     }
   21131   }
   21132 }
   21133 op {
   21134   name: "HashTable"
   21135   output_arg {
   21136     name: "table_handle"
   21137     type: DT_STRING
   21138     is_ref: true
   21139   }
   21140   attr {
   21141     name: "container"
   21142     type: "string"
   21143     default_value {
   21144       s: ""
   21145     }
   21146   }
   21147   attr {
   21148     name: "shared_name"
   21149     type: "string"
   21150     default_value {
   21151       s: ""
   21152     }
   21153   }
   21154   attr {
   21155     name: "use_node_name_sharing"
   21156     type: "bool"
   21157     default_value {
   21158       b: false
   21159     }
   21160   }
   21161   attr {
   21162     name: "key_dtype"
   21163     type: "type"
   21164   }
   21165   attr {
   21166     name: "value_dtype"
   21167     type: "type"
   21168   }
   21169   is_stateful: true
   21170 }
   21171 op {
   21172   name: "HashTableV2"
   21173   output_arg {
   21174     name: "table_handle"
   21175     type: DT_RESOURCE
   21176   }
   21177   attr {
   21178     name: "container"
   21179     type: "string"
   21180     default_value {
   21181       s: ""
   21182     }
   21183   }
   21184   attr {
   21185     name: "shared_name"
   21186     type: "string"
   21187     default_value {
   21188       s: ""
   21189     }
   21190   }
   21191   attr {
   21192     name: "use_node_name_sharing"
   21193     type: "bool"
   21194     default_value {
   21195       b: false
   21196     }
   21197   }
   21198   attr {
   21199     name: "key_dtype"
   21200     type: "type"
   21201   }
   21202   attr {
   21203     name: "value_dtype"
   21204     type: "type"
   21205   }
   21206   is_stateful: true
   21207 }
   21208 op {
   21209   name: "HistogramFixedWidth"
   21210   input_arg {
   21211     name: "values"
   21212     type_attr: "T"
   21213   }
   21214   input_arg {
   21215     name: "value_range"
   21216     type_attr: "T"
   21217   }
   21218   input_arg {
   21219     name: "nbins"
   21220     type: DT_INT32
   21221   }
   21222   output_arg {
   21223     name: "out"
   21224     type_attr: "dtype"
   21225   }
   21226   attr {
   21227     name: "T"
   21228     type: "type"
   21229     allowed_values {
   21230       list {
   21231         type: DT_INT32
   21232         type: DT_INT64
   21233         type: DT_FLOAT
   21234         type: DT_DOUBLE
   21235       }
   21236     }
   21237   }
   21238   attr {
   21239     name: "dtype"
   21240     type: "type"
   21241     default_value {
   21242       type: DT_INT32
   21243     }
   21244     allowed_values {
   21245       list {
   21246         type: DT_INT32
   21247         type: DT_INT64
   21248       }
   21249     }
   21250   }
   21251 }
   21252 op {
   21253   name: "HistogramSummary"
   21254   input_arg {
   21255     name: "tag"
   21256     type: DT_STRING
   21257   }
   21258   input_arg {
   21259     name: "values"
   21260     type_attr: "T"
   21261   }
   21262   output_arg {
   21263     name: "summary"
   21264     type: DT_STRING
   21265   }
   21266   attr {
   21267     name: "T"
   21268     type: "type"
   21269     default_value {
   21270       type: DT_FLOAT
   21271     }
   21272     allowed_values {
   21273       list {
   21274         type: DT_FLOAT
   21275         type: DT_DOUBLE
   21276         type: DT_INT32
   21277         type: DT_INT64
   21278         type: DT_UINT8
   21279         type: DT_INT16
   21280         type: DT_INT8
   21281         type: DT_UINT16
   21282         type: DT_HALF
   21283       }
   21284     }
   21285   }
   21286 }
   21287 op {
   21288   name: "HistogramSummary"
   21289   input_arg {
   21290     name: "tag"
   21291     type: DT_STRING
   21292   }
   21293   input_arg {
   21294     name: "values"
   21295     type_attr: "T"
   21296   }
   21297   output_arg {
   21298     name: "summary"
   21299     type: DT_STRING
   21300   }
   21301   attr {
   21302     name: "T"
   21303     type: "type"
   21304     default_value {
   21305       type: DT_FLOAT
   21306     }
   21307     allowed_values {
   21308       list {
   21309         type: DT_FLOAT
   21310         type: DT_DOUBLE
   21311         type: DT_INT32
   21312         type: DT_INT64
   21313         type: DT_UINT8
   21314         type: DT_INT16
   21315         type: DT_INT8
   21316         type: DT_UINT16
   21317         type: DT_HALF
   21318         type: DT_UINT32
   21319         type: DT_UINT64
   21320       }
   21321     }
   21322   }
   21323 }
   21324 op {
   21325   name: "HistogramSummary"
   21326   input_arg {
   21327     name: "tag"
   21328     type: DT_STRING
   21329   }
   21330   input_arg {
   21331     name: "values"
   21332     type_attr: "T"
   21333   }
   21334   output_arg {
   21335     name: "summary"
   21336     type: DT_STRING
   21337   }
   21338   attr {
   21339     name: "T"
   21340     type: "type"
   21341     default_value {
   21342       type: DT_FLOAT
   21343     }
   21344     allowed_values {
   21345       list {
   21346         type: DT_FLOAT
   21347         type: DT_DOUBLE
   21348         type: DT_INT32
   21349         type: DT_INT64
   21350         type: DT_UINT8
   21351         type: DT_INT16
   21352         type: DT_INT8
   21353         type: DT_UINT16
   21354         type: DT_HALF
   21355         type: DT_UINT32
   21356         type: DT_UINT64
   21357         type: DT_BFLOAT16
   21358       }
   21359     }
   21360   }
   21361 }
   21362 op {
   21363   name: "HistogramSummary"
   21364   input_arg {
   21365     name: "tag"
   21366     type: DT_STRING
   21367   }
   21368   input_arg {
   21369     name: "values"
   21370     type_attr: "T"
   21371   }
   21372   output_arg {
   21373     name: "summary"
   21374     type: DT_STRING
   21375   }
   21376   attr {
   21377     name: "T"
   21378     type: "type"
   21379     default_value {
   21380       type: DT_FLOAT
   21381     }
   21382     allowed_values {
   21383       list {
   21384         type: DT_FLOAT
   21385         type: DT_DOUBLE
   21386         type: DT_INT32
   21387         type: DT_UINT8
   21388         type: DT_INT16
   21389         type: DT_INT8
   21390         type: DT_INT64
   21391         type: DT_BFLOAT16
   21392         type: DT_UINT16
   21393         type: DT_HALF
   21394         type: DT_UINT32
   21395         type: DT_UINT64
   21396       }
   21397     }
   21398   }
   21399 }
   21400 op {
   21401   name: "IFFT"
   21402   input_arg {
   21403     name: "input"
   21404     type: DT_COMPLEX64
   21405   }
   21406   output_arg {
   21407     name: "output"
   21408     type: DT_COMPLEX64
   21409   }
   21410 }
   21411 op {
   21412   name: "IFFT2D"
   21413   input_arg {
   21414     name: "input"
   21415     type: DT_COMPLEX64
   21416   }
   21417   output_arg {
   21418     name: "output"
   21419     type: DT_COMPLEX64
   21420   }
   21421 }
   21422 op {
   21423   name: "IFFT3D"
   21424   input_arg {
   21425     name: "input"
   21426     type: DT_COMPLEX64
   21427   }
   21428   output_arg {
   21429     name: "output"
   21430     type: DT_COMPLEX64
   21431   }
   21432 }
   21433 op {
   21434   name: "IRFFT"
   21435   input_arg {
   21436     name: "input"
   21437     type: DT_COMPLEX64
   21438   }
   21439   input_arg {
   21440     name: "fft_length"
   21441     type: DT_INT32
   21442   }
   21443   output_arg {
   21444     name: "output"
   21445     type: DT_FLOAT
   21446   }
   21447 }
   21448 op {
   21449   name: "IRFFT2D"
   21450   input_arg {
   21451     name: "input"
   21452     type: DT_COMPLEX64
   21453   }
   21454   input_arg {
   21455     name: "fft_length"
   21456     type: DT_INT32
   21457   }
   21458   output_arg {
   21459     name: "output"
   21460     type: DT_FLOAT
   21461   }
   21462 }
   21463 op {
   21464   name: "IRFFT3D"
   21465   input_arg {
   21466     name: "input"
   21467     type: DT_COMPLEX64
   21468   }
   21469   input_arg {
   21470     name: "fft_length"
   21471     type: DT_INT32
   21472   }
   21473   output_arg {
   21474     name: "output"
   21475     type: DT_FLOAT
   21476   }
   21477 }
   21478 op {
   21479   name: "Identity"
   21480   input_arg {
   21481     name: "input"
   21482     type_attr: "T"
   21483   }
   21484   output_arg {
   21485     name: "output"
   21486     type_attr: "T"
   21487   }
   21488   attr {
   21489     name: "T"
   21490     type: "type"
   21491   }
   21492 }
   21493 op {
   21494   name: "IdentityN"
   21495   input_arg {
   21496     name: "input"
   21497     type_list_attr: "T"
   21498   }
   21499   output_arg {
   21500     name: "output"
   21501     type_list_attr: "T"
   21502   }
   21503   attr {
   21504     name: "T"
   21505     type: "list(type)"
   21506     has_minimum: true
   21507     minimum: 1
   21508   }
   21509 }
   21510 op {
   21511   name: "IdentityReader"
   21512   output_arg {
   21513     name: "reader_handle"
   21514     type: DT_STRING
   21515     is_ref: true
   21516   }
   21517   attr {
   21518     name: "container"
   21519     type: "string"
   21520     default_value {
   21521       s: ""
   21522     }
   21523   }
   21524   attr {
   21525     name: "shared_name"
   21526     type: "string"
   21527     default_value {
   21528       s: ""
   21529     }
   21530   }
   21531   is_stateful: true
   21532 }
   21533 op {
   21534   name: "IdentityReader"
   21535   output_arg {
   21536     name: "reader_handle"
   21537     type: DT_STRING
   21538     is_ref: true
   21539   }
   21540   attr {
   21541     name: "container"
   21542     type: "string"
   21543     default_value {
   21544       s: ""
   21545     }
   21546   }
   21547   attr {
   21548     name: "shared_name"
   21549     type: "string"
   21550     default_value {
   21551       s: ""
   21552     }
   21553   }
   21554   deprecation {
   21555     version: 26
   21556   }
   21557   is_stateful: true
   21558 }
   21559 op {
   21560   name: "IdentityReaderV2"
   21561   output_arg {
   21562     name: "reader_handle"
   21563     type: DT_RESOURCE
   21564   }
   21565   attr {
   21566     name: "container"
   21567     type: "string"
   21568     default_value {
   21569       s: ""
   21570     }
   21571   }
   21572   attr {
   21573     name: "shared_name"
   21574     type: "string"
   21575     default_value {
   21576       s: ""
   21577     }
   21578   }
   21579   is_stateful: true
   21580 }
   21581 op {
   21582   name: "Igamma"
   21583   input_arg {
   21584     name: "a"
   21585     type_attr: "T"
   21586   }
   21587   input_arg {
   21588     name: "x"
   21589     type_attr: "T"
   21590   }
   21591   output_arg {
   21592     name: "z"
   21593     type_attr: "T"
   21594   }
   21595   attr {
   21596     name: "T"
   21597     type: "type"
   21598     allowed_values {
   21599       list {
   21600         type: DT_FLOAT
   21601         type: DT_DOUBLE
   21602       }
   21603     }
   21604   }
   21605 }
   21606 op {
   21607   name: "Igammac"
   21608   input_arg {
   21609     name: "a"
   21610     type_attr: "T"
   21611   }
   21612   input_arg {
   21613     name: "x"
   21614     type_attr: "T"
   21615   }
   21616   output_arg {
   21617     name: "z"
   21618     type_attr: "T"
   21619   }
   21620   attr {
   21621     name: "T"
   21622     type: "type"
   21623     allowed_values {
   21624       list {
   21625         type: DT_FLOAT
   21626         type: DT_DOUBLE
   21627       }
   21628     }
   21629   }
   21630 }
   21631 op {
   21632   name: "Imag"
   21633   input_arg {
   21634     name: "input"
   21635     type_attr: "T"
   21636   }
   21637   output_arg {
   21638     name: "output"
   21639     type_attr: "Tout"
   21640   }
   21641   attr {
   21642     name: "T"
   21643     type: "type"
   21644     default_value {
   21645       type: DT_COMPLEX64
   21646     }
   21647     allowed_values {
   21648       list {
   21649         type: DT_COMPLEX64
   21650         type: DT_COMPLEX128
   21651       }
   21652     }
   21653   }
   21654   attr {
   21655     name: "Tout"
   21656     type: "type"
   21657     default_value {
   21658       type: DT_FLOAT
   21659     }
   21660     allowed_values {
   21661       list {
   21662         type: DT_FLOAT
   21663         type: DT_DOUBLE
   21664       }
   21665     }
   21666   }
   21667 }
   21668 op {
   21669   name: "ImageSummary"
   21670   input_arg {
   21671     name: "tag"
   21672     type: DT_STRING
   21673   }
   21674   input_arg {
   21675     name: "tensor"
   21676     type_attr: "T"
   21677   }
   21678   output_arg {
   21679     name: "summary"
   21680     type: DT_STRING
   21681   }
   21682   attr {
   21683     name: "max_images"
   21684     type: "int"
   21685     default_value {
   21686       i: 3
   21687     }
   21688     has_minimum: true
   21689     minimum: 1
   21690   }
   21691   attr {
   21692     name: "T"
   21693     type: "type"
   21694     default_value {
   21695       type: DT_FLOAT
   21696     }
   21697     allowed_values {
   21698       list {
   21699         type: DT_UINT8
   21700         type: DT_FLOAT
   21701         type: DT_HALF
   21702       }
   21703     }
   21704   }
   21705   attr {
   21706     name: "bad_color"
   21707     type: "tensor"
   21708     default_value {
   21709       tensor {
   21710         dtype: DT_UINT8
   21711         tensor_shape {
   21712           dim {
   21713             size: 4
   21714           }
   21715         }
   21716         int_val: 255
   21717         int_val: 0
   21718         int_val: 0
   21719         int_val: 255
   21720       }
   21721     }
   21722   }
   21723 }
   21724 op {
   21725   name: "ImageSummary"
   21726   input_arg {
   21727     name: "tag"
   21728     type: DT_STRING
   21729   }
   21730   input_arg {
   21731     name: "tensor"
   21732     type_attr: "T"
   21733   }
   21734   output_arg {
   21735     name: "summary"
   21736     type: DT_STRING
   21737   }
   21738   attr {
   21739     name: "max_images"
   21740     type: "int"
   21741     default_value {
   21742       i: 3
   21743     }
   21744     has_minimum: true
   21745     minimum: 1
   21746   }
   21747   attr {
   21748     name: "T"
   21749     type: "type"
   21750     default_value {
   21751       type: DT_FLOAT
   21752     }
   21753     allowed_values {
   21754       list {
   21755         type: DT_UINT8
   21756         type: DT_FLOAT
   21757         type: DT_HALF
   21758         type: DT_DOUBLE
   21759       }
   21760     }
   21761   }
   21762   attr {
   21763     name: "bad_color"
   21764     type: "tensor"
   21765     default_value {
   21766       tensor {
   21767         dtype: DT_UINT8
   21768         tensor_shape {
   21769           dim {
   21770             size: 4
   21771           }
   21772         }
   21773         int_val: 255
   21774         int_val: 0
   21775         int_val: 0
   21776         int_val: 255
   21777       }
   21778     }
   21779   }
   21780 }
   21781 op {
   21782   name: "ImmutableConst"
   21783   output_arg {
   21784     name: "tensor"
   21785     type_attr: "dtype"
   21786   }
   21787   attr {
   21788     name: "dtype"
   21789     type: "type"
   21790   }
   21791   attr {
   21792     name: "shape"
   21793     type: "shape"
   21794   }
   21795   attr {
   21796     name: "memory_region_name"
   21797     type: "string"
   21798   }
   21799 }
   21800 op {
   21801   name: "InTopK"
   21802   input_arg {
   21803     name: "predictions"
   21804     type: DT_FLOAT
   21805   }
   21806   input_arg {
   21807     name: "targets"
   21808     type_attr: "T"
   21809   }
   21810   output_arg {
   21811     name: "precision"
   21812     type: DT_BOOL
   21813   }
   21814   attr {
   21815     name: "k"
   21816     type: "int"
   21817   }
   21818   attr {
   21819     name: "T"
   21820     type: "type"
   21821     default_value {
   21822       type: DT_INT32
   21823     }
   21824     allowed_values {
   21825       list {
   21826         type: DT_INT32
   21827         type: DT_INT64
   21828       }
   21829     }
   21830   }
   21831 }
   21832 op {
   21833   name: "InTopKV2"
   21834   input_arg {
   21835     name: "predictions"
   21836     type: DT_FLOAT
   21837   }
   21838   input_arg {
   21839     name: "targets"
   21840     type_attr: "T"
   21841   }
   21842   input_arg {
   21843     name: "k"
   21844     type_attr: "T"
   21845   }
   21846   output_arg {
   21847     name: "precision"
   21848     type: DT_BOOL
   21849   }
   21850   attr {
   21851     name: "T"
   21852     type: "type"
   21853     default_value {
   21854       type: DT_INT32
   21855     }
   21856     allowed_values {
   21857       list {
   21858         type: DT_INT32
   21859         type: DT_INT64
   21860       }
   21861     }
   21862   }
   21863 }
   21864 op {
   21865   name: "InitializeTable"
   21866   input_arg {
   21867     name: "table_handle"
   21868     type: DT_STRING
   21869     is_ref: true
   21870   }
   21871   input_arg {
   21872     name: "keys"
   21873     type_attr: "Tkey"
   21874   }
   21875   input_arg {
   21876     name: "values"
   21877     type_attr: "Tval"
   21878   }
   21879   attr {
   21880     name: "Tkey"
   21881     type: "type"
   21882   }
   21883   attr {
   21884     name: "Tval"
   21885     type: "type"
   21886   }
   21887 }
   21888 op {
   21889   name: "InitializeTableFromTextFile"
   21890   input_arg {
   21891     name: "table_handle"
   21892     type: DT_STRING
   21893     is_ref: true
   21894   }
   21895   input_arg {
   21896     name: "filename"
   21897     type: DT_STRING
   21898   }
   21899   attr {
   21900     name: "key_index"
   21901     type: "int"
   21902     has_minimum: true
   21903     minimum: -2
   21904   }
   21905   attr {
   21906     name: "value_index"
   21907     type: "int"
   21908     has_minimum: true
   21909     minimum: -2
   21910   }
   21911   attr {
   21912     name: "vocab_size"
   21913     type: "int"
   21914     default_value {
   21915       i: -1
   21916     }
   21917     has_minimum: true
   21918     minimum: -1
   21919   }
   21920   attr {
   21921     name: "delimiter"
   21922     type: "string"
   21923     default_value {
   21924       s: "\t"
   21925     }
   21926   }
   21927 }
   21928 op {
   21929   name: "InitializeTableFromTextFileV2"
   21930   input_arg {
   21931     name: "table_handle"
   21932     type: DT_RESOURCE
   21933   }
   21934   input_arg {
   21935     name: "filename"
   21936     type: DT_STRING
   21937   }
   21938   attr {
   21939     name: "key_index"
   21940     type: "int"
   21941     has_minimum: true
   21942     minimum: -2
   21943   }
   21944   attr {
   21945     name: "value_index"
   21946     type: "int"
   21947     has_minimum: true
   21948     minimum: -2
   21949   }
   21950   attr {
   21951     name: "vocab_size"
   21952     type: "int"
   21953     default_value {
   21954       i: -1
   21955     }
   21956     has_minimum: true
   21957     minimum: -1
   21958   }
   21959   attr {
   21960     name: "delimiter"
   21961     type: "string"
   21962     default_value {
   21963       s: "\t"
   21964     }
   21965   }
   21966   is_stateful: true
   21967 }
   21968 op {
   21969   name: "InitializeTableV2"
   21970   input_arg {
   21971     name: "table_handle"
   21972     type: DT_RESOURCE
   21973   }
   21974   input_arg {
   21975     name: "keys"
   21976     type_attr: "Tkey"
   21977   }
   21978   input_arg {
   21979     name: "values"
   21980     type_attr: "Tval"
   21981   }
   21982   attr {
   21983     name: "Tkey"
   21984     type: "type"
   21985   }
   21986   attr {
   21987     name: "Tval"
   21988     type: "type"
   21989   }
   21990   is_stateful: true
   21991 }
   21992 op {
   21993   name: "InterleaveDataset"
   21994   input_arg {
   21995     name: "input_dataset"
   21996     type: DT_VARIANT
   21997   }
   21998   input_arg {
   21999     name: "other_arguments"
   22000     type_list_attr: "Targuments"
   22001   }
   22002   input_arg {
   22003     name: "cycle_length"
   22004     type: DT_INT64
   22005   }
   22006   input_arg {
   22007     name: "block_length"
   22008     type: DT_INT64
   22009   }
   22010   output_arg {
   22011     name: "handle"
   22012     type: DT_VARIANT
   22013   }
   22014   attr {
   22015     name: "f"
   22016     type: "func"
   22017   }
   22018   attr {
   22019     name: "Targuments"
   22020     type: "list(type)"
   22021     has_minimum: true
   22022   }
   22023   attr {
   22024     name: "output_types"
   22025     type: "list(type)"
   22026     has_minimum: true
   22027     minimum: 1
   22028   }
   22029   attr {
   22030     name: "output_shapes"
   22031     type: "list(shape)"
   22032     has_minimum: true
   22033     minimum: 1
   22034   }
   22035   is_stateful: true
   22036 }
   22037 op {
   22038   name: "InterleaveDataset"
   22039   input_arg {
   22040     name: "input_dataset"
   22041     type: DT_VARIANT
   22042   }
   22043   input_arg {
   22044     name: "other_arguments"
   22045     type_list_attr: "Targuments"
   22046   }
   22047   input_arg {
   22048     name: "cycle_length"
   22049     type: DT_INT64
   22050   }
   22051   input_arg {
   22052     name: "block_length"
   22053     type: DT_INT64
   22054   }
   22055   output_arg {
   22056     name: "handle"
   22057     type: DT_VARIANT
   22058   }
   22059   attr {
   22060     name: "f"
   22061     type: "func"
   22062   }
   22063   attr {
   22064     name: "Targuments"
   22065     type: "list(type)"
   22066     has_minimum: true
   22067   }
   22068   attr {
   22069     name: "output_types"
   22070     type: "list(type)"
   22071     has_minimum: true
   22072     minimum: 1
   22073   }
   22074   attr {
   22075     name: "output_shapes"
   22076     type: "list(shape)"
   22077     has_minimum: true
   22078     minimum: 1
   22079   }
   22080 }
   22081 op {
   22082   name: "Inv"
   22083   input_arg {
   22084     name: "x"
   22085     type_attr: "T"
   22086   }
   22087   output_arg {
   22088     name: "y"
   22089     type_attr: "T"
   22090   }
   22091   attr {
   22092     name: "T"
   22093     type: "type"
   22094     allowed_values {
   22095       list {
   22096         type: DT_HALF
   22097         type: DT_FLOAT
   22098         type: DT_DOUBLE
   22099         type: DT_INT32
   22100         type: DT_INT64
   22101         type: DT_COMPLEX64
   22102         type: DT_COMPLEX128
   22103       }
   22104     }
   22105   }
   22106   deprecation {
   22107     version: 17
   22108   }
   22109 }
   22110 op {
   22111   name: "Inv"
   22112   input_arg {
   22113     name: "x"
   22114     type_attr: "T"
   22115   }
   22116   output_arg {
   22117     name: "y"
   22118     type_attr: "T"
   22119   }
   22120   attr {
   22121     name: "T"
   22122     type: "type"
   22123     allowed_values {
   22124       list {
   22125         type: DT_HALF
   22126         type: DT_BFLOAT16
   22127         type: DT_FLOAT
   22128         type: DT_DOUBLE
   22129         type: DT_INT32
   22130         type: DT_INT64
   22131         type: DT_COMPLEX64
   22132         type: DT_COMPLEX128
   22133       }
   22134     }
   22135   }
   22136   deprecation {
   22137     version: 17
   22138   }
   22139 }
   22140 op {
   22141   name: "Inv"
   22142   input_arg {
   22143     name: "x"
   22144     type_attr: "T"
   22145   }
   22146   output_arg {
   22147     name: "y"
   22148     type_attr: "T"
   22149   }
   22150   attr {
   22151     name: "T"
   22152     type: "type"
   22153     allowed_values {
   22154       list {
   22155         type: DT_HALF
   22156         type: DT_BFLOAT16
   22157         type: DT_FLOAT
   22158         type: DT_DOUBLE
   22159         type: DT_INT32
   22160         type: DT_INT64
   22161         type: DT_COMPLEX64
   22162         type: DT_COMPLEX128
   22163       }
   22164     }
   22165   }
   22166 }
   22167 op {
   22168   name: "Inv"
   22169   input_arg {
   22170     name: "x"
   22171     type_attr: "T"
   22172   }
   22173   output_arg {
   22174     name: "y"
   22175     type_attr: "T"
   22176   }
   22177   attr {
   22178     name: "T"
   22179     type: "type"
   22180     allowed_values {
   22181       list {
   22182         type: DT_HALF
   22183         type: DT_BFLOAT16
   22184         type: DT_FLOAT
   22185         type: DT_DOUBLE
   22186         type: DT_INT32
   22187         type: DT_INT64
   22188         type: DT_COMPLEX64
   22189         type: DT_COMPLEX128
   22190       }
   22191     }
   22192   }
   22193   deprecation {
   22194     version: 17
   22195   }
   22196 }
   22197 op {
   22198   name: "Inv"
   22199   input_arg {
   22200     name: "x"
   22201     type_attr: "T"
   22202   }
   22203   output_arg {
   22204     name: "y"
   22205     type_attr: "T"
   22206   }
   22207   attr {
   22208     name: "T"
   22209     type: "type"
   22210     allowed_values {
   22211       list {
   22212         type: DT_HALF
   22213         type: DT_BFLOAT16
   22214         type: DT_FLOAT
   22215         type: DT_DOUBLE
   22216         type: DT_INT32
   22217         type: DT_INT64
   22218         type: DT_COMPLEX64
   22219         type: DT_COMPLEX128
   22220       }
   22221     }
   22222   }
   22223 }
   22224 op {
   22225   name: "InvGrad"
   22226   input_arg {
   22227     name: "x"
   22228     type_attr: "T"
   22229   }
   22230   input_arg {
   22231     name: "y"
   22232     type_attr: "T"
   22233   }
   22234   output_arg {
   22235     name: "z"
   22236     type_attr: "T"
   22237   }
   22238   attr {
   22239     name: "T"
   22240     type: "type"
   22241     allowed_values {
   22242       list {
   22243         type: DT_HALF
   22244         type: DT_FLOAT
   22245         type: DT_DOUBLE
   22246         type: DT_COMPLEX64
   22247         type: DT_COMPLEX128
   22248       }
   22249     }
   22250   }
   22251   deprecation {
   22252     version: 17
   22253   }
   22254 }
   22255 op {
   22256   name: "InvGrad"
   22257   input_arg {
   22258     name: "y"
   22259     type_attr: "T"
   22260   }
   22261   input_arg {
   22262     name: "dy"
   22263     type_attr: "T"
   22264   }
   22265   output_arg {
   22266     name: "z"
   22267     type_attr: "T"
   22268   }
   22269   attr {
   22270     name: "T"
   22271     type: "type"
   22272     allowed_values {
   22273       list {
   22274         type: DT_HALF
   22275         type: DT_FLOAT
   22276         type: DT_DOUBLE
   22277         type: DT_COMPLEX64
   22278         type: DT_COMPLEX128
   22279       }
   22280     }
   22281   }
   22282   deprecation {
   22283     version: 17
   22284   }
   22285 }
   22286 op {
   22287   name: "InvGrad"
   22288   input_arg {
   22289     name: "y"
   22290     type_attr: "T"
   22291   }
   22292   input_arg {
   22293     name: "dy"
   22294     type_attr: "T"
   22295   }
   22296   output_arg {
   22297     name: "z"
   22298     type_attr: "T"
   22299   }
   22300   attr {
   22301     name: "T"
   22302     type: "type"
   22303     allowed_values {
   22304       list {
   22305         type: DT_HALF
   22306         type: DT_BFLOAT16
   22307         type: DT_FLOAT
   22308         type: DT_DOUBLE
   22309         type: DT_COMPLEX64
   22310         type: DT_COMPLEX128
   22311       }
   22312     }
   22313   }
   22314   deprecation {
   22315     version: 17
   22316   }
   22317 }
   22318 op {
   22319   name: "InvGrad"
   22320   input_arg {
   22321     name: "y"
   22322     type_attr: "T"
   22323   }
   22324   input_arg {
   22325     name: "dy"
   22326     type_attr: "T"
   22327   }
   22328   output_arg {
   22329     name: "z"
   22330     type_attr: "T"
   22331   }
   22332   attr {
   22333     name: "T"
   22334     type: "type"
   22335     allowed_values {
   22336       list {
   22337         type: DT_HALF
   22338         type: DT_BFLOAT16
   22339         type: DT_FLOAT
   22340         type: DT_DOUBLE
   22341         type: DT_COMPLEX64
   22342         type: DT_COMPLEX128
   22343       }
   22344     }
   22345   }
   22346 }
   22347 op {
   22348   name: "InvGrad"
   22349   input_arg {
   22350     name: "y"
   22351     type_attr: "T"
   22352   }
   22353   input_arg {
   22354     name: "dy"
   22355     type_attr: "T"
   22356   }
   22357   output_arg {
   22358     name: "z"
   22359     type_attr: "T"
   22360   }
   22361   attr {
   22362     name: "T"
   22363     type: "type"
   22364     allowed_values {
   22365       list {
   22366         type: DT_HALF
   22367         type: DT_BFLOAT16
   22368         type: DT_FLOAT
   22369         type: DT_DOUBLE
   22370         type: DT_COMPLEX64
   22371         type: DT_COMPLEX128
   22372       }
   22373     }
   22374   }
   22375   deprecation {
   22376     version: 17
   22377   }
   22378 }
   22379 op {
   22380   name: "InvGrad"
   22381   input_arg {
   22382     name: "y"
   22383     type_attr: "T"
   22384   }
   22385   input_arg {
   22386     name: "dy"
   22387     type_attr: "T"
   22388   }
   22389   output_arg {
   22390     name: "z"
   22391     type_attr: "T"
   22392   }
   22393   attr {
   22394     name: "T"
   22395     type: "type"
   22396     allowed_values {
   22397       list {
   22398         type: DT_HALF
   22399         type: DT_BFLOAT16
   22400         type: DT_FLOAT
   22401         type: DT_DOUBLE
   22402         type: DT_COMPLEX64
   22403         type: DT_COMPLEX128
   22404       }
   22405     }
   22406   }
   22407 }
   22408 op {
   22409   name: "Invert"
   22410   input_arg {
   22411     name: "x"
   22412     type_attr: "T"
   22413   }
   22414   output_arg {
   22415     name: "y"
   22416     type_attr: "T"
   22417   }
   22418   attr {
   22419     name: "T"
   22420     type: "type"
   22421     allowed_values {
   22422       list {
   22423         type: DT_INT8
   22424         type: DT_INT16
   22425         type: DT_INT32
   22426         type: DT_INT64
   22427         type: DT_UINT8
   22428         type: DT_UINT16
   22429       }
   22430     }
   22431   }
   22432 }
   22433 op {
   22434   name: "Invert"
   22435   input_arg {
   22436     name: "x"
   22437     type_attr: "T"
   22438   }
   22439   output_arg {
   22440     name: "y"
   22441     type_attr: "T"
   22442   }
   22443   attr {
   22444     name: "T"
   22445     type: "type"
   22446     allowed_values {
   22447       list {
   22448         type: DT_INT8
   22449         type: DT_INT16
   22450         type: DT_INT32
   22451         type: DT_INT64
   22452         type: DT_UINT8
   22453         type: DT_UINT16
   22454         type: DT_UINT32
   22455         type: DT_UINT64
   22456       }
   22457     }
   22458   }
   22459 }
   22460 op {
   22461   name: "InvertPermutation"
   22462   input_arg {
   22463     name: "x"
   22464     type_attr: "T"
   22465   }
   22466   output_arg {
   22467     name: "y"
   22468     type_attr: "T"
   22469   }
   22470   attr {
   22471     name: "T"
   22472     type: "type"
   22473     default_value {
   22474       type: DT_INT32
   22475     }
   22476     allowed_values {
   22477       list {
   22478         type: DT_INT32
   22479         type: DT_INT64
   22480       }
   22481     }
   22482   }
   22483 }
   22484 op {
   22485   name: "IsFinite"
   22486   input_arg {
   22487     name: "x"
   22488     type_attr: "T"
   22489   }
   22490   output_arg {
   22491     name: "y"
   22492     type: DT_BOOL
   22493   }
   22494   attr {
   22495     name: "T"
   22496     type: "type"
   22497     allowed_values {
   22498       list {
   22499         type: DT_HALF
   22500         type: DT_FLOAT
   22501         type: DT_DOUBLE
   22502       }
   22503     }
   22504   }
   22505 }
   22506 op {
   22507   name: "IsFinite"
   22508   input_arg {
   22509     name: "x"
   22510     type_attr: "T"
   22511   }
   22512   output_arg {
   22513     name: "y"
   22514     type: DT_BOOL
   22515   }
   22516   attr {
   22517     name: "T"
   22518     type: "type"
   22519     allowed_values {
   22520       list {
   22521         type: DT_HALF
   22522         type: DT_BFLOAT16
   22523         type: DT_FLOAT
   22524         type: DT_DOUBLE
   22525       }
   22526     }
   22527   }
   22528 }
   22529 op {
   22530   name: "IsInf"
   22531   input_arg {
   22532     name: "x"
   22533     type_attr: "T"
   22534   }
   22535   output_arg {
   22536     name: "y"
   22537     type: DT_BOOL
   22538   }
   22539   attr {
   22540     name: "T"
   22541     type: "type"
   22542     allowed_values {
   22543       list {
   22544         type: DT_HALF
   22545         type: DT_FLOAT
   22546         type: DT_DOUBLE
   22547       }
   22548     }
   22549   }
   22550 }
   22551 op {
   22552   name: "IsInf"
   22553   input_arg {
   22554     name: "x"
   22555     type_attr: "T"
   22556   }
   22557   output_arg {
   22558     name: "y"
   22559     type: DT_BOOL
   22560   }
   22561   attr {
   22562     name: "T"
   22563     type: "type"
   22564     allowed_values {
   22565       list {
   22566         type: DT_HALF
   22567         type: DT_BFLOAT16
   22568         type: DT_FLOAT
   22569         type: DT_DOUBLE
   22570       }
   22571     }
   22572   }
   22573 }
   22574 op {
   22575   name: "IsNan"
   22576   input_arg {
   22577     name: "x"
   22578     type_attr: "T"
   22579   }
   22580   output_arg {
   22581     name: "y"
   22582     type: DT_BOOL
   22583   }
   22584   attr {
   22585     name: "T"
   22586     type: "type"
   22587     allowed_values {
   22588       list {
   22589         type: DT_HALF
   22590         type: DT_FLOAT
   22591         type: DT_DOUBLE
   22592       }
   22593     }
   22594   }
   22595 }
   22596 op {
   22597   name: "IsNan"
   22598   input_arg {
   22599     name: "x"
   22600     type_attr: "T"
   22601   }
   22602   output_arg {
   22603     name: "y"
   22604     type: DT_BOOL
   22605   }
   22606   attr {
   22607     name: "T"
   22608     type: "type"
   22609     allowed_values {
   22610       list {
   22611         type: DT_HALF
   22612         type: DT_BFLOAT16
   22613         type: DT_FLOAT
   22614         type: DT_DOUBLE
   22615       }
   22616     }
   22617   }
   22618 }
   22619 op {
   22620   name: "IsVariableInitialized"
   22621   input_arg {
   22622     name: "ref"
   22623     type_attr: "dtype"
   22624     is_ref: true
   22625   }
   22626   output_arg {
   22627     name: "is_initialized"
   22628     type: DT_BOOL
   22629   }
   22630   attr {
   22631     name: "dtype"
   22632     type: "type"
   22633   }
   22634   allows_uninitialized_input: true
   22635 }
   22636 op {
   22637   name: "Iterator"
   22638   output_arg {
   22639     name: "handle"
   22640     type: DT_RESOURCE
   22641   }
   22642   attr {
   22643     name: "shared_name"
   22644     type: "string"
   22645   }
   22646   attr {
   22647     name: "container"
   22648     type: "string"
   22649   }
   22650   attr {
   22651     name: "output_types"
   22652     type: "list(type)"
   22653     has_minimum: true
   22654     minimum: 1
   22655   }
   22656   attr {
   22657     name: "output_shapes"
   22658     type: "list(shape)"
   22659     has_minimum: true
   22660     minimum: 1
   22661   }
   22662   is_stateful: true
   22663 }
   22664 op {
   22665   name: "IteratorFromStringHandle"
   22666   input_arg {
   22667     name: "string_handle"
   22668     type: DT_STRING
   22669   }
   22670   output_arg {
   22671     name: "resource_handle"
   22672     type: DT_RESOURCE
   22673   }
   22674   is_stateful: true
   22675 }
   22676 op {
   22677   name: "IteratorFromStringHandle"
   22678   input_arg {
   22679     name: "string_handle"
   22680     type: DT_STRING
   22681   }
   22682   output_arg {
   22683     name: "resource_handle"
   22684     type: DT_RESOURCE
   22685   }
   22686   attr {
   22687     name: "output_types"
   22688     type: "list(type)"
   22689     default_value {
   22690       list {
   22691       }
   22692     }
   22693     has_minimum: true
   22694   }
   22695   attr {
   22696     name: "output_shapes"
   22697     type: "list(shape)"
   22698     default_value {
   22699       list {
   22700       }
   22701     }
   22702     has_minimum: true
   22703   }
   22704   is_stateful: true
   22705 }
   22706 op {
   22707   name: "IteratorGetNext"
   22708   input_arg {
   22709     name: "iterator"
   22710     type: DT_RESOURCE
   22711   }
   22712   output_arg {
   22713     name: "components"
   22714     type_list_attr: "output_types"
   22715   }
   22716   attr {
   22717     name: "output_types"
   22718     type: "list(type)"
   22719     has_minimum: true
   22720     minimum: 1
   22721   }
   22722   attr {
   22723     name: "output_shapes"
   22724     type: "list(shape)"
   22725     has_minimum: true
   22726     minimum: 1
   22727   }
   22728   is_stateful: true
   22729 }
   22730 op {
   22731   name: "IteratorGetNextSync"
   22732   input_arg {
   22733     name: "iterator"
   22734     type: DT_RESOURCE
   22735   }
   22736   output_arg {
   22737     name: "components"
   22738     type_list_attr: "output_types"
   22739   }
   22740   attr {
   22741     name: "output_types"
   22742     type: "list(type)"
   22743     has_minimum: true
   22744     minimum: 1
   22745   }
   22746   attr {
   22747     name: "output_shapes"
   22748     type: "list(shape)"
   22749     has_minimum: true
   22750     minimum: 1
   22751   }
   22752   is_stateful: true
   22753 }
   22754 op {
   22755   name: "IteratorSetStatsAggregator"
   22756   input_arg {
   22757     name: "iterator_handle"
   22758     type: DT_RESOURCE
   22759   }
   22760   input_arg {
   22761     name: "stats_aggregator_handle"
   22762     type: DT_RESOURCE
   22763   }
   22764   is_stateful: true
   22765 }
   22766 op {
   22767   name: "IteratorToStringHandle"
   22768   input_arg {
   22769     name: "resource_handle"
   22770     type: DT_RESOURCE
   22771   }
   22772   output_arg {
   22773     name: "string_handle"
   22774     type: DT_STRING
   22775   }
   22776   is_stateful: true
   22777 }
   22778 op {
   22779   name: "L2Loss"
   22780   input_arg {
   22781     name: "t"
   22782     type_attr: "T"
   22783   }
   22784   output_arg {
   22785     name: "output"
   22786     type_attr: "T"
   22787   }
   22788   attr {
   22789     name: "T"
   22790     type: "type"
   22791     allowed_values {
   22792       list {
   22793         type: DT_FLOAT
   22794         type: DT_DOUBLE
   22795         type: DT_HALF
   22796       }
   22797     }
   22798   }
   22799 }
   22800 op {
   22801   name: "L2Loss"
   22802   input_arg {
   22803     name: "t"
   22804     type_attr: "T"
   22805   }
   22806   output_arg {
   22807     name: "output"
   22808     type_attr: "T"
   22809   }
   22810   attr {
   22811     name: "T"
   22812     type: "type"
   22813     allowed_values {
   22814       list {
   22815         type: DT_HALF
   22816         type: DT_FLOAT
   22817         type: DT_DOUBLE
   22818       }
   22819     }
   22820   }
   22821 }
   22822 op {
   22823   name: "L2Loss"
   22824   input_arg {
   22825     name: "t"
   22826     type_attr: "T"
   22827   }
   22828   output_arg {
   22829     name: "output"
   22830     type_attr: "T"
   22831   }
   22832   attr {
   22833     name: "T"
   22834     type: "type"
   22835     allowed_values {
   22836       list {
   22837         type: DT_HALF
   22838         type: DT_BFLOAT16
   22839         type: DT_FLOAT
   22840         type: DT_DOUBLE
   22841       }
   22842     }
   22843   }
   22844 }
   22845 op {
   22846   name: "LMDBReader"
   22847   output_arg {
   22848     name: "reader_handle"
   22849     type: DT_STRING
   22850     is_ref: true
   22851   }
   22852   attr {
   22853     name: "container"
   22854     type: "string"
   22855     default_value {
   22856       s: ""
   22857     }
   22858   }
   22859   attr {
   22860     name: "shared_name"
   22861     type: "string"
   22862     default_value {
   22863       s: ""
   22864     }
   22865   }
   22866   is_stateful: true
   22867 }
   22868 op {
   22869   name: "LRN"
   22870   input_arg {
   22871     name: "input"
   22872     type_attr: "T"
   22873   }
   22874   output_arg {
   22875     name: "output"
   22876     type_attr: "T"
   22877   }
   22878   attr {
   22879     name: "depth_radius"
   22880     type: "int"
   22881     default_value {
   22882       i: 5
   22883     }
   22884   }
   22885   attr {
   22886     name: "bias"
   22887     type: "float"
   22888     default_value {
   22889       f: 1
   22890     }
   22891   }
   22892   attr {
   22893     name: "alpha"
   22894     type: "float"
   22895     default_value {
   22896       f: 1
   22897     }
   22898   }
   22899   attr {
   22900     name: "beta"
   22901     type: "float"
   22902     default_value {
   22903       f: 0.5
   22904     }
   22905   }
   22906   attr {
   22907     name: "T"
   22908     type: "type"
   22909     default_value {
   22910       type: DT_FLOAT
   22911     }
   22912     allowed_values {
   22913       list {
   22914         type: DT_FLOAT
   22915         type: DT_HALF
   22916       }
   22917     }
   22918   }
   22919 }
   22920 op {
   22921   name: "LRN"
   22922   input_arg {
   22923     name: "input"
   22924     type_attr: "T"
   22925   }
   22926   output_arg {
   22927     name: "output"
   22928     type_attr: "T"
   22929   }
   22930   attr {
   22931     name: "depth_radius"
   22932     type: "int"
   22933     default_value {
   22934       i: 5
   22935     }
   22936   }
   22937   attr {
   22938     name: "bias"
   22939     type: "float"
   22940     default_value {
   22941       f: 1
   22942     }
   22943   }
   22944   attr {
   22945     name: "alpha"
   22946     type: "float"
   22947     default_value {
   22948       f: 1
   22949     }
   22950   }
   22951   attr {
   22952     name: "beta"
   22953     type: "float"
   22954     default_value {
   22955       f: 0.5
   22956     }
   22957   }
   22958   attr {
   22959     name: "T"
   22960     type: "type"
   22961     default_value {
   22962       type: DT_FLOAT
   22963     }
   22964     allowed_values {
   22965       list {
   22966         type: DT_HALF
   22967         type: DT_BFLOAT16
   22968         type: DT_FLOAT
   22969       }
   22970     }
   22971   }
   22972 }
   22973 op {
   22974   name: "LRNGrad"
   22975   input_arg {
   22976     name: "input_grads"
   22977     type_attr: "T"
   22978   }
   22979   input_arg {
   22980     name: "input_image"
   22981     type_attr: "T"
   22982   }
   22983   input_arg {
   22984     name: "output_image"
   22985     type_attr: "T"
   22986   }
   22987   output_arg {
   22988     name: "output"
   22989     type_attr: "T"
   22990   }
   22991   attr {
   22992     name: "depth_radius"
   22993     type: "int"
   22994     default_value {
   22995       i: 5
   22996     }
   22997   }
   22998   attr {
   22999     name: "bias"
   23000     type: "float"
   23001     default_value {
   23002       f: 1
   23003     }
   23004   }
   23005   attr {
   23006     name: "alpha"
   23007     type: "float"
   23008     default_value {
   23009       f: 1
   23010     }
   23011   }
   23012   attr {
   23013     name: "beta"
   23014     type: "float"
   23015     default_value {
   23016       f: 0.5
   23017     }
   23018   }
   23019   attr {
   23020     name: "T"
   23021     type: "type"
   23022     default_value {
   23023       type: DT_FLOAT
   23024     }
   23025     allowed_values {
   23026       list {
   23027         type: DT_FLOAT
   23028         type: DT_HALF
   23029       }
   23030     }
   23031   }
   23032 }
   23033 op {
   23034   name: "LRNGrad"
   23035   input_arg {
   23036     name: "input_grads"
   23037     type_attr: "T"
   23038   }
   23039   input_arg {
   23040     name: "input_image"
   23041     type_attr: "T"
   23042   }
   23043   input_arg {
   23044     name: "output_image"
   23045     type_attr: "T"
   23046   }
   23047   output_arg {
   23048     name: "output"
   23049     type_attr: "T"
   23050   }
   23051   attr {
   23052     name: "depth_radius"
   23053     type: "int"
   23054     default_value {
   23055       i: 5
   23056     }
   23057   }
   23058   attr {
   23059     name: "bias"
   23060     type: "float"
   23061     default_value {
   23062       f: 1
   23063     }
   23064   }
   23065   attr {
   23066     name: "alpha"
   23067     type: "float"
   23068     default_value {
   23069       f: 1
   23070     }
   23071   }
   23072   attr {
   23073     name: "beta"
   23074     type: "float"
   23075     default_value {
   23076       f: 0.5
   23077     }
   23078   }
   23079   attr {
   23080     name: "T"
   23081     type: "type"
   23082     default_value {
   23083       type: DT_FLOAT
   23084     }
   23085     allowed_values {
   23086       list {
   23087         type: DT_HALF
   23088         type: DT_BFLOAT16
   23089         type: DT_FLOAT
   23090       }
   23091     }
   23092   }
   23093 }
   23094 op {
   23095   name: "LatencyStatsDataset"
   23096   input_arg {
   23097     name: "input_dataset"
   23098     type: DT_VARIANT
   23099   }
   23100   input_arg {
   23101     name: "tag"
   23102     type: DT_STRING
   23103   }
   23104   output_arg {
   23105     name: "handle"
   23106     type: DT_VARIANT
   23107   }
   23108   attr {
   23109     name: "output_types"
   23110     type: "list(type)"
   23111     has_minimum: true
   23112     minimum: 1
   23113   }
   23114   attr {
   23115     name: "output_shapes"
   23116     type: "list(shape)"
   23117     has_minimum: true
   23118     minimum: 1
   23119   }
   23120 }
   23121 op {
   23122   name: "LearnedUnigramCandidateSampler"
   23123   input_arg {
   23124     name: "true_classes"
   23125     type: DT_INT64
   23126   }
   23127   output_arg {
   23128     name: "sampled_candidates"
   23129     type: DT_INT64
   23130   }
   23131   output_arg {
   23132     name: "true_expected_count"
   23133     type: DT_FLOAT
   23134   }
   23135   output_arg {
   23136     name: "sampled_expected_count"
   23137     type: DT_FLOAT
   23138   }
   23139   attr {
   23140     name: "num_true"
   23141     type: "int"
   23142     has_minimum: true
   23143     minimum: 1
   23144   }
   23145   attr {
   23146     name: "num_sampled"
   23147     type: "int"
   23148     has_minimum: true
   23149     minimum: 1
   23150   }
   23151   attr {
   23152     name: "unique"
   23153     type: "bool"
   23154   }
   23155   attr {
   23156     name: "range_max"
   23157     type: "int"
   23158     has_minimum: true
   23159     minimum: 1
   23160   }
   23161   attr {
   23162     name: "seed"
   23163     type: "int"
   23164     default_value {
   23165       i: 0
   23166     }
   23167   }
   23168   attr {
   23169     name: "seed2"
   23170     type: "int"
   23171     default_value {
   23172       i: 0
   23173     }
   23174   }
   23175 }
   23176 op {
   23177   name: "LearnedUnigramCandidateSampler"
   23178   input_arg {
   23179     name: "true_classes"
   23180     type: DT_INT64
   23181   }
   23182   output_arg {
   23183     name: "sampled_candidates"
   23184     type: DT_INT64
   23185   }
   23186   output_arg {
   23187     name: "true_expected_count"
   23188     type: DT_FLOAT
   23189   }
   23190   output_arg {
   23191     name: "sampled_expected_count"
   23192     type: DT_FLOAT
   23193   }
   23194   attr {
   23195     name: "num_true"
   23196     type: "int"
   23197     has_minimum: true
   23198     minimum: 1
   23199   }
   23200   attr {
   23201     name: "num_sampled"
   23202     type: "int"
   23203     has_minimum: true
   23204     minimum: 1
   23205   }
   23206   attr {
   23207     name: "unique"
   23208     type: "bool"
   23209   }
   23210   attr {
   23211     name: "range_max"
   23212     type: "int"
   23213     has_minimum: true
   23214     minimum: 1
   23215   }
   23216   attr {
   23217     name: "seed"
   23218     type: "int"
   23219     default_value {
   23220       i: 0
   23221     }
   23222   }
   23223   attr {
   23224     name: "seed2"
   23225     type: "int"
   23226     default_value {
   23227       i: 0
   23228     }
   23229   }
   23230   is_stateful: true
   23231 }
   23232 op {
   23233   name: "LeftShift"
   23234   input_arg {
   23235     name: "x"
   23236     type_attr: "T"
   23237   }
   23238   input_arg {
   23239     name: "y"
   23240     type_attr: "T"
   23241   }
   23242   output_arg {
   23243     name: "z"
   23244     type_attr: "T"
   23245   }
   23246   attr {
   23247     name: "T"
   23248     type: "type"
   23249     allowed_values {
   23250       list {
   23251         type: DT_INT8
   23252         type: DT_INT16
   23253         type: DT_INT32
   23254         type: DT_INT64
   23255         type: DT_UINT8
   23256         type: DT_UINT16
   23257         type: DT_UINT32
   23258         type: DT_UINT64
   23259       }
   23260     }
   23261   }
   23262   is_commutative: true
   23263 }
   23264 op {
   23265   name: "Less"
   23266   input_arg {
   23267     name: "x"
   23268     type_attr: "T"
   23269   }
   23270   input_arg {
   23271     name: "y"
   23272     type_attr: "T"
   23273   }
   23274   output_arg {
   23275     name: "z"
   23276     type: DT_BOOL
   23277   }
   23278   attr {
   23279     name: "T"
   23280     type: "type"
   23281     allowed_values {
   23282       list {
   23283         type: DT_FLOAT
   23284         type: DT_DOUBLE
   23285         type: DT_INT32
   23286         type: DT_INT64
   23287         type: DT_UINT8
   23288         type: DT_INT16
   23289         type: DT_INT8
   23290         type: DT_UINT16
   23291         type: DT_HALF
   23292       }
   23293     }
   23294   }
   23295 }
   23296 op {
   23297   name: "Less"
   23298   input_arg {
   23299     name: "x"
   23300     type_attr: "T"
   23301   }
   23302   input_arg {
   23303     name: "y"
   23304     type_attr: "T"
   23305   }
   23306   output_arg {
   23307     name: "z"
   23308     type: DT_BOOL
   23309   }
   23310   attr {
   23311     name: "T"
   23312     type: "type"
   23313     allowed_values {
   23314       list {
   23315         type: DT_FLOAT
   23316         type: DT_DOUBLE
   23317         type: DT_INT32
   23318         type: DT_INT64
   23319         type: DT_UINT8
   23320         type: DT_INT16
   23321         type: DT_INT8
   23322         type: DT_UINT16
   23323         type: DT_HALF
   23324         type: DT_UINT32
   23325         type: DT_UINT64
   23326       }
   23327     }
   23328   }
   23329 }
   23330 op {
   23331   name: "Less"
   23332   input_arg {
   23333     name: "x"
   23334     type_attr: "T"
   23335   }
   23336   input_arg {
   23337     name: "y"
   23338     type_attr: "T"
   23339   }
   23340   output_arg {
   23341     name: "z"
   23342     type: DT_BOOL
   23343   }
   23344   attr {
   23345     name: "T"
   23346     type: "type"
   23347     allowed_values {
   23348       list {
   23349         type: DT_FLOAT
   23350         type: DT_DOUBLE
   23351         type: DT_INT32
   23352         type: DT_INT64
   23353         type: DT_UINT8
   23354         type: DT_INT16
   23355         type: DT_INT8
   23356         type: DT_UINT16
   23357         type: DT_HALF
   23358         type: DT_UINT32
   23359         type: DT_UINT64
   23360         type: DT_BFLOAT16
   23361       }
   23362     }
   23363   }
   23364 }
   23365 op {
   23366   name: "Less"
   23367   input_arg {
   23368     name: "x"
   23369     type_attr: "T"
   23370   }
   23371   input_arg {
   23372     name: "y"
   23373     type_attr: "T"
   23374   }
   23375   output_arg {
   23376     name: "z"
   23377     type: DT_BOOL
   23378   }
   23379   attr {
   23380     name: "T"
   23381     type: "type"
   23382     allowed_values {
   23383       list {
   23384         type: DT_FLOAT
   23385         type: DT_DOUBLE
   23386         type: DT_INT32
   23387         type: DT_UINT8
   23388         type: DT_INT16
   23389         type: DT_INT8
   23390         type: DT_INT64
   23391         type: DT_BFLOAT16
   23392         type: DT_UINT16
   23393         type: DT_HALF
   23394         type: DT_UINT32
   23395         type: DT_UINT64
   23396       }
   23397     }
   23398   }
   23399 }
   23400 op {
   23401   name: "LessEqual"
   23402   input_arg {
   23403     name: "x"
   23404     type_attr: "T"
   23405   }
   23406   input_arg {
   23407     name: "y"
   23408     type_attr: "T"
   23409   }
   23410   output_arg {
   23411     name: "z"
   23412     type: DT_BOOL
   23413   }
   23414   attr {
   23415     name: "T"
   23416     type: "type"
   23417     allowed_values {
   23418       list {
   23419         type: DT_FLOAT
   23420         type: DT_DOUBLE
   23421         type: DT_INT32
   23422         type: DT_INT64
   23423         type: DT_UINT8
   23424         type: DT_INT16
   23425         type: DT_INT8
   23426         type: DT_UINT16
   23427         type: DT_HALF
   23428       }
   23429     }
   23430   }
   23431 }
   23432 op {
   23433   name: "LessEqual"
   23434   input_arg {
   23435     name: "x"
   23436     type_attr: "T"
   23437   }
   23438   input_arg {
   23439     name: "y"
   23440     type_attr: "T"
   23441   }
   23442   output_arg {
   23443     name: "z"
   23444     type: DT_BOOL
   23445   }
   23446   attr {
   23447     name: "T"
   23448     type: "type"
   23449     allowed_values {
   23450       list {
   23451         type: DT_FLOAT
   23452         type: DT_DOUBLE
   23453         type: DT_INT32
   23454         type: DT_INT64
   23455         type: DT_UINT8
   23456         type: DT_INT16
   23457         type: DT_INT8
   23458         type: DT_UINT16
   23459         type: DT_HALF
   23460         type: DT_UINT32
   23461         type: DT_UINT64
   23462       }
   23463     }
   23464   }
   23465 }
   23466 op {
   23467   name: "LessEqual"
   23468   input_arg {
   23469     name: "x"
   23470     type_attr: "T"
   23471   }
   23472   input_arg {
   23473     name: "y"
   23474     type_attr: "T"
   23475   }
   23476   output_arg {
   23477     name: "z"
   23478     type: DT_BOOL
   23479   }
   23480   attr {
   23481     name: "T"
   23482     type: "type"
   23483     allowed_values {
   23484       list {
   23485         type: DT_FLOAT
   23486         type: DT_DOUBLE
   23487         type: DT_INT32
   23488         type: DT_INT64
   23489         type: DT_UINT8
   23490         type: DT_INT16
   23491         type: DT_INT8
   23492         type: DT_UINT16
   23493         type: DT_HALF
   23494         type: DT_UINT32
   23495         type: DT_UINT64
   23496         type: DT_BFLOAT16
   23497       }
   23498     }
   23499   }
   23500 }
   23501 op {
   23502   name: "LessEqual"
   23503   input_arg {
   23504     name: "x"
   23505     type_attr: "T"
   23506   }
   23507   input_arg {
   23508     name: "y"
   23509     type_attr: "T"
   23510   }
   23511   output_arg {
   23512     name: "z"
   23513     type: DT_BOOL
   23514   }
   23515   attr {
   23516     name: "T"
   23517     type: "type"
   23518     allowed_values {
   23519       list {
   23520         type: DT_FLOAT
   23521         type: DT_DOUBLE
   23522         type: DT_INT32
   23523         type: DT_UINT8
   23524         type: DT_INT16
   23525         type: DT_INT8
   23526         type: DT_INT64
   23527         type: DT_BFLOAT16
   23528         type: DT_UINT16
   23529         type: DT_HALF
   23530         type: DT_UINT32
   23531         type: DT_UINT64
   23532       }
   23533     }
   23534   }
   23535 }
   23536 op {
   23537   name: "Lgamma"
   23538   input_arg {
   23539     name: "x"
   23540     type_attr: "T"
   23541   }
   23542   output_arg {
   23543     name: "y"
   23544     type_attr: "T"
   23545   }
   23546   attr {
   23547     name: "T"
   23548     type: "type"
   23549     allowed_values {
   23550       list {
   23551         type: DT_HALF
   23552         type: DT_FLOAT
   23553         type: DT_DOUBLE
   23554       }
   23555     }
   23556   }
   23557 }
   23558 op {
   23559   name: "Lgamma"
   23560   input_arg {
   23561     name: "x"
   23562     type_attr: "T"
   23563   }
   23564   output_arg {
   23565     name: "y"
   23566     type_attr: "T"
   23567   }
   23568   attr {
   23569     name: "T"
   23570     type: "type"
   23571     allowed_values {
   23572       list {
   23573         type: DT_HALF
   23574         type: DT_BFLOAT16
   23575         type: DT_FLOAT
   23576         type: DT_DOUBLE
   23577       }
   23578     }
   23579   }
   23580 }
   23581 op {
   23582   name: "LinSpace"
   23583   input_arg {
   23584     name: "start"
   23585     type_attr: "T"
   23586   }
   23587   input_arg {
   23588     name: "stop"
   23589     type_attr: "T"
   23590   }
   23591   input_arg {
   23592     name: "num"
   23593     type_attr: "Tidx"
   23594   }
   23595   output_arg {
   23596     name: "output"
   23597     type_attr: "T"
   23598   }
   23599   attr {
   23600     name: "T"
   23601     type: "type"
   23602     allowed_values {
   23603       list {
   23604         type: DT_FLOAT
   23605         type: DT_DOUBLE
   23606       }
   23607     }
   23608   }
   23609   attr {
   23610     name: "Tidx"
   23611     type: "type"
   23612     default_value {
   23613       type: DT_INT32
   23614     }
   23615     allowed_values {
   23616       list {
   23617         type: DT_INT32
   23618         type: DT_INT64
   23619       }
   23620     }
   23621   }
   23622 }
   23623 op {
   23624   name: "LinSpace"
   23625   input_arg {
   23626     name: "start"
   23627     type_attr: "T"
   23628   }
   23629   input_arg {
   23630     name: "stop"
   23631     type_attr: "T"
   23632   }
   23633   input_arg {
   23634     name: "num"
   23635     type_attr: "Tidx"
   23636   }
   23637   output_arg {
   23638     name: "output"
   23639     type_attr: "T"
   23640   }
   23641   attr {
   23642     name: "T"
   23643     type: "type"
   23644     allowed_values {
   23645       list {
   23646         type: DT_BFLOAT16
   23647         type: DT_FLOAT
   23648         type: DT_DOUBLE
   23649       }
   23650     }
   23651   }
   23652   attr {
   23653     name: "Tidx"
   23654     type: "type"
   23655     default_value {
   23656       type: DT_INT32
   23657     }
   23658     allowed_values {
   23659       list {
   23660         type: DT_INT32
   23661         type: DT_INT64
   23662       }
   23663     }
   23664   }
   23665 }
   23666 op {
   23667   name: "ListDiff"
   23668   input_arg {
   23669     name: "x"
   23670     type_attr: "T"
   23671   }
   23672   input_arg {
   23673     name: "y"
   23674     type_attr: "T"
   23675   }
   23676   output_arg {
   23677     name: "out"
   23678     type_attr: "T"
   23679   }
   23680   output_arg {
   23681     name: "idx"
   23682     type_attr: "out_idx"
   23683   }
   23684   attr {
   23685     name: "T"
   23686     type: "type"
   23687   }
   23688   attr {
   23689     name: "out_idx"
   23690     type: "type"
   23691     default_value {
   23692       type: DT_INT32
   23693     }
   23694     allowed_values {
   23695       list {
   23696         type: DT_INT32
   23697         type: DT_INT64
   23698       }
   23699     }
   23700   }
   23701 }
   23702 op {
   23703   name: "LoadAndRemapMatrix"
   23704   input_arg {
   23705     name: "ckpt_path"
   23706     type: DT_STRING
   23707   }
   23708   input_arg {
   23709     name: "old_tensor_name"
   23710     type: DT_STRING
   23711   }
   23712   input_arg {
   23713     name: "row_remapping"
   23714     type: DT_INT64
   23715   }
   23716   input_arg {
   23717     name: "col_remapping"
   23718     type: DT_INT64
   23719   }
   23720   input_arg {
   23721     name: "initializing_values"
   23722     type: DT_FLOAT
   23723   }
   23724   output_arg {
   23725     name: "output_matrix"
   23726     type: DT_FLOAT
   23727   }
   23728   attr {
   23729     name: "num_rows"
   23730     type: "int"
   23731     has_minimum: true
   23732   }
   23733   attr {
   23734     name: "num_cols"
   23735     type: "int"
   23736     has_minimum: true
   23737     minimum: 1
   23738   }
   23739   attr {
   23740     name: "max_rows_in_memory"
   23741     type: "int"
   23742     default_value {
   23743       i: -1
   23744     }
   23745   }
   23746   is_stateful: true
   23747 }
   23748 op {
   23749   name: "Log"
   23750   input_arg {
   23751     name: "x"
   23752     type_attr: "T"
   23753   }
   23754   output_arg {
   23755     name: "y"
   23756     type_attr: "T"
   23757   }
   23758   attr {
   23759     name: "T"
   23760     type: "type"
   23761     allowed_values {
   23762       list {
   23763         type: DT_HALF
   23764         type: DT_FLOAT
   23765         type: DT_DOUBLE
   23766         type: DT_COMPLEX64
   23767         type: DT_COMPLEX128
   23768       }
   23769     }
   23770   }
   23771 }
   23772 op {
   23773   name: "Log"
   23774   input_arg {
   23775     name: "x"
   23776     type_attr: "T"
   23777   }
   23778   output_arg {
   23779     name: "y"
   23780     type_attr: "T"
   23781   }
   23782   attr {
   23783     name: "T"
   23784     type: "type"
   23785     allowed_values {
   23786       list {
   23787         type: DT_HALF
   23788         type: DT_BFLOAT16
   23789         type: DT_FLOAT
   23790         type: DT_DOUBLE
   23791         type: DT_COMPLEX64
   23792         type: DT_COMPLEX128
   23793       }
   23794     }
   23795   }
   23796 }
   23797 op {
   23798   name: "Log1p"
   23799   input_arg {
   23800     name: "x"
   23801     type_attr: "T"
   23802   }
   23803   output_arg {
   23804     name: "y"
   23805     type_attr: "T"
   23806   }
   23807   attr {
   23808     name: "T"
   23809     type: "type"
   23810     allowed_values {
   23811       list {
   23812         type: DT_HALF
   23813         type: DT_FLOAT
   23814         type: DT_DOUBLE
   23815         type: DT_COMPLEX64
   23816         type: DT_COMPLEX128
   23817       }
   23818     }
   23819   }
   23820 }
   23821 op {
   23822   name: "Log1p"
   23823   input_arg {
   23824     name: "x"
   23825     type_attr: "T"
   23826   }
   23827   output_arg {
   23828     name: "y"
   23829     type_attr: "T"
   23830   }
   23831   attr {
   23832     name: "T"
   23833     type: "type"
   23834     allowed_values {
   23835       list {
   23836         type: DT_HALF
   23837         type: DT_BFLOAT16
   23838         type: DT_FLOAT
   23839         type: DT_DOUBLE
   23840         type: DT_COMPLEX64
   23841         type: DT_COMPLEX128
   23842       }
   23843     }
   23844   }
   23845 }
   23846 op {
   23847   name: "LogMatrixDeterminant"
   23848   input_arg {
   23849     name: "input"
   23850     type_attr: "T"
   23851   }
   23852   output_arg {
   23853     name: "sign"
   23854     type_attr: "T"
   23855   }
   23856   output_arg {
   23857     name: "log_abs_determinant"
   23858     type_attr: "T"
   23859   }
   23860   attr {
   23861     name: "T"
   23862     type: "type"
   23863     allowed_values {
   23864       list {
   23865         type: DT_FLOAT
   23866         type: DT_DOUBLE
   23867         type: DT_COMPLEX64
   23868         type: DT_COMPLEX128
   23869       }
   23870     }
   23871   }
   23872 }
   23873 op {
   23874   name: "LogSoftmax"
   23875   input_arg {
   23876     name: "logits"
   23877     type_attr: "T"
   23878   }
   23879   output_arg {
   23880     name: "logsoftmax"
   23881     type_attr: "T"
   23882   }
   23883   attr {
   23884     name: "T"
   23885     type: "type"
   23886     allowed_values {
   23887       list {
   23888         type: DT_HALF
   23889         type: DT_FLOAT
   23890         type: DT_DOUBLE
   23891       }
   23892     }
   23893   }
   23894 }
   23895 op {
   23896   name: "LogSoftmax"
   23897   input_arg {
   23898     name: "logits"
   23899     type_attr: "T"
   23900   }
   23901   output_arg {
   23902     name: "logsoftmax"
   23903     type_attr: "T"
   23904   }
   23905   attr {
   23906     name: "T"
   23907     type: "type"
   23908     allowed_values {
   23909       list {
   23910         type: DT_HALF
   23911         type: DT_BFLOAT16
   23912         type: DT_FLOAT
   23913         type: DT_DOUBLE
   23914       }
   23915     }
   23916   }
   23917 }
   23918 op {
   23919   name: "LogUniformCandidateSampler"
   23920   input_arg {
   23921     name: "true_classes"
   23922     type: DT_INT64
   23923   }
   23924   output_arg {
   23925     name: "sampled_candidates"
   23926     type: DT_INT64
   23927   }
   23928   output_arg {
   23929     name: "true_expected_count"
   23930     type: DT_FLOAT
   23931   }
   23932   output_arg {
   23933     name: "sampled_expected_count"
   23934     type: DT_FLOAT
   23935   }
   23936   attr {
   23937     name: "num_true"
   23938     type: "int"
   23939     has_minimum: true
   23940     minimum: 1
   23941   }
   23942   attr {
   23943     name: "num_sampled"
   23944     type: "int"
   23945     has_minimum: true
   23946     minimum: 1
   23947   }
   23948   attr {
   23949     name: "unique"
   23950     type: "bool"
   23951   }
   23952   attr {
   23953     name: "range_max"
   23954     type: "int"
   23955     has_minimum: true
   23956     minimum: 1
   23957   }
   23958   attr {
   23959     name: "seed"
   23960     type: "int"
   23961     default_value {
   23962       i: 0
   23963     }
   23964   }
   23965   attr {
   23966     name: "seed2"
   23967     type: "int"
   23968     default_value {
   23969       i: 0
   23970     }
   23971   }
   23972 }
   23973 op {
   23974   name: "LogUniformCandidateSampler"
   23975   input_arg {
   23976     name: "true_classes"
   23977     type: DT_INT64
   23978   }
   23979   output_arg {
   23980     name: "sampled_candidates"
   23981     type: DT_INT64
   23982   }
   23983   output_arg {
   23984     name: "true_expected_count"
   23985     type: DT_FLOAT
   23986   }
   23987   output_arg {
   23988     name: "sampled_expected_count"
   23989     type: DT_FLOAT
   23990   }
   23991   attr {
   23992     name: "num_true"
   23993     type: "int"
   23994     has_minimum: true
   23995     minimum: 1
   23996   }
   23997   attr {
   23998     name: "num_sampled"
   23999     type: "int"
   24000     has_minimum: true
   24001     minimum: 1
   24002   }
   24003   attr {
   24004     name: "unique"
   24005     type: "bool"
   24006   }
   24007   attr {
   24008     name: "range_max"
   24009     type: "int"
   24010     has_minimum: true
   24011     minimum: 1
   24012   }
   24013   attr {
   24014     name: "seed"
   24015     type: "int"
   24016     default_value {
   24017       i: 0
   24018     }
   24019   }
   24020   attr {
   24021     name: "seed2"
   24022     type: "int"
   24023     default_value {
   24024       i: 0
   24025     }
   24026   }
   24027   is_stateful: true
   24028 }
   24029 op {
   24030   name: "LogicalAnd"
   24031   input_arg {
   24032     name: "x"
   24033     type: DT_BOOL
   24034   }
   24035   input_arg {
   24036     name: "y"
   24037     type: DT_BOOL
   24038   }
   24039   output_arg {
   24040     name: "z"
   24041     type: DT_BOOL
   24042   }
   24043   is_commutative: true
   24044 }
   24045 op {
   24046   name: "LogicalNot"
   24047   input_arg {
   24048     name: "x"
   24049     type: DT_BOOL
   24050   }
   24051   output_arg {
   24052     name: "y"
   24053     type: DT_BOOL
   24054   }
   24055 }
   24056 op {
   24057   name: "LogicalOr"
   24058   input_arg {
   24059     name: "x"
   24060     type: DT_BOOL
   24061   }
   24062   input_arg {
   24063     name: "y"
   24064     type: DT_BOOL
   24065   }
   24066   output_arg {
   24067     name: "z"
   24068     type: DT_BOOL
   24069   }
   24070   is_commutative: true
   24071 }
   24072 op {
   24073   name: "LookupTableExport"
   24074   input_arg {
   24075     name: "table_handle"
   24076     type: DT_STRING
   24077     is_ref: true
   24078   }
   24079   output_arg {
   24080     name: "keys"
   24081     type_attr: "Tkeys"
   24082   }
   24083   output_arg {
   24084     name: "values"
   24085     type_attr: "Tvalues"
   24086   }
   24087   attr {
   24088     name: "Tkeys"
   24089     type: "type"
   24090   }
   24091   attr {
   24092     name: "Tvalues"
   24093     type: "type"
   24094   }
   24095 }
   24096 op {
   24097   name: "LookupTableExportV2"
   24098   input_arg {
   24099     name: "table_handle"
   24100     type: DT_RESOURCE
   24101   }
   24102   output_arg {
   24103     name: "keys"
   24104     type_attr: "Tkeys"
   24105   }
   24106   output_arg {
   24107     name: "values"
   24108     type_attr: "Tvalues"
   24109   }
   24110   attr {
   24111     name: "Tkeys"
   24112     type: "type"
   24113   }
   24114   attr {
   24115     name: "Tvalues"
   24116     type: "type"
   24117   }
   24118   is_stateful: true
   24119 }
   24120 op {
   24121   name: "LookupTableFind"
   24122   input_arg {
   24123     name: "table_handle"
   24124     type: DT_STRING
   24125     is_ref: true
   24126   }
   24127   input_arg {
   24128     name: "keys"
   24129     type_attr: "Tin"
   24130   }
   24131   input_arg {
   24132     name: "default_value"
   24133     type_attr: "Tout"
   24134   }
   24135   output_arg {
   24136     name: "values"
   24137     type_attr: "Tout"
   24138   }
   24139   attr {
   24140     name: "Tin"
   24141     type: "type"
   24142   }
   24143   attr {
   24144     name: "Tout"
   24145     type: "type"
   24146   }
   24147 }
   24148 op {
   24149   name: "LookupTableFindV2"
   24150   input_arg {
   24151     name: "table_handle"
   24152     type: DT_RESOURCE
   24153   }
   24154   input_arg {
   24155     name: "keys"
   24156     type_attr: "Tin"
   24157   }
   24158   input_arg {
   24159     name: "default_value"
   24160     type_attr: "Tout"
   24161   }
   24162   output_arg {
   24163     name: "values"
   24164     type_attr: "Tout"
   24165   }
   24166   attr {
   24167     name: "Tin"
   24168     type: "type"
   24169   }
   24170   attr {
   24171     name: "Tout"
   24172     type: "type"
   24173   }
   24174   is_stateful: true
   24175 }
   24176 op {
   24177   name: "LookupTableImport"
   24178   input_arg {
   24179     name: "table_handle"
   24180     type: DT_STRING
   24181     is_ref: true
   24182   }
   24183   input_arg {
   24184     name: "keys"
   24185     type_attr: "Tin"
   24186   }
   24187   input_arg {
   24188     name: "values"
   24189     type_attr: "Tout"
   24190   }
   24191   attr {
   24192     name: "Tin"
   24193     type: "type"
   24194   }
   24195   attr {
   24196     name: "Tout"
   24197     type: "type"
   24198   }
   24199 }
   24200 op {
   24201   name: "LookupTableImportV2"
   24202   input_arg {
   24203     name: "table_handle"
   24204     type: DT_RESOURCE
   24205   }
   24206   input_arg {
   24207     name: "keys"
   24208     type_attr: "Tin"
   24209   }
   24210   input_arg {
   24211     name: "values"
   24212     type_attr: "Tout"
   24213   }
   24214   attr {
   24215     name: "Tin"
   24216     type: "type"
   24217   }
   24218   attr {
   24219     name: "Tout"
   24220     type: "type"
   24221   }
   24222   is_stateful: true
   24223 }
   24224 op {
   24225   name: "LookupTableInsert"
   24226   input_arg {
   24227     name: "table_handle"
   24228     type: DT_STRING
   24229     is_ref: true
   24230   }
   24231   input_arg {
   24232     name: "keys"
   24233     type_attr: "Tin"
   24234   }
   24235   input_arg {
   24236     name: "values"
   24237     type_attr: "Tout"
   24238   }
   24239   attr {
   24240     name: "Tin"
   24241     type: "type"
   24242   }
   24243   attr {
   24244     name: "Tout"
   24245     type: "type"
   24246   }
   24247 }
   24248 op {
   24249   name: "LookupTableInsertV2"
   24250   input_arg {
   24251     name: "table_handle"
   24252     type: DT_RESOURCE
   24253   }
   24254   input_arg {
   24255     name: "keys"
   24256     type_attr: "Tin"
   24257   }
   24258   input_arg {
   24259     name: "values"
   24260     type_attr: "Tout"
   24261   }
   24262   attr {
   24263     name: "Tin"
   24264     type: "type"
   24265   }
   24266   attr {
   24267     name: "Tout"
   24268     type: "type"
   24269   }
   24270   is_stateful: true
   24271 }
   24272 op {
   24273   name: "LookupTableSize"
   24274   input_arg {
   24275     name: "table_handle"
   24276     type: DT_STRING
   24277     is_ref: true
   24278   }
   24279   output_arg {
   24280     name: "size"
   24281     type: DT_INT64
   24282   }
   24283 }
   24284 op {
   24285   name: "LookupTableSizeV2"
   24286   input_arg {
   24287     name: "table_handle"
   24288     type: DT_RESOURCE
   24289   }
   24290   output_arg {
   24291     name: "size"
   24292     type: DT_INT64
   24293   }
   24294   is_stateful: true
   24295 }
   24296 op {
   24297   name: "LoopCond"
   24298   input_arg {
   24299     name: "input"
   24300     type: DT_BOOL
   24301   }
   24302   output_arg {
   24303     name: "output"
   24304     type: DT_BOOL
   24305   }
   24306 }
   24307 op {
   24308   name: "MakeIterator"
   24309   input_arg {
   24310     name: "dataset"
   24311     type: DT_VARIANT
   24312   }
   24313   input_arg {
   24314     name: "iterator"
   24315     type: DT_RESOURCE
   24316   }
   24317   is_stateful: true
   24318 }
   24319 op {
   24320   name: "MapAndBatchDataset"
   24321   input_arg {
   24322     name: "input_dataset"
   24323     type: DT_VARIANT
   24324   }
   24325   input_arg {
   24326     name: "other_arguments"
   24327     type_list_attr: "Targuments"
   24328   }
   24329   input_arg {
   24330     name: "batch_size"
   24331     type: DT_INT64
   24332   }
   24333   input_arg {
   24334     name: "num_parallel_batches"
   24335     type: DT_INT64
   24336   }
   24337   output_arg {
   24338     name: "handle"
   24339     type: DT_VARIANT
   24340   }
   24341   attr {
   24342     name: "f"
   24343     type: "func"
   24344   }
   24345   attr {
   24346     name: "Targuments"
   24347     type: "list(type)"
   24348     has_minimum: true
   24349   }
   24350   attr {
   24351     name: "output_types"
   24352     type: "list(type)"
   24353     has_minimum: true
   24354     minimum: 1
   24355   }
   24356   attr {
   24357     name: "output_shapes"
   24358     type: "list(shape)"
   24359     has_minimum: true
   24360     minimum: 1
   24361   }
   24362 }
   24363 op {
   24364   name: "MapClear"
   24365   attr {
   24366     name: "capacity"
   24367     type: "int"
   24368     default_value {
   24369       i: 0
   24370     }
   24371     has_minimum: true
   24372   }
   24373   attr {
   24374     name: "memory_limit"
   24375     type: "int"
   24376     default_value {
   24377       i: 0
   24378     }
   24379     has_minimum: true
   24380   }
   24381   attr {
   24382     name: "dtypes"
   24383     type: "list(type)"
   24384   }
   24385   attr {
   24386     name: "container"
   24387     type: "string"
   24388     default_value {
   24389       s: ""
   24390     }
   24391   }
   24392   attr {
   24393     name: "shared_name"
   24394     type: "string"
   24395     default_value {
   24396       s: ""
   24397     }
   24398   }
   24399   is_stateful: true
   24400 }
   24401 op {
   24402   name: "MapDataset"
   24403   input_arg {
   24404     name: "input_dataset"
   24405     type: DT_VARIANT
   24406   }
   24407   input_arg {
   24408     name: "other_arguments"
   24409     type_list_attr: "Targuments"
   24410   }
   24411   output_arg {
   24412     name: "handle"
   24413     type: DT_VARIANT
   24414   }
   24415   attr {
   24416     name: "f"
   24417     type: "func"
   24418   }
   24419   attr {
   24420     name: "Targuments"
   24421     type: "list(type)"
   24422     has_minimum: true
   24423   }
   24424   attr {
   24425     name: "output_types"
   24426     type: "list(type)"
   24427     has_minimum: true
   24428     minimum: 1
   24429   }
   24430   attr {
   24431     name: "output_shapes"
   24432     type: "list(shape)"
   24433     has_minimum: true
   24434     minimum: 1
   24435   }
   24436   is_stateful: true
   24437 }
   24438 op {
   24439   name: "MapDataset"
   24440   input_arg {
   24441     name: "input_dataset"
   24442     type: DT_VARIANT
   24443   }
   24444   input_arg {
   24445     name: "other_arguments"
   24446     type_list_attr: "Targuments"
   24447   }
   24448   output_arg {
   24449     name: "handle"
   24450     type: DT_VARIANT
   24451   }
   24452   attr {
   24453     name: "f"
   24454     type: "func"
   24455   }
   24456   attr {
   24457     name: "Targuments"
   24458     type: "list(type)"
   24459     has_minimum: true
   24460   }
   24461   attr {
   24462     name: "output_types"
   24463     type: "list(type)"
   24464     has_minimum: true
   24465     minimum: 1
   24466   }
   24467   attr {
   24468     name: "output_shapes"
   24469     type: "list(shape)"
   24470     has_minimum: true
   24471     minimum: 1
   24472   }
   24473 }
   24474 op {
   24475   name: "MapIncompleteSize"
   24476   output_arg {
   24477     name: "size"
   24478     type: DT_INT32
   24479   }
   24480   attr {
   24481     name: "capacity"
   24482     type: "int"
   24483     default_value {
   24484       i: 0
   24485     }
   24486     has_minimum: true
   24487   }
   24488   attr {
   24489     name: "memory_limit"
   24490     type: "int"
   24491     default_value {
   24492       i: 0
   24493     }
   24494     has_minimum: true
   24495   }
   24496   attr {
   24497     name: "dtypes"
   24498     type: "list(type)"
   24499   }
   24500   attr {
   24501     name: "container"
   24502     type: "string"
   24503     default_value {
   24504       s: ""
   24505     }
   24506   }
   24507   attr {
   24508     name: "shared_name"
   24509     type: "string"
   24510     default_value {
   24511       s: ""
   24512     }
   24513   }
   24514   is_stateful: true
   24515 }
   24516 op {
   24517   name: "MapPeek"
   24518   input_arg {
   24519     name: "key"
   24520     type: DT_INT64
   24521   }
   24522   input_arg {
   24523     name: "indices"
   24524     type: DT_INT32
   24525   }
   24526   output_arg {
   24527     name: "values"
   24528     type_list_attr: "dtypes"
   24529   }
   24530   attr {
   24531     name: "capacity"
   24532     type: "int"
   24533     default_value {
   24534       i: 0
   24535     }
   24536     has_minimum: true
   24537   }
   24538   attr {
   24539     name: "memory_limit"
   24540     type: "int"
   24541     default_value {
   24542       i: 0
   24543     }
   24544     has_minimum: true
   24545   }
   24546   attr {
   24547     name: "dtypes"
   24548     type: "list(type)"
   24549     has_minimum: true
   24550     minimum: 1
   24551   }
   24552   attr {
   24553     name: "container"
   24554     type: "string"
   24555     default_value {
   24556       s: ""
   24557     }
   24558   }
   24559   attr {
   24560     name: "shared_name"
   24561     type: "string"
   24562     default_value {
   24563       s: ""
   24564     }
   24565   }
   24566   is_stateful: true
   24567 }
   24568 op {
   24569   name: "MapSize"
   24570   output_arg {
   24571     name: "size"
   24572     type: DT_INT32
   24573   }
   24574   attr {
   24575     name: "capacity"
   24576     type: "int"
   24577     default_value {
   24578       i: 0
   24579     }
   24580     has_minimum: true
   24581   }
   24582   attr {
   24583     name: "memory_limit"
   24584     type: "int"
   24585     default_value {
   24586       i: 0
   24587     }
   24588     has_minimum: true
   24589   }
   24590   attr {
   24591     name: "dtypes"
   24592     type: "list(type)"
   24593   }
   24594   attr {
   24595     name: "container"
   24596     type: "string"
   24597     default_value {
   24598       s: ""
   24599     }
   24600   }
   24601   attr {
   24602     name: "shared_name"
   24603     type: "string"
   24604     default_value {
   24605       s: ""
   24606     }
   24607   }
   24608   is_stateful: true
   24609 }
   24610 op {
   24611   name: "MapStage"
   24612   input_arg {
   24613     name: "key"
   24614     type: DT_INT64
   24615   }
   24616   input_arg {
   24617     name: "indices"
   24618     type: DT_INT32
   24619   }
   24620   input_arg {
   24621     name: "values"
   24622     type_list_attr: "fake_dtypes"
   24623   }
   24624   attr {
   24625     name: "capacity"
   24626     type: "int"
   24627     default_value {
   24628       i: 0
   24629     }
   24630     has_minimum: true
   24631   }
   24632   attr {
   24633     name: "memory_limit"
   24634     type: "int"
   24635     default_value {
   24636       i: 0
   24637     }
   24638     has_minimum: true
   24639   }
   24640   attr {
   24641     name: "dtypes"
   24642     type: "list(type)"
   24643   }
   24644   attr {
   24645     name: "fake_dtypes"
   24646     type: "list(type)"
   24647     has_minimum: true
   24648     minimum: 1
   24649   }
   24650   attr {
   24651     name: "container"
   24652     type: "string"
   24653     default_value {
   24654       s: ""
   24655     }
   24656   }
   24657   attr {
   24658     name: "shared_name"
   24659     type: "string"
   24660     default_value {
   24661       s: ""
   24662     }
   24663   }
   24664   is_stateful: true
   24665 }
   24666 op {
   24667   name: "MapUnstage"
   24668   input_arg {
   24669     name: "key"
   24670     type: DT_INT64
   24671   }
   24672   input_arg {
   24673     name: "indices"
   24674     type: DT_INT32
   24675   }
   24676   output_arg {
   24677     name: "values"
   24678     type_list_attr: "dtypes"
   24679   }
   24680   attr {
   24681     name: "capacity"
   24682     type: "int"
   24683     default_value {
   24684       i: 0
   24685     }
   24686     has_minimum: true
   24687   }
   24688   attr {
   24689     name: "memory_limit"
   24690     type: "int"
   24691     default_value {
   24692       i: 0
   24693     }
   24694     has_minimum: true
   24695   }
   24696   attr {
   24697     name: "dtypes"
   24698     type: "list(type)"
   24699     has_minimum: true
   24700     minimum: 1
   24701   }
   24702   attr {
   24703     name: "container"
   24704     type: "string"
   24705     default_value {
   24706       s: ""
   24707     }
   24708   }
   24709   attr {
   24710     name: "shared_name"
   24711     type: "string"
   24712     default_value {
   24713       s: ""
   24714     }
   24715   }
   24716   is_stateful: true
   24717 }
   24718 op {
   24719   name: "MapUnstageNoKey"
   24720   input_arg {
   24721     name: "indices"
   24722     type: DT_INT32
   24723   }
   24724   output_arg {
   24725     name: "key"
   24726     type: DT_INT64
   24727   }
   24728   output_arg {
   24729     name: "values"
   24730     type_list_attr: "dtypes"
   24731   }
   24732   attr {
   24733     name: "capacity"
   24734     type: "int"
   24735     default_value {
   24736       i: 0
   24737     }
   24738     has_minimum: true
   24739   }
   24740   attr {
   24741     name: "memory_limit"
   24742     type: "int"
   24743     default_value {
   24744       i: 0
   24745     }
   24746     has_minimum: true
   24747   }
   24748   attr {
   24749     name: "dtypes"
   24750     type: "list(type)"
   24751     has_minimum: true
   24752     minimum: 1
   24753   }
   24754   attr {
   24755     name: "container"
   24756     type: "string"
   24757     default_value {
   24758       s: ""
   24759     }
   24760   }
   24761   attr {
   24762     name: "shared_name"
   24763     type: "string"
   24764     default_value {
   24765       s: ""
   24766     }
   24767   }
   24768   is_stateful: true
   24769 }
   24770 op {
   24771   name: "MatMul"
   24772   input_arg {
   24773     name: "a"
   24774     type_attr: "T"
   24775   }
   24776   input_arg {
   24777     name: "b"
   24778     type_attr: "T"
   24779   }
   24780   output_arg {
   24781     name: "product"
   24782     type_attr: "T"
   24783   }
   24784   attr {
   24785     name: "transpose_a"
   24786     type: "bool"
   24787     default_value {
   24788       b: false
   24789     }
   24790   }
   24791   attr {
   24792     name: "transpose_b"
   24793     type: "bool"
   24794     default_value {
   24795       b: false
   24796     }
   24797   }
   24798   attr {
   24799     name: "T"
   24800     type: "type"
   24801     allowed_values {
   24802       list {
   24803         type: DT_HALF
   24804         type: DT_FLOAT
   24805         type: DT_DOUBLE
   24806         type: DT_INT32
   24807         type: DT_COMPLEX64
   24808         type: DT_COMPLEX128
   24809       }
   24810     }
   24811   }
   24812 }
   24813 op {
   24814   name: "MatMul"
   24815   input_arg {
   24816     name: "a"
   24817     type_attr: "T"
   24818   }
   24819   input_arg {
   24820     name: "b"
   24821     type_attr: "T"
   24822   }
   24823   output_arg {
   24824     name: "product"
   24825     type_attr: "T"
   24826   }
   24827   attr {
   24828     name: "transpose_a"
   24829     type: "bool"
   24830     default_value {
   24831       b: false
   24832     }
   24833   }
   24834   attr {
   24835     name: "transpose_b"
   24836     type: "bool"
   24837     default_value {
   24838       b: false
   24839     }
   24840   }
   24841   attr {
   24842     name: "T"
   24843     type: "type"
   24844     allowed_values {
   24845       list {
   24846         type: DT_HALF
   24847         type: DT_BFLOAT16
   24848         type: DT_FLOAT
   24849         type: DT_DOUBLE
   24850         type: DT_INT32
   24851         type: DT_COMPLEX64
   24852         type: DT_COMPLEX128
   24853       }
   24854     }
   24855   }
   24856 }
   24857 op {
   24858   name: "MatchingFiles"
   24859   input_arg {
   24860     name: "pattern"
   24861     type: DT_STRING
   24862   }
   24863   output_arg {
   24864     name: "filenames"
   24865     type: DT_STRING
   24866   }
   24867 }
   24868 op {
   24869   name: "MatrixBandPart"
   24870   input_arg {
   24871     name: "input"
   24872     type_attr: "T"
   24873   }
   24874   input_arg {
   24875     name: "num_lower"
   24876     type: DT_INT64
   24877   }
   24878   input_arg {
   24879     name: "num_upper"
   24880     type: DT_INT64
   24881   }
   24882   output_arg {
   24883     name: "band"
   24884     type_attr: "T"
   24885   }
   24886   attr {
   24887     name: "T"
   24888     type: "type"
   24889   }
   24890 }
   24891 op {
   24892   name: "MatrixBandPart"
   24893   input_arg {
   24894     name: "input"
   24895     type_attr: "T"
   24896   }
   24897   input_arg {
   24898     name: "num_lower"
   24899     type_attr: "Tindex"
   24900   }
   24901   input_arg {
   24902     name: "num_upper"
   24903     type_attr: "Tindex"
   24904   }
   24905   output_arg {
   24906     name: "band"
   24907     type_attr: "T"
   24908   }
   24909   attr {
   24910     name: "T"
   24911     type: "type"
   24912   }
   24913   attr {
   24914     name: "Tindex"
   24915     type: "type"
   24916     default_value {
   24917       type: DT_INT64
   24918     }
   24919     allowed_values {
   24920       list {
   24921         type: DT_INT32
   24922         type: DT_INT64
   24923       }
   24924     }
   24925   }
   24926 }
   24927 op {
   24928   name: "MatrixDeterminant"
   24929   input_arg {
   24930     name: "input"
   24931     type_attr: "T"
   24932   }
   24933   output_arg {
   24934     name: "output"
   24935     type_attr: "T"
   24936   }
   24937   attr {
   24938     name: "T"
   24939     type: "type"
   24940     allowed_values {
   24941       list {
   24942         type: DT_FLOAT
   24943         type: DT_DOUBLE
   24944       }
   24945     }
   24946   }
   24947 }
   24948 op {
   24949   name: "MatrixDeterminant"
   24950   input_arg {
   24951     name: "input"
   24952     type_attr: "T"
   24953   }
   24954   output_arg {
   24955     name: "output"
   24956     type_attr: "T"
   24957   }
   24958   attr {
   24959     name: "T"
   24960     type: "type"
   24961     allowed_values {
   24962       list {
   24963         type: DT_FLOAT
   24964         type: DT_DOUBLE
   24965         type: DT_COMPLEX64
   24966         type: DT_COMPLEX128
   24967       }
   24968     }
   24969   }
   24970 }
   24971 op {
   24972   name: "MatrixDiag"
   24973   input_arg {
   24974     name: "diagonal"
   24975     type_attr: "T"
   24976   }
   24977   output_arg {
   24978     name: "output"
   24979     type_attr: "T"
   24980   }
   24981   attr {
   24982     name: "T"
   24983     type: "type"
   24984   }
   24985 }
   24986 op {
   24987   name: "MatrixDiagPart"
   24988   input_arg {
   24989     name: "input"
   24990     type_attr: "T"
   24991   }
   24992   output_arg {
   24993     name: "diagonal"
   24994     type_attr: "T"
   24995   }
   24996   attr {
   24997     name: "T"
   24998     type: "type"
   24999   }
   25000 }
   25001 op {
   25002   name: "MatrixExponential"
   25003   input_arg {
   25004     name: "input"
   25005     type_attr: "T"
   25006   }
   25007   output_arg {
   25008     name: "output"
   25009     type_attr: "T"
   25010   }
   25011   attr {
   25012     name: "T"
   25013     type: "type"
   25014     allowed_values {
   25015       list {
   25016         type: DT_DOUBLE
   25017         type: DT_FLOAT
   25018         type: DT_COMPLEX64
   25019         type: DT_COMPLEX128
   25020       }
   25021     }
   25022   }
   25023 }
   25024 op {
   25025   name: "MatrixInverse"
   25026   input_arg {
   25027     name: "input"
   25028     type_attr: "T"
   25029   }
   25030   output_arg {
   25031     name: "output"
   25032     type_attr: "T"
   25033   }
   25034   attr {
   25035     name: "adjoint"
   25036     type: "bool"
   25037     default_value {
   25038       b: false
   25039     }
   25040   }
   25041   attr {
   25042     name: "T"
   25043     type: "type"
   25044     allowed_values {
   25045       list {
   25046         type: DT_DOUBLE
   25047         type: DT_FLOAT
   25048       }
   25049     }
   25050   }
   25051 }
   25052 op {
   25053   name: "MatrixInverse"
   25054   input_arg {
   25055     name: "input"
   25056     type_attr: "T"
   25057   }
   25058   output_arg {
   25059     name: "output"
   25060     type_attr: "T"
   25061   }
   25062   attr {
   25063     name: "adjoint"
   25064     type: "bool"
   25065     default_value {
   25066       b: false
   25067     }
   25068   }
   25069   attr {
   25070     name: "T"
   25071     type: "type"
   25072     allowed_values {
   25073       list {
   25074         type: DT_DOUBLE
   25075         type: DT_FLOAT
   25076         type: DT_COMPLEX64
   25077         type: DT_COMPLEX128
   25078       }
   25079     }
   25080   }
   25081 }
   25082 op {
   25083   name: "MatrixLogarithm"
   25084   input_arg {
   25085     name: "input"
   25086     type_attr: "T"
   25087   }
   25088   output_arg {
   25089     name: "output"
   25090     type_attr: "T"
   25091   }
   25092   attr {
   25093     name: "T"
   25094     type: "type"
   25095     allowed_values {
   25096       list {
   25097         type: DT_COMPLEX64
   25098         type: DT_COMPLEX128
   25099       }
   25100     }
   25101   }
   25102 }
   25103 op {
   25104   name: "MatrixSetDiag"
   25105   input_arg {
   25106     name: "input"
   25107     type_attr: "T"
   25108   }
   25109   input_arg {
   25110     name: "diagonal"
   25111     type_attr: "T"
   25112   }
   25113   output_arg {
   25114     name: "output"
   25115     type_attr: "T"
   25116   }
   25117   attr {
   25118     name: "T"
   25119     type: "type"
   25120   }
   25121 }
   25122 op {
   25123   name: "MatrixSolve"
   25124   input_arg {
   25125     name: "matrix"
   25126     type_attr: "T"
   25127   }
   25128   input_arg {
   25129     name: "rhs"
   25130     type_attr: "T"
   25131   }
   25132   output_arg {
   25133     name: "output"
   25134     type_attr: "T"
   25135   }
   25136   attr {
   25137     name: "adjoint"
   25138     type: "bool"
   25139     default_value {
   25140       b: false
   25141     }
   25142   }
   25143   attr {
   25144     name: "T"
   25145     type: "type"
   25146     allowed_values {
   25147       list {
   25148         type: DT_DOUBLE
   25149         type: DT_FLOAT
   25150         type: DT_COMPLEX64
   25151         type: DT_COMPLEX128
   25152       }
   25153     }
   25154   }
   25155 }
   25156 op {
   25157   name: "MatrixSolveLs"
   25158   input_arg {
   25159     name: "matrix"
   25160     type_attr: "T"
   25161   }
   25162   input_arg {
   25163     name: "rhs"
   25164     type_attr: "T"
   25165   }
   25166   input_arg {
   25167     name: "l2_regularizer"
   25168     type: DT_DOUBLE
   25169   }
   25170   output_arg {
   25171     name: "output"
   25172     type_attr: "T"
   25173   }
   25174   attr {
   25175     name: "T"
   25176     type: "type"
   25177     allowed_values {
   25178       list {
   25179         type: DT_DOUBLE
   25180         type: DT_FLOAT
   25181       }
   25182     }
   25183   }
   25184   attr {
   25185     name: "fast"
   25186     type: "bool"
   25187     default_value {
   25188       b: true
   25189     }
   25190   }
   25191 }
   25192 op {
   25193   name: "MatrixSolveLs"
   25194   input_arg {
   25195     name: "matrix"
   25196     type_attr: "T"
   25197   }
   25198   input_arg {
   25199     name: "rhs"
   25200     type_attr: "T"
   25201   }
   25202   input_arg {
   25203     name: "l2_regularizer"
   25204     type: DT_DOUBLE
   25205   }
   25206   output_arg {
   25207     name: "output"
   25208     type_attr: "T"
   25209   }
   25210   attr {
   25211     name: "T"
   25212     type: "type"
   25213     allowed_values {
   25214       list {
   25215         type: DT_DOUBLE
   25216         type: DT_FLOAT
   25217         type: DT_COMPLEX64
   25218         type: DT_COMPLEX128
   25219       }
   25220     }
   25221   }
   25222   attr {
   25223     name: "fast"
   25224     type: "bool"
   25225     default_value {
   25226       b: true
   25227     }
   25228   }
   25229 }
   25230 op {
   25231   name: "MatrixTriangularSolve"
   25232   input_arg {
   25233     name: "matrix"
   25234     type_attr: "T"
   25235   }
   25236   input_arg {
   25237     name: "rhs"
   25238     type_attr: "T"
   25239   }
   25240   output_arg {
   25241     name: "output"
   25242     type_attr: "T"
   25243   }
   25244   attr {
   25245     name: "lower"
   25246     type: "bool"
   25247     default_value {
   25248       b: true
   25249     }
   25250   }
   25251   attr {
   25252     name: "adjoint"
   25253     type: "bool"
   25254     default_value {
   25255       b: false
   25256     }
   25257   }
   25258   attr {
   25259     name: "T"
   25260     type: "type"
   25261     allowed_values {
   25262       list {
   25263         type: DT_DOUBLE
   25264         type: DT_FLOAT
   25265       }
   25266     }
   25267   }
   25268 }
   25269 op {
   25270   name: "MatrixTriangularSolve"
   25271   input_arg {
   25272     name: "matrix"
   25273     type_attr: "T"
   25274   }
   25275   input_arg {
   25276     name: "rhs"
   25277     type_attr: "T"
   25278   }
   25279   output_arg {
   25280     name: "output"
   25281     type_attr: "T"
   25282   }
   25283   attr {
   25284     name: "lower"
   25285     type: "bool"
   25286     default_value {
   25287       b: true
   25288     }
   25289   }
   25290   attr {
   25291     name: "adjoint"
   25292     type: "bool"
   25293     default_value {
   25294       b: false
   25295     }
   25296   }
   25297   attr {
   25298     name: "T"
   25299     type: "type"
   25300     allowed_values {
   25301       list {
   25302         type: DT_DOUBLE
   25303         type: DT_FLOAT
   25304         type: DT_COMPLEX64
   25305         type: DT_COMPLEX128
   25306       }
   25307     }
   25308   }
   25309 }
   25310 op {
   25311   name: "Max"
   25312   input_arg {
   25313     name: "input"
   25314     type_attr: "T"
   25315   }
   25316   input_arg {
   25317     name: "reduction_indices"
   25318     type_attr: "Tidx"
   25319   }
   25320   output_arg {
   25321     name: "output"
   25322     type_attr: "T"
   25323   }
   25324   attr {
   25325     name: "keep_dims"
   25326     type: "bool"
   25327     default_value {
   25328       b: false
   25329     }
   25330   }
   25331   attr {
   25332     name: "T"
   25333     type: "type"
   25334     allowed_values {
   25335       list {
   25336         type: DT_FLOAT
   25337         type: DT_DOUBLE
   25338         type: DT_INT64
   25339         type: DT_INT32
   25340         type: DT_UINT8
   25341         type: DT_UINT16
   25342         type: DT_INT16
   25343         type: DT_INT8
   25344         type: DT_COMPLEX64
   25345         type: DT_COMPLEX128
   25346         type: DT_QINT8
   25347         type: DT_QUINT8
   25348         type: DT_QINT32
   25349         type: DT_HALF
   25350       }
   25351     }
   25352   }
   25353   attr {
   25354     name: "Tidx"
   25355     type: "type"
   25356     default_value {
   25357       type: DT_INT32
   25358     }
   25359     allowed_values {
   25360       list {
   25361         type: DT_INT32
   25362         type: DT_INT64
   25363       }
   25364     }
   25365   }
   25366 }
   25367 op {
   25368   name: "Max"
   25369   input_arg {
   25370     name: "input"
   25371     type_attr: "T"
   25372   }
   25373   input_arg {
   25374     name: "reduction_indices"
   25375     type_attr: "Tidx"
   25376   }
   25377   output_arg {
   25378     name: "output"
   25379     type_attr: "T"
   25380   }
   25381   attr {
   25382     name: "keep_dims"
   25383     type: "bool"
   25384     default_value {
   25385       b: false
   25386     }
   25387   }
   25388   attr {
   25389     name: "T"
   25390     type: "type"
   25391     allowed_values {
   25392       list {
   25393         type: DT_FLOAT
   25394         type: DT_DOUBLE
   25395         type: DT_INT64
   25396         type: DT_INT32
   25397         type: DT_UINT8
   25398         type: DT_UINT16
   25399         type: DT_INT16
   25400         type: DT_INT8
   25401         type: DT_COMPLEX64
   25402         type: DT_COMPLEX128
   25403         type: DT_QINT8
   25404         type: DT_QUINT8
   25405         type: DT_QINT32
   25406         type: DT_HALF
   25407         type: DT_UINT32
   25408         type: DT_UINT64
   25409       }
   25410     }
   25411   }
   25412   attr {
   25413     name: "Tidx"
   25414     type: "type"
   25415     default_value {
   25416       type: DT_INT32
   25417     }
   25418     allowed_values {
   25419       list {
   25420         type: DT_INT32
   25421         type: DT_INT64
   25422       }
   25423     }
   25424   }
   25425 }
   25426 op {
   25427   name: "Max"
   25428   input_arg {
   25429     name: "input"
   25430     type_attr: "T"
   25431   }
   25432   input_arg {
   25433     name: "reduction_indices"
   25434     type_attr: "Tidx"
   25435   }
   25436   output_arg {
   25437     name: "output"
   25438     type_attr: "T"
   25439   }
   25440   attr {
   25441     name: "keep_dims"
   25442     type: "bool"
   25443     default_value {
   25444       b: false
   25445     }
   25446   }
   25447   attr {
   25448     name: "T"
   25449     type: "type"
   25450     allowed_values {
   25451       list {
   25452         type: DT_FLOAT
   25453         type: DT_DOUBLE
   25454         type: DT_INT64
   25455         type: DT_INT32
   25456         type: DT_UINT8
   25457         type: DT_UINT16
   25458         type: DT_INT16
   25459         type: DT_INT8
   25460         type: DT_COMPLEX64
   25461         type: DT_COMPLEX128
   25462         type: DT_QINT8
   25463         type: DT_QUINT8
   25464         type: DT_QINT32
   25465         type: DT_HALF
   25466         type: DT_UINT32
   25467         type: DT_UINT64
   25468         type: DT_BFLOAT16
   25469       }
   25470     }
   25471   }
   25472   attr {
   25473     name: "Tidx"
   25474     type: "type"
   25475     default_value {
   25476       type: DT_INT32
   25477     }
   25478     allowed_values {
   25479       list {
   25480         type: DT_INT32
   25481         type: DT_INT64
   25482       }
   25483     }
   25484   }
   25485 }
   25486 op {
   25487   name: "Max"
   25488   input_arg {
   25489     name: "input"
   25490     type_attr: "T"
   25491   }
   25492   input_arg {
   25493     name: "reduction_indices"
   25494     type_attr: "Tidx"
   25495   }
   25496   output_arg {
   25497     name: "output"
   25498     type_attr: "T"
   25499   }
   25500   attr {
   25501     name: "keep_dims"
   25502     type: "bool"
   25503     default_value {
   25504       b: false
   25505     }
   25506   }
   25507   attr {
   25508     name: "T"
   25509     type: "type"
   25510     allowed_values {
   25511       list {
   25512         type: DT_FLOAT
   25513         type: DT_DOUBLE
   25514         type: DT_INT32
   25515         type: DT_UINT8
   25516         type: DT_INT16
   25517         type: DT_INT8
   25518         type: DT_COMPLEX64
   25519         type: DT_INT64
   25520         type: DT_QINT8
   25521         type: DT_QUINT8
   25522         type: DT_QINT32
   25523         type: DT_BFLOAT16
   25524         type: DT_UINT16
   25525         type: DT_COMPLEX128
   25526         type: DT_HALF
   25527         type: DT_UINT32
   25528         type: DT_UINT64
   25529       }
   25530     }
   25531   }
   25532   attr {
   25533     name: "Tidx"
   25534     type: "type"
   25535     default_value {
   25536       type: DT_INT32
   25537     }
   25538     allowed_values {
   25539       list {
   25540         type: DT_INT32
   25541         type: DT_INT64
   25542       }
   25543     }
   25544   }
   25545 }
   25546 op {
   25547   name: "MaxPool"
   25548   input_arg {
   25549     name: "input"
   25550     type_attr: "T"
   25551   }
   25552   output_arg {
   25553     name: "output"
   25554     type_attr: "T"
   25555   }
   25556   attr {
   25557     name: "T"
   25558     type: "type"
   25559     default_value {
   25560       type: DT_FLOAT
   25561     }
   25562     allowed_values {
   25563       list {
   25564         type: DT_FLOAT
   25565         type: DT_HALF
   25566       }
   25567     }
   25568   }
   25569   attr {
   25570     name: "ksize"
   25571     type: "list(int)"
   25572     has_minimum: true
   25573     minimum: 4
   25574   }
   25575   attr {
   25576     name: "strides"
   25577     type: "list(int)"
   25578     has_minimum: true
   25579     minimum: 4
   25580   }
   25581   attr {
   25582     name: "padding"
   25583     type: "string"
   25584     allowed_values {
   25585       list {
   25586         s: "SAME"
   25587         s: "VALID"
   25588       }
   25589     }
   25590   }
   25591   attr {
   25592     name: "data_format"
   25593     type: "string"
   25594     default_value {
   25595       s: "NHWC"
   25596     }
   25597     allowed_values {
   25598       list {
   25599         s: "NHWC"
   25600         s: "NCHW"
   25601       }
   25602     }
   25603   }
   25604 }
   25605 op {
   25606   name: "MaxPool"
   25607   input_arg {
   25608     name: "input"
   25609     type_attr: "T"
   25610   }
   25611   output_arg {
   25612     name: "output"
   25613     type_attr: "T"
   25614   }
   25615   attr {
   25616     name: "T"
   25617     type: "type"
   25618     default_value {
   25619       type: DT_FLOAT
   25620     }
   25621     allowed_values {
   25622       list {
   25623         type: DT_FLOAT
   25624         type: DT_DOUBLE
   25625         type: DT_INT32
   25626         type: DT_INT64
   25627         type: DT_UINT8
   25628         type: DT_INT16
   25629         type: DT_INT8
   25630         type: DT_UINT16
   25631         type: DT_HALF
   25632       }
   25633     }
   25634   }
   25635   attr {
   25636     name: "ksize"
   25637     type: "list(int)"
   25638     has_minimum: true
   25639     minimum: 4
   25640   }
   25641   attr {
   25642     name: "strides"
   25643     type: "list(int)"
   25644     has_minimum: true
   25645     minimum: 4
   25646   }
   25647   attr {
   25648     name: "padding"
   25649     type: "string"
   25650     allowed_values {
   25651       list {
   25652         s: "SAME"
   25653         s: "VALID"
   25654       }
   25655     }
   25656   }
   25657   attr {
   25658     name: "data_format"
   25659     type: "string"
   25660     default_value {
   25661       s: "NHWC"
   25662     }
   25663     allowed_values {
   25664       list {
   25665         s: "NHWC"
   25666         s: "NCHW"
   25667       }
   25668     }
   25669   }
   25670 }
   25671 op {
   25672   name: "MaxPool"
   25673   input_arg {
   25674     name: "input"
   25675     type_attr: "T"
   25676   }
   25677   output_arg {
   25678     name: "output"
   25679     type_attr: "T"
   25680   }
   25681   attr {
   25682     name: "T"
   25683     type: "type"
   25684     default_value {
   25685       type: DT_FLOAT
   25686     }
   25687     allowed_values {
   25688       list {
   25689         type: DT_FLOAT
   25690         type: DT_DOUBLE
   25691         type: DT_INT32
   25692         type: DT_INT64
   25693         type: DT_UINT8
   25694         type: DT_INT16
   25695         type: DT_INT8
   25696         type: DT_UINT16
   25697         type: DT_HALF
   25698         type: DT_QINT8
   25699       }
   25700     }
   25701   }
   25702   attr {
   25703     name: "ksize"
   25704     type: "list(int)"
   25705     has_minimum: true
   25706     minimum: 4
   25707   }
   25708   attr {
   25709     name: "strides"
   25710     type: "list(int)"
   25711     has_minimum: true
   25712     minimum: 4
   25713   }
   25714   attr {
   25715     name: "padding"
   25716     type: "string"
   25717     allowed_values {
   25718       list {
   25719         s: "SAME"
   25720         s: "VALID"
   25721       }
   25722     }
   25723   }
   25724   attr {
   25725     name: "data_format"
   25726     type: "string"
   25727     default_value {
   25728       s: "NHWC"
   25729     }
   25730     allowed_values {
   25731       list {
   25732         s: "NHWC"
   25733         s: "NCHW"
   25734         s: "NCHW_VECT_C"
   25735       }
   25736     }
   25737   }
   25738 }
   25739 op {
   25740   name: "MaxPool"
   25741   input_arg {
   25742     name: "input"
   25743     type_attr: "T"
   25744   }
   25745   output_arg {
   25746     name: "output"
   25747     type_attr: "T"
   25748   }
   25749   attr {
   25750     name: "T"
   25751     type: "type"
   25752     default_value {
   25753       type: DT_FLOAT
   25754     }
   25755     allowed_values {
   25756       list {
   25757         type: DT_HALF
   25758         type: DT_BFLOAT16
   25759         type: DT_FLOAT
   25760         type: DT_DOUBLE
   25761         type: DT_INT32
   25762         type: DT_INT64
   25763         type: DT_UINT8
   25764         type: DT_INT16
   25765         type: DT_INT8
   25766         type: DT_UINT16
   25767         type: DT_QINT8
   25768       }
   25769     }
   25770   }
   25771   attr {
   25772     name: "ksize"
   25773     type: "list(int)"
   25774     has_minimum: true
   25775     minimum: 4
   25776   }
   25777   attr {
   25778     name: "strides"
   25779     type: "list(int)"
   25780     has_minimum: true
   25781     minimum: 4
   25782   }
   25783   attr {
   25784     name: "padding"
   25785     type: "string"
   25786     allowed_values {
   25787       list {
   25788         s: "SAME"
   25789         s: "VALID"
   25790       }
   25791     }
   25792   }
   25793   attr {
   25794     name: "data_format"
   25795     type: "string"
   25796     default_value {
   25797       s: "NHWC"
   25798     }
   25799     allowed_values {
   25800       list {
   25801         s: "NHWC"
   25802         s: "NCHW"
   25803         s: "NCHW_VECT_C"
   25804       }
   25805     }
   25806   }
   25807 }
   25808 op {
   25809   name: "MaxPool3D"
   25810   input_arg {
   25811     name: "input"
   25812     type_attr: "T"
   25813   }
   25814   output_arg {
   25815     name: "output"
   25816     type_attr: "T"
   25817   }
   25818   attr {
   25819     name: "ksize"
   25820     type: "list(int)"
   25821     has_minimum: true
   25822     minimum: 5
   25823   }
   25824   attr {
   25825     name: "strides"
   25826     type: "list(int)"
   25827     has_minimum: true
   25828     minimum: 5
   25829   }
   25830   attr {
   25831     name: "padding"
   25832     type: "string"
   25833     allowed_values {
   25834       list {
   25835         s: "SAME"
   25836         s: "VALID"
   25837       }
   25838     }
   25839   }
   25840   attr {
   25841     name: "T"
   25842     type: "type"
   25843     allowed_values {
   25844       list {
   25845         type: DT_FLOAT
   25846       }
   25847     }
   25848   }
   25849 }
   25850 op {
   25851   name: "MaxPool3D"
   25852   input_arg {
   25853     name: "input"
   25854     type_attr: "T"
   25855   }
   25856   output_arg {
   25857     name: "output"
   25858     type_attr: "T"
   25859   }
   25860   attr {
   25861     name: "ksize"
   25862     type: "list(int)"
   25863     has_minimum: true
   25864     minimum: 5
   25865   }
   25866   attr {
   25867     name: "strides"
   25868     type: "list(int)"
   25869     has_minimum: true
   25870     minimum: 5
   25871   }
   25872   attr {
   25873     name: "padding"
   25874     type: "string"
   25875     allowed_values {
   25876       list {
   25877         s: "SAME"
   25878         s: "VALID"
   25879       }
   25880     }
   25881   }
   25882   attr {
   25883     name: "data_format"
   25884     type: "string"
   25885     default_value {
   25886       s: "NDHWC"
   25887     }
   25888     allowed_values {
   25889       list {
   25890         s: "NDHWC"
   25891         s: "NCDHW"
   25892       }
   25893     }
   25894   }
   25895   attr {
   25896     name: "T"
   25897     type: "type"
   25898     allowed_values {
   25899       list {
   25900         type: DT_FLOAT
   25901       }
   25902     }
   25903   }
   25904 }
   25905 op {
   25906   name: "MaxPool3D"
   25907   input_arg {
   25908     name: "input"
   25909     type_attr: "T"
   25910   }
   25911   output_arg {
   25912     name: "output"
   25913     type_attr: "T"
   25914   }
   25915   attr {
   25916     name: "ksize"
   25917     type: "list(int)"
   25918     has_minimum: true
   25919     minimum: 5
   25920   }
   25921   attr {
   25922     name: "strides"
   25923     type: "list(int)"
   25924     has_minimum: true
   25925     minimum: 5
   25926   }
   25927   attr {
   25928     name: "padding"
   25929     type: "string"
   25930     allowed_values {
   25931       list {
   25932         s: "SAME"
   25933         s: "VALID"
   25934       }
   25935     }
   25936   }
   25937   attr {
   25938     name: "data_format"
   25939     type: "string"
   25940     default_value {
   25941       s: "NDHWC"
   25942     }
   25943     allowed_values {
   25944       list {
   25945         s: "NDHWC"
   25946         s: "NCDHW"
   25947       }
   25948     }
   25949   }
   25950   attr {
   25951     name: "T"
   25952     type: "type"
   25953     allowed_values {
   25954       list {
   25955         type: DT_BFLOAT16
   25956         type: DT_FLOAT
   25957       }
   25958     }
   25959   }
   25960 }
   25961 op {
   25962   name: "MaxPool3DGrad"
   25963   input_arg {
   25964     name: "orig_input"
   25965     type: DT_FLOAT
   25966   }
   25967   input_arg {
   25968     name: "orig_output"
   25969     type: DT_FLOAT
   25970   }
   25971   input_arg {
   25972     name: "grad"
   25973     type_attr: "T"
   25974   }
   25975   output_arg {
   25976     name: "output"
   25977     type_attr: "T"
   25978   }
   25979   attr {
   25980     name: "ksize"
   25981     type: "list(int)"
   25982     has_minimum: true
   25983     minimum: 5
   25984   }
   25985   attr {
   25986     name: "strides"
   25987     type: "list(int)"
   25988     has_minimum: true
   25989     minimum: 5
   25990   }
   25991   attr {
   25992     name: "padding"
   25993     type: "string"
   25994     allowed_values {
   25995       list {
   25996         s: "SAME"
   25997         s: "VALID"
   25998       }
   25999     }
   26000   }
   26001   attr {
   26002     name: "T"
   26003     type: "type"
   26004     allowed_values {
   26005       list {
   26006         type: DT_FLOAT
   26007       }
   26008     }
   26009   }
   26010 }
   26011 op {
   26012   name: "MaxPool3DGrad"
   26013   input_arg {
   26014     name: "orig_input"
   26015     type: DT_FLOAT
   26016   }
   26017   input_arg {
   26018     name: "orig_output"
   26019     type: DT_FLOAT
   26020   }
   26021   input_arg {
   26022     name: "grad"
   26023     type_attr: "T"
   26024   }
   26025   output_arg {
   26026     name: "output"
   26027     type_attr: "T"
   26028   }
   26029   attr {
   26030     name: "ksize"
   26031     type: "list(int)"
   26032     has_minimum: true
   26033     minimum: 5
   26034   }
   26035   attr {
   26036     name: "strides"
   26037     type: "list(int)"
   26038     has_minimum: true
   26039     minimum: 5
   26040   }
   26041   attr {
   26042     name: "padding"
   26043     type: "string"
   26044     allowed_values {
   26045       list {
   26046         s: "SAME"
   26047         s: "VALID"
   26048       }
   26049     }
   26050   }
   26051   attr {
   26052     name: "data_format"
   26053     type: "string"
   26054     default_value {
   26055       s: "NDHWC"
   26056     }
   26057     allowed_values {
   26058       list {
   26059         s: "NDHWC"
   26060         s: "NCDHW"
   26061       }
   26062     }
   26063   }
   26064   attr {
   26065     name: "T"
   26066     type: "type"
   26067     allowed_values {
   26068       list {
   26069         type: DT_FLOAT
   26070       }
   26071     }
   26072   }
   26073 }
   26074 op {
   26075   name: "MaxPool3DGrad"
   26076   input_arg {
   26077     name: "orig_input"
   26078     type_attr: "TInput"
   26079   }
   26080   input_arg {
   26081     name: "orig_output"
   26082     type_attr: "TInput"
   26083   }
   26084   input_arg {
   26085     name: "grad"
   26086     type_attr: "T"
   26087   }
   26088   output_arg {
   26089     name: "output"
   26090     type_attr: "T"
   26091   }
   26092   attr {
   26093     name: "ksize"
   26094     type: "list(int)"
   26095     has_minimum: true
   26096     minimum: 5
   26097   }
   26098   attr {
   26099     name: "strides"
   26100     type: "list(int)"
   26101     has_minimum: true
   26102     minimum: 5
   26103   }
   26104   attr {
   26105     name: "padding"
   26106     type: "string"
   26107     allowed_values {
   26108       list {
   26109         s: "SAME"
   26110         s: "VALID"
   26111       }
   26112     }
   26113   }
   26114   attr {
   26115     name: "data_format"
   26116     type: "string"
   26117     default_value {
   26118       s: "NDHWC"
   26119     }
   26120     allowed_values {
   26121       list {
   26122         s: "NDHWC"
   26123         s: "NCDHW"
   26124       }
   26125     }
   26126   }
   26127   attr {
   26128     name: "T"
   26129     type: "type"
   26130     default_value {
   26131       type: DT_FLOAT
   26132     }
   26133     allowed_values {
   26134       list {
   26135         type: DT_FLOAT
   26136       }
   26137     }
   26138   }
   26139   attr {
   26140     name: "TInput"
   26141     type: "type"
   26142     default_value {
   26143       type: DT_FLOAT
   26144     }
   26145     allowed_values {
   26146       list {
   26147         type: DT_FLOAT
   26148       }
   26149     }
   26150   }
   26151 }
   26152 op {
   26153   name: "MaxPool3DGrad"
   26154   input_arg {
   26155     name: "orig_input"
   26156     type_attr: "TInput"
   26157   }
   26158   input_arg {
   26159     name: "orig_output"
   26160     type_attr: "TInput"
   26161   }
   26162   input_arg {
   26163     name: "grad"
   26164     type_attr: "T"
   26165   }
   26166   output_arg {
   26167     name: "output"
   26168     type_attr: "T"
   26169   }
   26170   attr {
   26171     name: "ksize"
   26172     type: "list(int)"
   26173     has_minimum: true
   26174     minimum: 5
   26175   }
   26176   attr {
   26177     name: "strides"
   26178     type: "list(int)"
   26179     has_minimum: true
   26180     minimum: 5
   26181   }
   26182   attr {
   26183     name: "padding"
   26184     type: "string"
   26185     allowed_values {
   26186       list {
   26187         s: "SAME"
   26188         s: "VALID"
   26189       }
   26190     }
   26191   }
   26192   attr {
   26193     name: "data_format"
   26194     type: "string"
   26195     default_value {
   26196       s: "NDHWC"
   26197     }
   26198     allowed_values {
   26199       list {
   26200         s: "NDHWC"
   26201         s: "NCDHW"
   26202       }
   26203     }
   26204   }
   26205   attr {
   26206     name: "T"
   26207     type: "type"
   26208     default_value {
   26209       type: DT_FLOAT
   26210     }
   26211     allowed_values {
   26212       list {
   26213         type: DT_BFLOAT16
   26214         type: DT_FLOAT
   26215       }
   26216     }
   26217   }
   26218   attr {
   26219     name: "TInput"
   26220     type: "type"
   26221     default_value {
   26222       type: DT_FLOAT
   26223     }
   26224     allowed_values {
   26225       list {
   26226         type: DT_BFLOAT16
   26227         type: DT_FLOAT
   26228       }
   26229     }
   26230   }
   26231 }
   26232 op {
   26233   name: "MaxPool3DGradGrad"
   26234   input_arg {
   26235     name: "orig_input"
   26236     type_attr: "T"
   26237   }
   26238   input_arg {
   26239     name: "orig_output"
   26240     type_attr: "T"
   26241   }
   26242   input_arg {
   26243     name: "grad"
   26244     type_attr: "T"
   26245   }
   26246   output_arg {
   26247     name: "output"
   26248     type_attr: "T"
   26249   }
   26250   attr {
   26251     name: "ksize"
   26252     type: "list(int)"
   26253     has_minimum: true
   26254     minimum: 5
   26255   }
   26256   attr {
   26257     name: "strides"
   26258     type: "list(int)"
   26259     has_minimum: true
   26260     minimum: 5
   26261   }
   26262   attr {
   26263     name: "padding"
   26264     type: "string"
   26265     allowed_values {
   26266       list {
   26267         s: "SAME"
   26268         s: "VALID"
   26269       }
   26270     }
   26271   }
   26272   attr {
   26273     name: "data_format"
   26274     type: "string"
   26275     default_value {
   26276       s: "NDHWC"
   26277     }
   26278     allowed_values {
   26279       list {
   26280         s: "NDHWC"
   26281         s: "NCDHW"
   26282       }
   26283     }
   26284   }
   26285   attr {
   26286     name: "T"
   26287     type: "type"
   26288     allowed_values {
   26289       list {
   26290         type: DT_FLOAT
   26291       }
   26292     }
   26293   }
   26294 }
   26295 op {
   26296   name: "MaxPoolGrad"
   26297   input_arg {
   26298     name: "orig_input"
   26299     type_attr: "T"
   26300   }
   26301   input_arg {
   26302     name: "orig_output"
   26303     type_attr: "T"
   26304   }
   26305   input_arg {
   26306     name: "grad"
   26307     type_attr: "T"
   26308   }
   26309   output_arg {
   26310     name: "output"
   26311     type_attr: "T"
   26312   }
   26313   attr {
   26314     name: "ksize"
   26315     type: "list(int)"
   26316     has_minimum: true
   26317     minimum: 4
   26318   }
   26319   attr {
   26320     name: "strides"
   26321     type: "list(int)"
   26322     has_minimum: true
   26323     minimum: 4
   26324   }
   26325   attr {
   26326     name: "padding"
   26327     type: "string"
   26328     allowed_values {
   26329       list {
   26330         s: "SAME"
   26331         s: "VALID"
   26332       }
   26333     }
   26334   }
   26335   attr {
   26336     name: "data_format"
   26337     type: "string"
   26338     default_value {
   26339       s: "NHWC"
   26340     }
   26341     allowed_values {
   26342       list {
   26343         s: "NHWC"
   26344         s: "NCHW"
   26345       }
   26346     }
   26347   }
   26348   attr {
   26349     name: "T"
   26350     type: "type"
   26351     default_value {
   26352       type: DT_FLOAT
   26353     }
   26354     allowed_values {
   26355       list {
   26356         type: DT_FLOAT
   26357         type: DT_HALF
   26358       }
   26359     }
   26360   }
   26361 }
   26362 op {
   26363   name: "MaxPoolGrad"
   26364   input_arg {
   26365     name: "orig_input"
   26366     type_attr: "T"
   26367   }
   26368   input_arg {
   26369     name: "orig_output"
   26370     type_attr: "T"
   26371   }
   26372   input_arg {
   26373     name: "grad"
   26374     type_attr: "T"
   26375   }
   26376   output_arg {
   26377     name: "output"
   26378     type_attr: "T"
   26379   }
   26380   attr {
   26381     name: "ksize"
   26382     type: "list(int)"
   26383     has_minimum: true
   26384     minimum: 4
   26385   }
   26386   attr {
   26387     name: "strides"
   26388     type: "list(int)"
   26389     has_minimum: true
   26390     minimum: 4
   26391   }
   26392   attr {
   26393     name: "padding"
   26394     type: "string"
   26395     allowed_values {
   26396       list {
   26397         s: "SAME"
   26398         s: "VALID"
   26399       }
   26400     }
   26401   }
   26402   attr {
   26403     name: "data_format"
   26404     type: "string"
   26405     default_value {
   26406       s: "NHWC"
   26407     }
   26408     allowed_values {
   26409       list {
   26410         s: "NHWC"
   26411         s: "NCHW"
   26412       }
   26413     }
   26414   }
   26415   attr {
   26416     name: "T"
   26417     type: "type"
   26418     default_value {
   26419       type: DT_FLOAT
   26420     }
   26421     allowed_values {
   26422       list {
   26423         type: DT_FLOAT
   26424         type: DT_DOUBLE
   26425         type: DT_INT32
   26426         type: DT_INT64
   26427         type: DT_UINT8
   26428         type: DT_INT16
   26429         type: DT_INT8
   26430         type: DT_UINT16
   26431         type: DT_HALF
   26432       }
   26433     }
   26434   }
   26435 }
   26436 op {
   26437   name: "MaxPoolGrad"
   26438   input_arg {
   26439     name: "orig_input"
   26440     type_attr: "T"
   26441   }
   26442   input_arg {
   26443     name: "orig_output"
   26444     type_attr: "T"
   26445   }
   26446   input_arg {
   26447     name: "grad"
   26448     type_attr: "T"
   26449   }
   26450   output_arg {
   26451     name: "output"
   26452     type_attr: "T"
   26453   }
   26454   attr {
   26455     name: "ksize"
   26456     type: "list(int)"
   26457     has_minimum: true
   26458     minimum: 4
   26459   }
   26460   attr {
   26461     name: "strides"
   26462     type: "list(int)"
   26463     has_minimum: true
   26464     minimum: 4
   26465   }
   26466   attr {
   26467     name: "padding"
   26468     type: "string"
   26469     allowed_values {
   26470       list {
   26471         s: "SAME"
   26472         s: "VALID"
   26473       }
   26474     }
   26475   }
   26476   attr {
   26477     name: "data_format"
   26478     type: "string"
   26479     default_value {
   26480       s: "NHWC"
   26481     }
   26482     allowed_values {
   26483       list {
   26484         s: "NHWC"
   26485         s: "NCHW"
   26486       }
   26487     }
   26488   }
   26489   attr {
   26490     name: "T"
   26491     type: "type"
   26492     default_value {
   26493       type: DT_FLOAT
   26494     }
   26495     allowed_values {
   26496       list {
   26497         type: DT_FLOAT
   26498         type: DT_DOUBLE
   26499         type: DT_INT32
   26500         type: DT_INT64
   26501         type: DT_UINT8
   26502         type: DT_INT16
   26503         type: DT_INT8
   26504         type: DT_UINT16
   26505         type: DT_HALF
   26506         type: DT_UINT32
   26507         type: DT_UINT64
   26508       }
   26509     }
   26510   }
   26511 }
   26512 op {
   26513   name: "MaxPoolGrad"
   26514   input_arg {
   26515     name: "orig_input"
   26516     type_attr: "T"
   26517   }
   26518   input_arg {
   26519     name: "orig_output"
   26520     type_attr: "T"
   26521   }
   26522   input_arg {
   26523     name: "grad"
   26524     type_attr: "T"
   26525   }
   26526   output_arg {
   26527     name: "output"
   26528     type_attr: "T"
   26529   }
   26530   attr {
   26531     name: "ksize"
   26532     type: "list(int)"
   26533     has_minimum: true
   26534     minimum: 4
   26535   }
   26536   attr {
   26537     name: "strides"
   26538     type: "list(int)"
   26539     has_minimum: true
   26540     minimum: 4
   26541   }
   26542   attr {
   26543     name: "padding"
   26544     type: "string"
   26545     allowed_values {
   26546       list {
   26547         s: "SAME"
   26548         s: "VALID"
   26549       }
   26550     }
   26551   }
   26552   attr {
   26553     name: "data_format"
   26554     type: "string"
   26555     default_value {
   26556       s: "NHWC"
   26557     }
   26558     allowed_values {
   26559       list {
   26560         s: "NHWC"
   26561         s: "NCHW"
   26562       }
   26563     }
   26564   }
   26565   attr {
   26566     name: "T"
   26567     type: "type"
   26568     default_value {
   26569       type: DT_FLOAT
   26570     }
   26571     allowed_values {
   26572       list {
   26573         type: DT_FLOAT
   26574         type: DT_DOUBLE
   26575         type: DT_INT32
   26576         type: DT_INT64
   26577         type: DT_UINT8
   26578         type: DT_INT16
   26579         type: DT_INT8
   26580         type: DT_UINT16
   26581         type: DT_HALF
   26582         type: DT_UINT32
   26583         type: DT_UINT64
   26584         type: DT_BFLOAT16
   26585       }
   26586     }
   26587   }
   26588 }
   26589 op {
   26590   name: "MaxPoolGrad"
   26591   input_arg {
   26592     name: "orig_input"
   26593     type_attr: "T"
   26594   }
   26595   input_arg {
   26596     name: "orig_output"
   26597     type_attr: "T"
   26598   }
   26599   input_arg {
   26600     name: "grad"
   26601     type_attr: "T"
   26602   }
   26603   output_arg {
   26604     name: "output"
   26605     type_attr: "T"
   26606   }
   26607   attr {
   26608     name: "ksize"
   26609     type: "list(int)"
   26610     has_minimum: true
   26611     minimum: 4
   26612   }
   26613   attr {
   26614     name: "strides"
   26615     type: "list(int)"
   26616     has_minimum: true
   26617     minimum: 4
   26618   }
   26619   attr {
   26620     name: "padding"
   26621     type: "string"
   26622     allowed_values {
   26623       list {
   26624         s: "SAME"
   26625         s: "VALID"
   26626       }
   26627     }
   26628   }
   26629   attr {
   26630     name: "data_format"
   26631     type: "string"
   26632     default_value {
   26633       s: "NHWC"
   26634     }
   26635     allowed_values {
   26636       list {
   26637         s: "NHWC"
   26638         s: "NCHW"
   26639       }
   26640     }
   26641   }
   26642   attr {
   26643     name: "T"
   26644     type: "type"
   26645     default_value {
   26646       type: DT_FLOAT
   26647     }
   26648     allowed_values {
   26649       list {
   26650         type: DT_FLOAT
   26651         type: DT_DOUBLE
   26652         type: DT_INT32
   26653         type: DT_UINT8
   26654         type: DT_INT16
   26655         type: DT_INT8
   26656         type: DT_INT64
   26657         type: DT_BFLOAT16
   26658         type: DT_UINT16
   26659         type: DT_HALF
   26660         type: DT_UINT32
   26661         type: DT_UINT64
   26662       }
   26663     }
   26664   }
   26665 }
   26666 op {
   26667   name: "MaxPoolGradGrad"
   26668   input_arg {
   26669     name: "orig_input"
   26670     type_attr: "T"
   26671   }
   26672   input_arg {
   26673     name: "orig_output"
   26674     type_attr: "T"
   26675   }
   26676   input_arg {
   26677     name: "grad"
   26678     type_attr: "T"
   26679   }
   26680   output_arg {
   26681     name: "output"
   26682     type_attr: "T"
   26683   }
   26684   attr {
   26685     name: "ksize"
   26686     type: "list(int)"
   26687     has_minimum: true
   26688     minimum: 4
   26689   }
   26690   attr {
   26691     name: "strides"
   26692     type: "list(int)"
   26693     has_minimum: true
   26694     minimum: 4
   26695   }
   26696   attr {
   26697     name: "padding"
   26698     type: "string"
   26699     allowed_values {
   26700       list {
   26701         s: "SAME"
   26702         s: "VALID"
   26703       }
   26704     }
   26705   }
   26706   attr {
   26707     name: "data_format"
   26708     type: "string"
   26709     default_value {
   26710       s: "NHWC"
   26711     }
   26712     allowed_values {
   26713       list {
   26714         s: "NHWC"
   26715         s: "NCHW"
   26716       }
   26717     }
   26718   }
   26719   attr {
   26720     name: "T"
   26721     type: "type"
   26722     allowed_values {
   26723       list {
   26724         type: DT_FLOAT
   26725         type: DT_DOUBLE
   26726         type: DT_INT32
   26727         type: DT_INT64
   26728         type: DT_UINT8
   26729         type: DT_INT16
   26730         type: DT_INT8
   26731         type: DT_UINT16
   26732         type: DT_HALF
   26733       }
   26734     }
   26735   }
   26736 }
   26737 op {
   26738   name: "MaxPoolGradGrad"
   26739   input_arg {
   26740     name: "orig_input"
   26741     type_attr: "T"
   26742   }
   26743   input_arg {
   26744     name: "orig_output"
   26745     type_attr: "T"
   26746   }
   26747   input_arg {
   26748     name: "grad"
   26749     type_attr: "T"
   26750   }
   26751   output_arg {
   26752     name: "output"
   26753     type_attr: "T"
   26754   }
   26755   attr {
   26756     name: "ksize"
   26757     type: "list(int)"
   26758     has_minimum: true
   26759     minimum: 4
   26760   }
   26761   attr {
   26762     name: "strides"
   26763     type: "list(int)"
   26764     has_minimum: true
   26765     minimum: 4
   26766   }
   26767   attr {
   26768     name: "padding"
   26769     type: "string"
   26770     allowed_values {
   26771       list {
   26772         s: "SAME"
   26773         s: "VALID"
   26774       }
   26775     }
   26776   }
   26777   attr {
   26778     name: "data_format"
   26779     type: "string"
   26780     default_value {
   26781       s: "NHWC"
   26782     }
   26783     allowed_values {
   26784       list {
   26785         s: "NHWC"
   26786         s: "NCHW"
   26787       }
   26788     }
   26789   }
   26790   attr {
   26791     name: "T"
   26792     type: "type"
   26793     allowed_values {
   26794       list {
   26795         type: DT_FLOAT
   26796         type: DT_DOUBLE
   26797         type: DT_INT32
   26798         type: DT_INT64
   26799         type: DT_UINT8
   26800         type: DT_INT16
   26801         type: DT_INT8
   26802         type: DT_UINT16
   26803         type: DT_HALF
   26804         type: DT_UINT32
   26805         type: DT_UINT64
   26806       }
   26807     }
   26808   }
   26809 }
   26810 op {
   26811   name: "MaxPoolGradGrad"
   26812   input_arg {
   26813     name: "orig_input"
   26814     type_attr: "T"
   26815   }
   26816   input_arg {
   26817     name: "orig_output"
   26818     type_attr: "T"
   26819   }
   26820   input_arg {
   26821     name: "grad"
   26822     type_attr: "T"
   26823   }
   26824   output_arg {
   26825     name: "output"
   26826     type_attr: "T"
   26827   }
   26828   attr {
   26829     name: "ksize"
   26830     type: "list(int)"
   26831     has_minimum: true
   26832     minimum: 4
   26833   }
   26834   attr {
   26835     name: "strides"
   26836     type: "list(int)"
   26837     has_minimum: true
   26838     minimum: 4
   26839   }
   26840   attr {
   26841     name: "padding"
   26842     type: "string"
   26843     allowed_values {
   26844       list {
   26845         s: "SAME"
   26846         s: "VALID"
   26847       }
   26848     }
   26849   }
   26850   attr {
   26851     name: "data_format"
   26852     type: "string"
   26853     default_value {
   26854       s: "NHWC"
   26855     }
   26856     allowed_values {
   26857       list {
   26858         s: "NHWC"
   26859         s: "NCHW"
   26860       }
   26861     }
   26862   }
   26863   attr {
   26864     name: "T"
   26865     type: "type"
   26866     allowed_values {
   26867       list {
   26868         type: DT_FLOAT
   26869         type: DT_DOUBLE
   26870         type: DT_INT32
   26871         type: DT_INT64
   26872         type: DT_UINT8
   26873         type: DT_INT16
   26874         type: DT_INT8
   26875         type: DT_UINT16
   26876         type: DT_HALF
   26877         type: DT_UINT32
   26878         type: DT_UINT64
   26879         type: DT_BFLOAT16
   26880       }
   26881     }
   26882   }
   26883 }
   26884 op {
   26885   name: "MaxPoolGradGrad"
   26886   input_arg {
   26887     name: "orig_input"
   26888     type_attr: "T"
   26889   }
   26890   input_arg {
   26891     name: "orig_output"
   26892     type_attr: "T"
   26893   }
   26894   input_arg {
   26895     name: "grad"
   26896     type_attr: "T"
   26897   }
   26898   output_arg {
   26899     name: "output"
   26900     type_attr: "T"
   26901   }
   26902   attr {
   26903     name: "ksize"
   26904     type: "list(int)"
   26905     has_minimum: true
   26906     minimum: 4
   26907   }
   26908   attr {
   26909     name: "strides"
   26910     type: "list(int)"
   26911     has_minimum: true
   26912     minimum: 4
   26913   }
   26914   attr {
   26915     name: "padding"
   26916     type: "string"
   26917     allowed_values {
   26918       list {
   26919         s: "SAME"
   26920         s: "VALID"
   26921       }
   26922     }
   26923   }
   26924   attr {
   26925     name: "data_format"
   26926     type: "string"
   26927     default_value {
   26928       s: "NHWC"
   26929     }
   26930     allowed_values {
   26931       list {
   26932         s: "NHWC"
   26933         s: "NCHW"
   26934       }
   26935     }
   26936   }
   26937   attr {
   26938     name: "T"
   26939     type: "type"
   26940     allowed_values {
   26941       list {
   26942         type: DT_FLOAT
   26943         type: DT_DOUBLE
   26944         type: DT_INT32
   26945         type: DT_UINT8
   26946         type: DT_INT16
   26947         type: DT_INT8
   26948         type: DT_INT64
   26949         type: DT_BFLOAT16
   26950         type: DT_UINT16
   26951         type: DT_HALF
   26952         type: DT_UINT32
   26953         type: DT_UINT64
   26954       }
   26955     }
   26956   }
   26957 }
   26958 op {
   26959   name: "MaxPoolGradGradV2"
   26960   input_arg {
   26961     name: "orig_input"
   26962     type_attr: "T"
   26963   }
   26964   input_arg {
   26965     name: "orig_output"
   26966     type_attr: "T"
   26967   }
   26968   input_arg {
   26969     name: "grad"
   26970     type_attr: "T"
   26971   }
   26972   input_arg {
   26973     name: "ksize"
   26974     type: DT_INT32
   26975   }
   26976   input_arg {
   26977     name: "strides"
   26978     type: DT_INT32
   26979   }
   26980   output_arg {
   26981     name: "output"
   26982     type_attr: "T"
   26983   }
   26984   attr {
   26985     name: "padding"
   26986     type: "string"
   26987     allowed_values {
   26988       list {
   26989         s: "SAME"
   26990         s: "VALID"
   26991       }
   26992     }
   26993   }
   26994   attr {
   26995     name: "data_format"
   26996     type: "string"
   26997     default_value {
   26998       s: "NHWC"
   26999     }
   27000     allowed_values {
   27001       list {
   27002         s: "NHWC"
   27003         s: "NCHW"
   27004       }
   27005     }
   27006   }
   27007   attr {
   27008     name: "T"
   27009     type: "type"
   27010     allowed_values {
   27011       list {
   27012         type: DT_FLOAT
   27013         type: DT_DOUBLE
   27014         type: DT_INT32
   27015         type: DT_INT64
   27016         type: DT_UINT8
   27017         type: DT_INT16
   27018         type: DT_INT8
   27019         type: DT_UINT16
   27020         type: DT_HALF
   27021       }
   27022     }
   27023   }
   27024 }
   27025 op {
   27026   name: "MaxPoolGradGradV2"
   27027   input_arg {
   27028     name: "orig_input"
   27029     type_attr: "T"
   27030   }
   27031   input_arg {
   27032     name: "orig_output"
   27033     type_attr: "T"
   27034   }
   27035   input_arg {
   27036     name: "grad"
   27037     type_attr: "T"
   27038   }
   27039   input_arg {
   27040     name: "ksize"
   27041     type: DT_INT32
   27042   }
   27043   input_arg {
   27044     name: "strides"
   27045     type: DT_INT32
   27046   }
   27047   output_arg {
   27048     name: "output"
   27049     type_attr: "T"
   27050   }
   27051   attr {
   27052     name: "padding"
   27053     type: "string"
   27054     allowed_values {
   27055       list {
   27056         s: "SAME"
   27057         s: "VALID"
   27058       }
   27059     }
   27060   }
   27061   attr {
   27062     name: "data_format"
   27063     type: "string"
   27064     default_value {
   27065       s: "NHWC"
   27066     }
   27067     allowed_values {
   27068       list {
   27069         s: "NHWC"
   27070         s: "NCHW"
   27071       }
   27072     }
   27073   }
   27074   attr {
   27075     name: "T"
   27076     type: "type"
   27077     allowed_values {
   27078       list {
   27079         type: DT_FLOAT
   27080         type: DT_DOUBLE
   27081         type: DT_INT32
   27082         type: DT_INT64
   27083         type: DT_UINT8
   27084         type: DT_INT16
   27085         type: DT_INT8
   27086         type: DT_UINT16
   27087         type: DT_HALF
   27088         type: DT_UINT32
   27089         type: DT_UINT64
   27090       }
   27091     }
   27092   }
   27093 }
   27094 op {
   27095   name: "MaxPoolGradGradV2"
   27096   input_arg {
   27097     name: "orig_input"
   27098     type_attr: "T"
   27099   }
   27100   input_arg {
   27101     name: "orig_output"
   27102     type_attr: "T"
   27103   }
   27104   input_arg {
   27105     name: "grad"
   27106     type_attr: "T"
   27107   }
   27108   input_arg {
   27109     name: "ksize"
   27110     type: DT_INT32
   27111   }
   27112   input_arg {
   27113     name: "strides"
   27114     type: DT_INT32
   27115   }
   27116   output_arg {
   27117     name: "output"
   27118     type_attr: "T"
   27119   }
   27120   attr {
   27121     name: "padding"
   27122     type: "string"
   27123     allowed_values {
   27124       list {
   27125         s: "SAME"
   27126         s: "VALID"
   27127       }
   27128     }
   27129   }
   27130   attr {
   27131     name: "data_format"
   27132     type: "string"
   27133     default_value {
   27134       s: "NHWC"
   27135     }
   27136     allowed_values {
   27137       list {
   27138         s: "NHWC"
   27139         s: "NCHW"
   27140       }
   27141     }
   27142   }
   27143   attr {
   27144     name: "T"
   27145     type: "type"
   27146     allowed_values {
   27147       list {
   27148         type: DT_FLOAT
   27149         type: DT_DOUBLE
   27150         type: DT_INT32
   27151         type: DT_INT64
   27152         type: DT_UINT8
   27153         type: DT_INT16
   27154         type: DT_INT8
   27155         type: DT_UINT16
   27156         type: DT_HALF
   27157         type: DT_UINT32
   27158         type: DT_UINT64
   27159         type: DT_BFLOAT16
   27160       }
   27161     }
   27162   }
   27163 }
   27164 op {
   27165   name: "MaxPoolGradGradV2"
   27166   input_arg {
   27167     name: "orig_input"
   27168     type_attr: "T"
   27169   }
   27170   input_arg {
   27171     name: "orig_output"
   27172     type_attr: "T"
   27173   }
   27174   input_arg {
   27175     name: "grad"
   27176     type_attr: "T"
   27177   }
   27178   input_arg {
   27179     name: "ksize"
   27180     type: DT_INT32
   27181   }
   27182   input_arg {
   27183     name: "strides"
   27184     type: DT_INT32
   27185   }
   27186   output_arg {
   27187     name: "output"
   27188     type_attr: "T"
   27189   }
   27190   attr {
   27191     name: "padding"
   27192     type: "string"
   27193     allowed_values {
   27194       list {
   27195         s: "SAME"
   27196         s: "VALID"
   27197       }
   27198     }
   27199   }
   27200   attr {
   27201     name: "data_format"
   27202     type: "string"
   27203     default_value {
   27204       s: "NHWC"
   27205     }
   27206     allowed_values {
   27207       list {
   27208         s: "NHWC"
   27209         s: "NCHW"
   27210       }
   27211     }
   27212   }
   27213   attr {
   27214     name: "T"
   27215     type: "type"
   27216     allowed_values {
   27217       list {
   27218         type: DT_FLOAT
   27219         type: DT_DOUBLE
   27220         type: DT_INT32
   27221         type: DT_UINT8
   27222         type: DT_INT16
   27223         type: DT_INT8
   27224         type: DT_INT64
   27225         type: DT_BFLOAT16
   27226         type: DT_UINT16
   27227         type: DT_HALF
   27228         type: DT_UINT32
   27229         type: DT_UINT64
   27230       }
   27231     }
   27232   }
   27233 }
   27234 op {
   27235   name: "MaxPoolGradGradWithArgmax"
   27236   input_arg {
   27237     name: "input"
   27238     type_attr: "T"
   27239   }
   27240   input_arg {
   27241     name: "grad"
   27242     type_attr: "T"
   27243   }
   27244   input_arg {
   27245     name: "argmax"
   27246     type_attr: "Targmax"
   27247   }
   27248   output_arg {
   27249     name: "output"
   27250     type_attr: "T"
   27251   }
   27252   attr {
   27253     name: "ksize"
   27254     type: "list(int)"
   27255     has_minimum: true
   27256     minimum: 4
   27257   }
   27258   attr {
   27259     name: "strides"
   27260     type: "list(int)"
   27261     has_minimum: true
   27262     minimum: 4
   27263   }
   27264   attr {
   27265     name: "padding"
   27266     type: "string"
   27267     allowed_values {
   27268       list {
   27269         s: "SAME"
   27270         s: "VALID"
   27271       }
   27272     }
   27273   }
   27274   attr {
   27275     name: "Targmax"
   27276     type: "type"
   27277     allowed_values {
   27278       list {
   27279         type: DT_INT32
   27280         type: DT_INT64
   27281       }
   27282     }
   27283   }
   27284   attr {
   27285     name: "T"
   27286     type: "type"
   27287     allowed_values {
   27288       list {
   27289         type: DT_FLOAT
   27290         type: DT_DOUBLE
   27291         type: DT_INT32
   27292         type: DT_INT64
   27293         type: DT_UINT8
   27294         type: DT_INT16
   27295         type: DT_INT8
   27296         type: DT_UINT16
   27297         type: DT_HALF
   27298       }
   27299     }
   27300   }
   27301 }
   27302 op {
   27303   name: "MaxPoolGradGradWithArgmax"
   27304   input_arg {
   27305     name: "input"
   27306     type_attr: "T"
   27307   }
   27308   input_arg {
   27309     name: "grad"
   27310     type_attr: "T"
   27311   }
   27312   input_arg {
   27313     name: "argmax"
   27314     type_attr: "Targmax"
   27315   }
   27316   output_arg {
   27317     name: "output"
   27318     type_attr: "T"
   27319   }
   27320   attr {
   27321     name: "ksize"
   27322     type: "list(int)"
   27323     has_minimum: true
   27324     minimum: 4
   27325   }
   27326   attr {
   27327     name: "strides"
   27328     type: "list(int)"
   27329     has_minimum: true
   27330     minimum: 4
   27331   }
   27332   attr {
   27333     name: "padding"
   27334     type: "string"
   27335     allowed_values {
   27336       list {
   27337         s: "SAME"
   27338         s: "VALID"
   27339       }
   27340     }
   27341   }
   27342   attr {
   27343     name: "Targmax"
   27344     type: "type"
   27345     allowed_values {
   27346       list {
   27347         type: DT_INT32
   27348         type: DT_INT64
   27349       }
   27350     }
   27351   }
   27352   attr {
   27353     name: "T"
   27354     type: "type"
   27355     allowed_values {
   27356       list {
   27357         type: DT_FLOAT
   27358         type: DT_DOUBLE
   27359         type: DT_INT32
   27360         type: DT_INT64
   27361         type: DT_UINT8
   27362         type: DT_INT16
   27363         type: DT_INT8
   27364         type: DT_UINT16
   27365         type: DT_HALF
   27366         type: DT_UINT32
   27367         type: DT_UINT64
   27368       }
   27369     }
   27370   }
   27371 }
   27372 op {
   27373   name: "MaxPoolGradGradWithArgmax"
   27374   input_arg {
   27375     name: "input"
   27376     type_attr: "T"
   27377   }
   27378   input_arg {
   27379     name: "grad"
   27380     type_attr: "T"
   27381   }
   27382   input_arg {
   27383     name: "argmax"
   27384     type_attr: "Targmax"
   27385   }
   27386   output_arg {
   27387     name: "output"
   27388     type_attr: "T"
   27389   }
   27390   attr {
   27391     name: "ksize"
   27392     type: "list(int)"
   27393     has_minimum: true
   27394     minimum: 4
   27395   }
   27396   attr {
   27397     name: "strides"
   27398     type: "list(int)"
   27399     has_minimum: true
   27400     minimum: 4
   27401   }
   27402   attr {
   27403     name: "padding"
   27404     type: "string"
   27405     allowed_values {
   27406       list {
   27407         s: "SAME"
   27408         s: "VALID"
   27409       }
   27410     }
   27411   }
   27412   attr {
   27413     name: "Targmax"
   27414     type: "type"
   27415     allowed_values {
   27416       list {
   27417         type: DT_INT32
   27418         type: DT_INT64
   27419       }
   27420     }
   27421   }
   27422   attr {
   27423     name: "T"
   27424     type: "type"
   27425     allowed_values {
   27426       list {
   27427         type: DT_FLOAT
   27428         type: DT_DOUBLE
   27429         type: DT_INT32
   27430         type: DT_INT64
   27431         type: DT_UINT8
   27432         type: DT_INT16
   27433         type: DT_INT8
   27434         type: DT_UINT16
   27435         type: DT_HALF
   27436         type: DT_UINT32
   27437         type: DT_UINT64
   27438         type: DT_BFLOAT16
   27439       }
   27440     }
   27441   }
   27442 }
   27443 op {
   27444   name: "MaxPoolGradGradWithArgmax"
   27445   input_arg {
   27446     name: "input"
   27447     type_attr: "T"
   27448   }
   27449   input_arg {
   27450     name: "grad"
   27451     type_attr: "T"
   27452   }
   27453   input_arg {
   27454     name: "argmax"
   27455     type_attr: "Targmax"
   27456   }
   27457   output_arg {
   27458     name: "output"
   27459     type_attr: "T"
   27460   }
   27461   attr {
   27462     name: "ksize"
   27463     type: "list(int)"
   27464     has_minimum: true
   27465     minimum: 4
   27466   }
   27467   attr {
   27468     name: "strides"
   27469     type: "list(int)"
   27470     has_minimum: true
   27471     minimum: 4
   27472   }
   27473   attr {
   27474     name: "padding"
   27475     type: "string"
   27476     allowed_values {
   27477       list {
   27478         s: "SAME"
   27479         s: "VALID"
   27480       }
   27481     }
   27482   }
   27483   attr {
   27484     name: "Targmax"
   27485     type: "type"
   27486     allowed_values {
   27487       list {
   27488         type: DT_INT32
   27489         type: DT_INT64
   27490       }
   27491     }
   27492   }
   27493   attr {
   27494     name: "T"
   27495     type: "type"
   27496     allowed_values {
   27497       list {
   27498         type: DT_FLOAT
   27499         type: DT_DOUBLE
   27500         type: DT_INT32
   27501         type: DT_UINT8
   27502         type: DT_INT16
   27503         type: DT_INT8
   27504         type: DT_INT64
   27505         type: DT_BFLOAT16
   27506         type: DT_UINT16
   27507         type: DT_HALF
   27508         type: DT_UINT32
   27509         type: DT_UINT64
   27510       }
   27511     }
   27512   }
   27513 }
   27514 op {
   27515   name: "MaxPoolGradV2"
   27516   input_arg {
   27517     name: "orig_input"
   27518     type_attr: "T"
   27519   }
   27520   input_arg {
   27521     name: "orig_output"
   27522     type_attr: "T"
   27523   }
   27524   input_arg {
   27525     name: "grad"
   27526     type_attr: "T"
   27527   }
   27528   input_arg {
   27529     name: "ksize"
   27530     type: DT_INT32
   27531   }
   27532   input_arg {
   27533     name: "strides"
   27534     type: DT_INT32
   27535   }
   27536   output_arg {
   27537     name: "output"
   27538     type_attr: "T"
   27539   }
   27540   attr {
   27541     name: "padding"
   27542     type: "string"
   27543     allowed_values {
   27544       list {
   27545         s: "SAME"
   27546         s: "VALID"
   27547       }
   27548     }
   27549   }
   27550   attr {
   27551     name: "data_format"
   27552     type: "string"
   27553     default_value {
   27554       s: "NHWC"
   27555     }
   27556     allowed_values {
   27557       list {
   27558         s: "NHWC"
   27559         s: "NCHW"
   27560       }
   27561     }
   27562   }
   27563   attr {
   27564     name: "T"
   27565     type: "type"
   27566     default_value {
   27567       type: DT_FLOAT
   27568     }
   27569     allowed_values {
   27570       list {
   27571         type: DT_FLOAT
   27572         type: DT_DOUBLE
   27573         type: DT_INT32
   27574         type: DT_INT64
   27575         type: DT_UINT8
   27576         type: DT_INT16
   27577         type: DT_INT8
   27578         type: DT_UINT16
   27579         type: DT_HALF
   27580       }
   27581     }
   27582   }
   27583 }
   27584 op {
   27585   name: "MaxPoolGradV2"
   27586   input_arg {
   27587     name: "orig_input"
   27588     type_attr: "T"
   27589   }
   27590   input_arg {
   27591     name: "orig_output"
   27592     type_attr: "T"
   27593   }
   27594   input_arg {
   27595     name: "grad"
   27596     type_attr: "T"
   27597   }
   27598   input_arg {
   27599     name: "ksize"
   27600     type: DT_INT32
   27601   }
   27602   input_arg {
   27603     name: "strides"
   27604     type: DT_INT32
   27605   }
   27606   output_arg {
   27607     name: "output"
   27608     type_attr: "T"
   27609   }
   27610   attr {
   27611     name: "padding"
   27612     type: "string"
   27613     allowed_values {
   27614       list {
   27615         s: "SAME"
   27616         s: "VALID"
   27617       }
   27618     }
   27619   }
   27620   attr {
   27621     name: "data_format"
   27622     type: "string"
   27623     default_value {
   27624       s: "NHWC"
   27625     }
   27626     allowed_values {
   27627       list {
   27628         s: "NHWC"
   27629         s: "NCHW"
   27630       }
   27631     }
   27632   }
   27633   attr {
   27634     name: "T"
   27635     type: "type"
   27636     default_value {
   27637       type: DT_FLOAT
   27638     }
   27639     allowed_values {
   27640       list {
   27641         type: DT_FLOAT
   27642         type: DT_DOUBLE
   27643         type: DT_INT32
   27644         type: DT_INT64
   27645         type: DT_UINT8
   27646         type: DT_INT16
   27647         type: DT_INT8
   27648         type: DT_UINT16
   27649         type: DT_HALF
   27650         type: DT_UINT32
   27651         type: DT_UINT64
   27652       }
   27653     }
   27654   }
   27655 }
   27656 op {
   27657   name: "MaxPoolGradV2"
   27658   input_arg {
   27659     name: "orig_input"
   27660     type_attr: "T"
   27661   }
   27662   input_arg {
   27663     name: "orig_output"
   27664     type_attr: "T"
   27665   }
   27666   input_arg {
   27667     name: "grad"
   27668     type_attr: "T"
   27669   }
   27670   input_arg {
   27671     name: "ksize"
   27672     type: DT_INT32
   27673   }
   27674   input_arg {
   27675     name: "strides"
   27676     type: DT_INT32
   27677   }
   27678   output_arg {
   27679     name: "output"
   27680     type_attr: "T"
   27681   }
   27682   attr {
   27683     name: "padding"
   27684     type: "string"
   27685     allowed_values {
   27686       list {
   27687         s: "SAME"
   27688         s: "VALID"
   27689       }
   27690     }
   27691   }
   27692   attr {
   27693     name: "data_format"
   27694     type: "string"
   27695     default_value {
   27696       s: "NHWC"
   27697     }
   27698     allowed_values {
   27699       list {
   27700         s: "NHWC"
   27701         s: "NCHW"
   27702       }
   27703     }
   27704   }
   27705   attr {
   27706     name: "T"
   27707     type: "type"
   27708     default_value {
   27709       type: DT_FLOAT
   27710     }
   27711     allowed_values {
   27712       list {
   27713         type: DT_FLOAT
   27714         type: DT_DOUBLE
   27715         type: DT_INT32
   27716         type: DT_INT64
   27717         type: DT_UINT8
   27718         type: DT_INT16
   27719         type: DT_INT8
   27720         type: DT_UINT16
   27721         type: DT_HALF
   27722         type: DT_UINT32
   27723         type: DT_UINT64
   27724         type: DT_BFLOAT16
   27725       }
   27726     }
   27727   }
   27728 }
   27729 op {
   27730   name: "MaxPoolGradV2"
   27731   input_arg {
   27732     name: "orig_input"
   27733     type_attr: "T"
   27734   }
   27735   input_arg {
   27736     name: "orig_output"
   27737     type_attr: "T"
   27738   }
   27739   input_arg {
   27740     name: "grad"
   27741     type_attr: "T"
   27742   }
   27743   input_arg {
   27744     name: "ksize"
   27745     type: DT_INT32
   27746   }
   27747   input_arg {
   27748     name: "strides"
   27749     type: DT_INT32
   27750   }
   27751   output_arg {
   27752     name: "output"
   27753     type_attr: "T"
   27754   }
   27755   attr {
   27756     name: "padding"
   27757     type: "string"
   27758     allowed_values {
   27759       list {
   27760         s: "SAME"
   27761         s: "VALID"
   27762       }
   27763     }
   27764   }
   27765   attr {
   27766     name: "data_format"
   27767     type: "string"
   27768     default_value {
   27769       s: "NHWC"
   27770     }
   27771     allowed_values {
   27772       list {
   27773         s: "NHWC"
   27774         s: "NCHW"
   27775       }
   27776     }
   27777   }
   27778   attr {
   27779     name: "T"
   27780     type: "type"
   27781     default_value {
   27782       type: DT_FLOAT
   27783     }
   27784     allowed_values {
   27785       list {
   27786         type: DT_FLOAT
   27787         type: DT_DOUBLE
   27788         type: DT_INT32
   27789         type: DT_UINT8
   27790         type: DT_INT16
   27791         type: DT_INT8
   27792         type: DT_INT64
   27793         type: DT_BFLOAT16
   27794         type: DT_UINT16
   27795         type: DT_HALF
   27796         type: DT_UINT32
   27797         type: DT_UINT64
   27798       }
   27799     }
   27800   }
   27801 }
   27802 op {
   27803   name: "MaxPoolGradWithArgmax"
   27804   input_arg {
   27805     name: "input"
   27806     type_attr: "T"
   27807   }
   27808   input_arg {
   27809     name: "grad"
   27810     type_attr: "T"
   27811   }
   27812   input_arg {
   27813     name: "argmax"
   27814     type_attr: "Targmax"
   27815   }
   27816   output_arg {
   27817     name: "output"
   27818     type_attr: "T"
   27819   }
   27820   attr {
   27821     name: "ksize"
   27822     type: "list(int)"
   27823     has_minimum: true
   27824     minimum: 4
   27825   }
   27826   attr {
   27827     name: "strides"
   27828     type: "list(int)"
   27829     has_minimum: true
   27830     minimum: 4
   27831   }
   27832   attr {
   27833     name: "padding"
   27834     type: "string"
   27835     allowed_values {
   27836       list {
   27837         s: "SAME"
   27838         s: "VALID"
   27839       }
   27840     }
   27841   }
   27842   attr {
   27843     name: "Targmax"
   27844     type: "type"
   27845     allowed_values {
   27846       list {
   27847         type: DT_INT32
   27848         type: DT_INT64
   27849       }
   27850     }
   27851   }
   27852   attr {
   27853     name: "T"
   27854     type: "type"
   27855     default_value {
   27856       type: DT_FLOAT
   27857     }
   27858     allowed_values {
   27859       list {
   27860         type: DT_FLOAT
   27861         type: DT_HALF
   27862       }
   27863     }
   27864   }
   27865 }
   27866 op {
   27867   name: "MaxPoolGradWithArgmax"
   27868   input_arg {
   27869     name: "input"
   27870     type_attr: "T"
   27871   }
   27872   input_arg {
   27873     name: "grad"
   27874     type_attr: "T"
   27875   }
   27876   input_arg {
   27877     name: "argmax"
   27878     type_attr: "Targmax"
   27879   }
   27880   output_arg {
   27881     name: "output"
   27882     type_attr: "T"
   27883   }
   27884   attr {
   27885     name: "ksize"
   27886     type: "list(int)"
   27887     has_minimum: true
   27888     minimum: 4
   27889   }
   27890   attr {
   27891     name: "strides"
   27892     type: "list(int)"
   27893     has_minimum: true
   27894     minimum: 4
   27895   }
   27896   attr {
   27897     name: "padding"
   27898     type: "string"
   27899     allowed_values {
   27900       list {
   27901         s: "SAME"
   27902         s: "VALID"
   27903       }
   27904     }
   27905   }
   27906   attr {
   27907     name: "Targmax"
   27908     type: "type"
   27909     allowed_values {
   27910       list {
   27911         type: DT_INT32
   27912         type: DT_INT64
   27913       }
   27914     }
   27915   }
   27916   attr {
   27917     name: "T"
   27918     type: "type"
   27919     allowed_values {
   27920       list {
   27921         type: DT_FLOAT
   27922         type: DT_DOUBLE
   27923         type: DT_INT32
   27924         type: DT_INT64
   27925         type: DT_UINT8
   27926         type: DT_INT16
   27927         type: DT_INT8
   27928         type: DT_UINT16
   27929         type: DT_HALF
   27930       }
   27931     }
   27932   }
   27933 }
   27934 op {
   27935   name: "MaxPoolGradWithArgmax"
   27936   input_arg {
   27937     name: "input"
   27938     type_attr: "T"
   27939   }
   27940   input_arg {
   27941     name: "grad"
   27942     type_attr: "T"
   27943   }
   27944   input_arg {
   27945     name: "argmax"
   27946     type_attr: "Targmax"
   27947   }
   27948   output_arg {
   27949     name: "output"
   27950     type_attr: "T"
   27951   }
   27952   attr {
   27953     name: "ksize"
   27954     type: "list(int)"
   27955     has_minimum: true
   27956     minimum: 4
   27957   }
   27958   attr {
   27959     name: "strides"
   27960     type: "list(int)"
   27961     has_minimum: true
   27962     minimum: 4
   27963   }
   27964   attr {
   27965     name: "padding"
   27966     type: "string"
   27967     allowed_values {
   27968       list {
   27969         s: "SAME"
   27970         s: "VALID"
   27971       }
   27972     }
   27973   }
   27974   attr {
   27975     name: "Targmax"
   27976     type: "type"
   27977     allowed_values {
   27978       list {
   27979         type: DT_INT32
   27980         type: DT_INT64
   27981       }
   27982     }
   27983   }
   27984   attr {
   27985     name: "T"
   27986     type: "type"
   27987     allowed_values {
   27988       list {
   27989         type: DT_FLOAT
   27990         type: DT_DOUBLE
   27991         type: DT_INT32
   27992         type: DT_INT64
   27993         type: DT_UINT8
   27994         type: DT_INT16
   27995         type: DT_INT8
   27996         type: DT_UINT16
   27997         type: DT_HALF
   27998         type: DT_UINT32
   27999         type: DT_UINT64
   28000       }
   28001     }
   28002   }
   28003 }
   28004 op {
   28005   name: "MaxPoolGradWithArgmax"
   28006   input_arg {
   28007     name: "input"
   28008     type_attr: "T"
   28009   }
   28010   input_arg {
   28011     name: "grad"
   28012     type_attr: "T"
   28013   }
   28014   input_arg {
   28015     name: "argmax"
   28016     type_attr: "Targmax"
   28017   }
   28018   output_arg {
   28019     name: "output"
   28020     type_attr: "T"
   28021   }
   28022   attr {
   28023     name: "ksize"
   28024     type: "list(int)"
   28025     has_minimum: true
   28026     minimum: 4
   28027   }
   28028   attr {
   28029     name: "strides"
   28030     type: "list(int)"
   28031     has_minimum: true
   28032     minimum: 4
   28033   }
   28034   attr {
   28035     name: "padding"
   28036     type: "string"
   28037     allowed_values {
   28038       list {
   28039         s: "SAME"
   28040         s: "VALID"
   28041       }
   28042     }
   28043   }
   28044   attr {
   28045     name: "Targmax"
   28046     type: "type"
   28047     allowed_values {
   28048       list {
   28049         type: DT_INT32
   28050         type: DT_INT64
   28051       }
   28052     }
   28053   }
   28054   attr {
   28055     name: "T"
   28056     type: "type"
   28057     allowed_values {
   28058       list {
   28059         type: DT_FLOAT
   28060         type: DT_DOUBLE
   28061         type: DT_INT32
   28062         type: DT_INT64
   28063         type: DT_UINT8
   28064         type: DT_INT16
   28065         type: DT_INT8
   28066         type: DT_UINT16
   28067         type: DT_HALF
   28068         type: DT_UINT32
   28069         type: DT_UINT64
   28070         type: DT_BFLOAT16
   28071       }
   28072     }
   28073   }
   28074 }
   28075 op {
   28076   name: "MaxPoolGradWithArgmax"
   28077   input_arg {
   28078     name: "input"
   28079     type_attr: "T"
   28080   }
   28081   input_arg {
   28082     name: "grad"
   28083     type_attr: "T"
   28084   }
   28085   input_arg {
   28086     name: "argmax"
   28087     type_attr: "Targmax"
   28088   }
   28089   output_arg {
   28090     name: "output"
   28091     type_attr: "T"
   28092   }
   28093   attr {
   28094     name: "ksize"
   28095     type: "list(int)"
   28096     has_minimum: true
   28097     minimum: 4
   28098   }
   28099   attr {
   28100     name: "strides"
   28101     type: "list(int)"
   28102     has_minimum: true
   28103     minimum: 4
   28104   }
   28105   attr {
   28106     name: "padding"
   28107     type: "string"
   28108     allowed_values {
   28109       list {
   28110         s: "SAME"
   28111         s: "VALID"
   28112       }
   28113     }
   28114   }
   28115   attr {
   28116     name: "Targmax"
   28117     type: "type"
   28118     allowed_values {
   28119       list {
   28120         type: DT_INT32
   28121         type: DT_INT64
   28122       }
   28123     }
   28124   }
   28125   attr {
   28126     name: "T"
   28127     type: "type"
   28128     allowed_values {
   28129       list {
   28130         type: DT_FLOAT
   28131         type: DT_DOUBLE
   28132         type: DT_INT32
   28133         type: DT_UINT8
   28134         type: DT_INT16
   28135         type: DT_INT8
   28136         type: DT_INT64
   28137         type: DT_BFLOAT16
   28138         type: DT_UINT16
   28139         type: DT_HALF
   28140         type: DT_UINT32
   28141         type: DT_UINT64
   28142       }
   28143     }
   28144   }
   28145 }
   28146 op {
   28147   name: "MaxPoolV2"
   28148   input_arg {
   28149     name: "input"
   28150     type_attr: "T"
   28151   }
   28152   input_arg {
   28153     name: "ksize"
   28154     type: DT_INT32
   28155   }
   28156   input_arg {
   28157     name: "strides"
   28158     type: DT_INT32
   28159   }
   28160   output_arg {
   28161     name: "output"
   28162     type_attr: "T"
   28163   }
   28164   attr {
   28165     name: "T"
   28166     type: "type"
   28167     default_value {
   28168       type: DT_FLOAT
   28169     }
   28170     allowed_values {
   28171       list {
   28172         type: DT_FLOAT
   28173         type: DT_DOUBLE
   28174         type: DT_INT32
   28175         type: DT_INT64
   28176         type: DT_UINT8
   28177         type: DT_INT16
   28178         type: DT_INT8
   28179         type: DT_UINT16
   28180         type: DT_HALF
   28181       }
   28182     }
   28183   }
   28184   attr {
   28185     name: "padding"
   28186     type: "string"
   28187     allowed_values {
   28188       list {
   28189         s: "SAME"
   28190         s: "VALID"
   28191       }
   28192     }
   28193   }
   28194   attr {
   28195     name: "data_format"
   28196     type: "string"
   28197     default_value {
   28198       s: "NHWC"
   28199     }
   28200     allowed_values {
   28201       list {
   28202         s: "NHWC"
   28203         s: "NCHW"
   28204       }
   28205     }
   28206   }
   28207 }
   28208 op {
   28209   name: "MaxPoolV2"
   28210   input_arg {
   28211     name: "input"
   28212     type_attr: "T"
   28213   }
   28214   input_arg {
   28215     name: "ksize"
   28216     type: DT_INT32
   28217   }
   28218   input_arg {
   28219     name: "strides"
   28220     type: DT_INT32
   28221   }
   28222   output_arg {
   28223     name: "output"
   28224     type_attr: "T"
   28225   }
   28226   attr {
   28227     name: "T"
   28228     type: "type"
   28229     default_value {
   28230       type: DT_FLOAT
   28231     }
   28232     allowed_values {
   28233       list {
   28234         type: DT_FLOAT
   28235         type: DT_DOUBLE
   28236         type: DT_INT32
   28237         type: DT_INT64
   28238         type: DT_UINT8
   28239         type: DT_INT16
   28240         type: DT_INT8
   28241         type: DT_UINT16
   28242         type: DT_HALF
   28243         type: DT_QINT8
   28244       }
   28245     }
   28246   }
   28247   attr {
   28248     name: "padding"
   28249     type: "string"
   28250     allowed_values {
   28251       list {
   28252         s: "SAME"
   28253         s: "VALID"
   28254       }
   28255     }
   28256   }
   28257   attr {
   28258     name: "data_format"
   28259     type: "string"
   28260     default_value {
   28261       s: "NHWC"
   28262     }
   28263     allowed_values {
   28264       list {
   28265         s: "NHWC"
   28266         s: "NCHW"
   28267         s: "NCHW_VECT_C"
   28268       }
   28269     }
   28270   }
   28271 }
   28272 op {
   28273   name: "MaxPoolV2"
   28274   input_arg {
   28275     name: "input"
   28276     type_attr: "T"
   28277   }
   28278   input_arg {
   28279     name: "ksize"
   28280     type: DT_INT32
   28281   }
   28282   input_arg {
   28283     name: "strides"
   28284     type: DT_INT32
   28285   }
   28286   output_arg {
   28287     name: "output"
   28288     type_attr: "T"
   28289   }
   28290   attr {
   28291     name: "T"
   28292     type: "type"
   28293     default_value {
   28294       type: DT_FLOAT
   28295     }
   28296     allowed_values {
   28297       list {
   28298         type: DT_HALF
   28299         type: DT_BFLOAT16
   28300         type: DT_FLOAT
   28301         type: DT_DOUBLE
   28302         type: DT_INT32
   28303         type: DT_INT64
   28304         type: DT_UINT8
   28305         type: DT_INT16
   28306         type: DT_INT8
   28307         type: DT_UINT16
   28308         type: DT_QINT8
   28309       }
   28310     }
   28311   }
   28312   attr {
   28313     name: "padding"
   28314     type: "string"
   28315     allowed_values {
   28316       list {
   28317         s: "SAME"
   28318         s: "VALID"
   28319       }
   28320     }
   28321   }
   28322   attr {
   28323     name: "data_format"
   28324     type: "string"
   28325     default_value {
   28326       s: "NHWC"
   28327     }
   28328     allowed_values {
   28329       list {
   28330         s: "NHWC"
   28331         s: "NCHW"
   28332         s: "NCHW_VECT_C"
   28333       }
   28334     }
   28335   }
   28336 }
   28337 op {
   28338   name: "MaxPoolWithArgmax"
   28339   input_arg {
   28340     name: "input"
   28341     type_attr: "T"
   28342   }
   28343   output_arg {
   28344     name: "output"
   28345     type_attr: "T"
   28346   }
   28347   output_arg {
   28348     name: "argmax"
   28349     type_attr: "Targmax"
   28350   }
   28351   attr {
   28352     name: "ksize"
   28353     type: "list(int)"
   28354     has_minimum: true
   28355     minimum: 4
   28356   }
   28357   attr {
   28358     name: "strides"
   28359     type: "list(int)"
   28360     has_minimum: true
   28361     minimum: 4
   28362   }
   28363   attr {
   28364     name: "Targmax"
   28365     type: "type"
   28366     default_value {
   28367       type: DT_INT64
   28368     }
   28369     allowed_values {
   28370       list {
   28371         type: DT_INT32
   28372         type: DT_INT64
   28373       }
   28374     }
   28375   }
   28376   attr {
   28377     name: "padding"
   28378     type: "string"
   28379     allowed_values {
   28380       list {
   28381         s: "SAME"
   28382         s: "VALID"
   28383       }
   28384     }
   28385   }
   28386   attr {
   28387     name: "T"
   28388     type: "type"
   28389     default_value {
   28390       type: DT_FLOAT
   28391     }
   28392     allowed_values {
   28393       list {
   28394         type: DT_FLOAT
   28395         type: DT_HALF
   28396       }
   28397     }
   28398   }
   28399 }
   28400 op {
   28401   name: "MaxPoolWithArgmax"
   28402   input_arg {
   28403     name: "input"
   28404     type_attr: "T"
   28405   }
   28406   output_arg {
   28407     name: "output"
   28408     type_attr: "T"
   28409   }
   28410   output_arg {
   28411     name: "argmax"
   28412     type_attr: "Targmax"
   28413   }
   28414   attr {
   28415     name: "ksize"
   28416     type: "list(int)"
   28417     has_minimum: true
   28418     minimum: 4
   28419   }
   28420   attr {
   28421     name: "strides"
   28422     type: "list(int)"
   28423     has_minimum: true
   28424     minimum: 4
   28425   }
   28426   attr {
   28427     name: "Targmax"
   28428     type: "type"
   28429     default_value {
   28430       type: DT_INT64
   28431     }
   28432     allowed_values {
   28433       list {
   28434         type: DT_INT32
   28435         type: DT_INT64
   28436       }
   28437     }
   28438   }
   28439   attr {
   28440     name: "padding"
   28441     type: "string"
   28442     allowed_values {
   28443       list {
   28444         s: "SAME"
   28445         s: "VALID"
   28446       }
   28447     }
   28448   }
   28449   attr {
   28450     name: "T"
   28451     type: "type"
   28452     allowed_values {
   28453       list {
   28454         type: DT_FLOAT
   28455         type: DT_DOUBLE
   28456         type: DT_INT32
   28457         type: DT_INT64
   28458         type: DT_UINT8
   28459         type: DT_INT16
   28460         type: DT_INT8
   28461         type: DT_UINT16
   28462         type: DT_HALF
   28463       }
   28464     }
   28465   }
   28466 }
   28467 op {
   28468   name: "MaxPoolWithArgmax"
   28469   input_arg {
   28470     name: "input"
   28471     type_attr: "T"
   28472   }
   28473   output_arg {
   28474     name: "output"
   28475     type_attr: "T"
   28476   }
   28477   output_arg {
   28478     name: "argmax"
   28479     type_attr: "Targmax"
   28480   }
   28481   attr {
   28482     name: "ksize"
   28483     type: "list(int)"
   28484     has_minimum: true
   28485     minimum: 4
   28486   }
   28487   attr {
   28488     name: "strides"
   28489     type: "list(int)"
   28490     has_minimum: true
   28491     minimum: 4
   28492   }
   28493   attr {
   28494     name: "Targmax"
   28495     type: "type"
   28496     default_value {
   28497       type: DT_INT64
   28498     }
   28499     allowed_values {
   28500       list {
   28501         type: DT_INT32
   28502         type: DT_INT64
   28503       }
   28504     }
   28505   }
   28506   attr {
   28507     name: "padding"
   28508     type: "string"
   28509     allowed_values {
   28510       list {
   28511         s: "SAME"
   28512         s: "VALID"
   28513       }
   28514     }
   28515   }
   28516   attr {
   28517     name: "T"
   28518     type: "type"
   28519     allowed_values {
   28520       list {
   28521         type: DT_FLOAT
   28522         type: DT_DOUBLE
   28523         type: DT_INT32
   28524         type: DT_INT64
   28525         type: DT_UINT8
   28526         type: DT_INT16
   28527         type: DT_INT8
   28528         type: DT_UINT16
   28529         type: DT_HALF
   28530         type: DT_UINT32
   28531         type: DT_UINT64
   28532       }
   28533     }
   28534   }
   28535 }
   28536 op {
   28537   name: "MaxPoolWithArgmax"
   28538   input_arg {
   28539     name: "input"
   28540     type_attr: "T"
   28541   }
   28542   output_arg {
   28543     name: "output"
   28544     type_attr: "T"
   28545   }
   28546   output_arg {
   28547     name: "argmax"
   28548     type_attr: "Targmax"
   28549   }
   28550   attr {
   28551     name: "ksize"
   28552     type: "list(int)"
   28553     has_minimum: true
   28554     minimum: 4
   28555   }
   28556   attr {
   28557     name: "strides"
   28558     type: "list(int)"
   28559     has_minimum: true
   28560     minimum: 4
   28561   }
   28562   attr {
   28563     name: "Targmax"
   28564     type: "type"
   28565     default_value {
   28566       type: DT_INT64
   28567     }
   28568     allowed_values {
   28569       list {
   28570         type: DT_INT32
   28571         type: DT_INT64
   28572       }
   28573     }
   28574   }
   28575   attr {
   28576     name: "padding"
   28577     type: "string"
   28578     allowed_values {
   28579       list {
   28580         s: "SAME"
   28581         s: "VALID"
   28582       }
   28583     }
   28584   }
   28585   attr {
   28586     name: "T"
   28587     type: "type"
   28588     allowed_values {
   28589       list {
   28590         type: DT_FLOAT
   28591         type: DT_DOUBLE
   28592         type: DT_INT32
   28593         type: DT_INT64
   28594         type: DT_UINT8
   28595         type: DT_INT16
   28596         type: DT_INT8
   28597         type: DT_UINT16
   28598         type: DT_HALF
   28599         type: DT_UINT32
   28600         type: DT_UINT64
   28601         type: DT_BFLOAT16
   28602       }
   28603     }
   28604   }
   28605 }
   28606 op {
   28607   name: "MaxPoolWithArgmax"
   28608   input_arg {
   28609     name: "input"
   28610     type_attr: "T"
   28611   }
   28612   output_arg {
   28613     name: "output"
   28614     type_attr: "T"
   28615   }
   28616   output_arg {
   28617     name: "argmax"
   28618     type_attr: "Targmax"
   28619   }
   28620   attr {
   28621     name: "ksize"
   28622     type: "list(int)"
   28623     has_minimum: true
   28624     minimum: 4
   28625   }
   28626   attr {
   28627     name: "strides"
   28628     type: "list(int)"
   28629     has_minimum: true
   28630     minimum: 4
   28631   }
   28632   attr {
   28633     name: "Targmax"
   28634     type: "type"
   28635     default_value {
   28636       type: DT_INT64
   28637     }
   28638     allowed_values {
   28639       list {
   28640         type: DT_INT32
   28641         type: DT_INT64
   28642       }
   28643     }
   28644   }
   28645   attr {
   28646     name: "padding"
   28647     type: "string"
   28648     allowed_values {
   28649       list {
   28650         s: "SAME"
   28651         s: "VALID"
   28652       }
   28653     }
   28654   }
   28655   attr {
   28656     name: "T"
   28657     type: "type"
   28658     allowed_values {
   28659       list {
   28660         type: DT_FLOAT
   28661         type: DT_DOUBLE
   28662         type: DT_INT32
   28663         type: DT_UINT8
   28664         type: DT_INT16
   28665         type: DT_INT8
   28666         type: DT_INT64
   28667         type: DT_BFLOAT16
   28668         type: DT_UINT16
   28669         type: DT_HALF
   28670         type: DT_UINT32
   28671         type: DT_UINT64
   28672       }
   28673     }
   28674   }
   28675 }
   28676 op {
   28677   name: "Maximum"
   28678   input_arg {
   28679     name: "x"
   28680     type_attr: "T"
   28681   }
   28682   input_arg {
   28683     name: "y"
   28684     type_attr: "T"
   28685   }
   28686   output_arg {
   28687     name: "z"
   28688     type_attr: "T"
   28689   }
   28690   attr {
   28691     name: "T"
   28692     type: "type"
   28693     allowed_values {
   28694       list {
   28695         type: DT_HALF
   28696         type: DT_FLOAT
   28697         type: DT_DOUBLE
   28698         type: DT_INT32
   28699         type: DT_INT64
   28700       }
   28701     }
   28702   }
   28703   is_commutative: true
   28704 }
   28705 op {
   28706   name: "Maximum"
   28707   input_arg {
   28708     name: "x"
   28709     type_attr: "T"
   28710   }
   28711   input_arg {
   28712     name: "y"
   28713     type_attr: "T"
   28714   }
   28715   output_arg {
   28716     name: "z"
   28717     type_attr: "T"
   28718   }
   28719   attr {
   28720     name: "T"
   28721     type: "type"
   28722     allowed_values {
   28723       list {
   28724         type: DT_HALF
   28725         type: DT_BFLOAT16
   28726         type: DT_FLOAT
   28727         type: DT_DOUBLE
   28728         type: DT_INT32
   28729         type: DT_INT64
   28730       }
   28731     }
   28732   }
   28733   is_commutative: true
   28734 }
   28735 op {
   28736   name: "Mean"
   28737   input_arg {
   28738     name: "input"
   28739     type_attr: "T"
   28740   }
   28741   input_arg {
   28742     name: "reduction_indices"
   28743     type_attr: "Tidx"
   28744   }
   28745   output_arg {
   28746     name: "output"
   28747     type_attr: "T"
   28748   }
   28749   attr {
   28750     name: "keep_dims"
   28751     type: "bool"
   28752     default_value {
   28753       b: false
   28754     }
   28755   }
   28756   attr {
   28757     name: "T"
   28758     type: "type"
   28759     allowed_values {
   28760       list {
   28761         type: DT_FLOAT
   28762         type: DT_DOUBLE
   28763         type: DT_INT64
   28764         type: DT_INT32
   28765         type: DT_UINT8
   28766         type: DT_UINT16
   28767         type: DT_INT16
   28768         type: DT_INT8
   28769         type: DT_COMPLEX64
   28770         type: DT_COMPLEX128
   28771         type: DT_QINT8
   28772         type: DT_QUINT8
   28773         type: DT_QINT32
   28774         type: DT_HALF
   28775       }
   28776     }
   28777   }
   28778   attr {
   28779     name: "Tidx"
   28780     type: "type"
   28781     default_value {
   28782       type: DT_INT32
   28783     }
   28784     allowed_values {
   28785       list {
   28786         type: DT_INT32
   28787         type: DT_INT64
   28788       }
   28789     }
   28790   }
   28791 }
   28792 op {
   28793   name: "Mean"
   28794   input_arg {
   28795     name: "input"
   28796     type_attr: "T"
   28797   }
   28798   input_arg {
   28799     name: "reduction_indices"
   28800     type_attr: "Tidx"
   28801   }
   28802   output_arg {
   28803     name: "output"
   28804     type_attr: "T"
   28805   }
   28806   attr {
   28807     name: "keep_dims"
   28808     type: "bool"
   28809     default_value {
   28810       b: false
   28811     }
   28812   }
   28813   attr {
   28814     name: "T"
   28815     type: "type"
   28816     allowed_values {
   28817       list {
   28818         type: DT_FLOAT
   28819         type: DT_DOUBLE
   28820         type: DT_INT64
   28821         type: DT_INT32
   28822         type: DT_UINT8
   28823         type: DT_UINT16
   28824         type: DT_INT16
   28825         type: DT_INT8
   28826         type: DT_COMPLEX64
   28827         type: DT_COMPLEX128
   28828         type: DT_QINT8
   28829         type: DT_QUINT8
   28830         type: DT_QINT32
   28831         type: DT_HALF
   28832         type: DT_UINT32
   28833         type: DT_UINT64
   28834       }
   28835     }
   28836   }
   28837   attr {
   28838     name: "Tidx"
   28839     type: "type"
   28840     default_value {
   28841       type: DT_INT32
   28842     }
   28843     allowed_values {
   28844       list {
   28845         type: DT_INT32
   28846         type: DT_INT64
   28847       }
   28848     }
   28849   }
   28850 }
   28851 op {
   28852   name: "Mean"
   28853   input_arg {
   28854     name: "input"
   28855     type_attr: "T"
   28856   }
   28857   input_arg {
   28858     name: "reduction_indices"
   28859     type_attr: "Tidx"
   28860   }
   28861   output_arg {
   28862     name: "output"
   28863     type_attr: "T"
   28864   }
   28865   attr {
   28866     name: "keep_dims"
   28867     type: "bool"
   28868     default_value {
   28869       b: false
   28870     }
   28871   }
   28872   attr {
   28873     name: "T"
   28874     type: "type"
   28875     allowed_values {
   28876       list {
   28877         type: DT_FLOAT
   28878         type: DT_DOUBLE
   28879         type: DT_INT64
   28880         type: DT_INT32
   28881         type: DT_UINT8
   28882         type: DT_UINT16
   28883         type: DT_INT16
   28884         type: DT_INT8
   28885         type: DT_COMPLEX64
   28886         type: DT_COMPLEX128
   28887         type: DT_QINT8
   28888         type: DT_QUINT8
   28889         type: DT_QINT32
   28890         type: DT_HALF
   28891         type: DT_UINT32
   28892         type: DT_UINT64
   28893         type: DT_BFLOAT16
   28894       }
   28895     }
   28896   }
   28897   attr {
   28898     name: "Tidx"
   28899     type: "type"
   28900     default_value {
   28901       type: DT_INT32
   28902     }
   28903     allowed_values {
   28904       list {
   28905         type: DT_INT32
   28906         type: DT_INT64
   28907       }
   28908     }
   28909   }
   28910 }
   28911 op {
   28912   name: "Mean"
   28913   input_arg {
   28914     name: "input"
   28915     type_attr: "T"
   28916   }
   28917   input_arg {
   28918     name: "reduction_indices"
   28919     type_attr: "Tidx"
   28920   }
   28921   output_arg {
   28922     name: "output"
   28923     type_attr: "T"
   28924   }
   28925   attr {
   28926     name: "keep_dims"
   28927     type: "bool"
   28928     default_value {
   28929       b: false
   28930     }
   28931   }
   28932   attr {
   28933     name: "T"
   28934     type: "type"
   28935     allowed_values {
   28936       list {
   28937         type: DT_FLOAT
   28938         type: DT_DOUBLE
   28939         type: DT_INT32
   28940         type: DT_UINT8
   28941         type: DT_INT16
   28942         type: DT_INT8
   28943         type: DT_COMPLEX64
   28944         type: DT_INT64
   28945         type: DT_QINT8
   28946         type: DT_QUINT8
   28947         type: DT_QINT32
   28948         type: DT_BFLOAT16
   28949         type: DT_UINT16
   28950         type: DT_COMPLEX128
   28951         type: DT_HALF
   28952         type: DT_UINT32
   28953         type: DT_UINT64
   28954       }
   28955     }
   28956   }
   28957   attr {
   28958     name: "Tidx"
   28959     type: "type"
   28960     default_value {
   28961       type: DT_INT32
   28962     }
   28963     allowed_values {
   28964       list {
   28965         type: DT_INT32
   28966         type: DT_INT64
   28967       }
   28968     }
   28969   }
   28970 }
   28971 op {
   28972   name: "Merge"
   28973   input_arg {
   28974     name: "inputs"
   28975     type_attr: "T"
   28976     number_attr: "N"
   28977   }
   28978   output_arg {
   28979     name: "output"
   28980     type_attr: "T"
   28981   }
   28982   output_arg {
   28983     name: "value_index"
   28984     type: DT_INT32
   28985   }
   28986   attr {
   28987     name: "T"
   28988     type: "type"
   28989   }
   28990   attr {
   28991     name: "N"
   28992     type: "int"
   28993     has_minimum: true
   28994     minimum: 1
   28995   }
   28996 }
   28997 op {
   28998   name: "MergeSummary"
   28999   input_arg {
   29000     name: "inputs"
   29001     type: DT_STRING
   29002     number_attr: "N"
   29003   }
   29004   output_arg {
   29005     name: "summary"
   29006     type: DT_STRING
   29007   }
   29008   attr {
   29009     name: "N"
   29010     type: "int"
   29011     has_minimum: true
   29012     minimum: 1
   29013   }
   29014 }
   29015 op {
   29016   name: "MergeV2Checkpoints"
   29017   input_arg {
   29018     name: "checkpoint_prefixes"
   29019     type: DT_STRING
   29020   }
   29021   input_arg {
   29022     name: "destination_prefix"
   29023     type: DT_STRING
   29024   }
   29025   attr {
   29026     name: "delete_old_dirs"
   29027     type: "bool"
   29028     default_value {
   29029       b: true
   29030     }
   29031   }
   29032 }
   29033 op {
   29034   name: "MergeV2Checkpoints"
   29035   input_arg {
   29036     name: "checkpoint_prefixes"
   29037     type: DT_STRING
   29038   }
   29039   input_arg {
   29040     name: "destination_prefix"
   29041     type: DT_STRING
   29042   }
   29043   attr {
   29044     name: "delete_old_dirs"
   29045     type: "bool"
   29046     default_value {
   29047       b: true
   29048     }
   29049   }
   29050   is_stateful: true
   29051 }
   29052 op {
   29053   name: "Mfcc"
   29054   input_arg {
   29055     name: "spectrogram"
   29056     type: DT_FLOAT
   29057   }
   29058   input_arg {
   29059     name: "sample_rate"
   29060     type: DT_INT32
   29061   }
   29062   output_arg {
   29063     name: "output"
   29064     type: DT_FLOAT
   29065   }
   29066   attr {
   29067     name: "upper_frequency_limit"
   29068     type: "float"
   29069     default_value {
   29070       f: 4000
   29071     }
   29072   }
   29073   attr {
   29074     name: "lower_frequency_limit"
   29075     type: "float"
   29076     default_value {
   29077       f: 20
   29078     }
   29079   }
   29080   attr {
   29081     name: "filterbank_channel_count"
   29082     type: "int"
   29083     default_value {
   29084       i: 40
   29085     }
   29086   }
   29087   attr {
   29088     name: "dct_coefficient_count"
   29089     type: "int"
   29090     default_value {
   29091       i: 13
   29092     }
   29093   }
   29094 }
   29095 op {
   29096   name: "Min"
   29097   input_arg {
   29098     name: "input"
   29099     type_attr: "T"
   29100   }
   29101   input_arg {
   29102     name: "reduction_indices"
   29103     type_attr: "Tidx"
   29104   }
   29105   output_arg {
   29106     name: "output"
   29107     type_attr: "T"
   29108   }
   29109   attr {
   29110     name: "keep_dims"
   29111     type: "bool"
   29112     default_value {
   29113       b: false
   29114     }
   29115   }
   29116   attr {
   29117     name: "T"
   29118     type: "type"
   29119     allowed_values {
   29120       list {
   29121         type: DT_FLOAT
   29122         type: DT_DOUBLE
   29123         type: DT_INT64
   29124         type: DT_INT32
   29125         type: DT_UINT8
   29126         type: DT_UINT16
   29127         type: DT_INT16
   29128         type: DT_INT8
   29129         type: DT_COMPLEX64
   29130         type: DT_COMPLEX128
   29131         type: DT_QINT8
   29132         type: DT_QUINT8
   29133         type: DT_QINT32
   29134         type: DT_HALF
   29135       }
   29136     }
   29137   }
   29138   attr {
   29139     name: "Tidx"
   29140     type: "type"
   29141     default_value {
   29142       type: DT_INT32
   29143     }
   29144     allowed_values {
   29145       list {
   29146         type: DT_INT32
   29147         type: DT_INT64
   29148       }
   29149     }
   29150   }
   29151 }
   29152 op {
   29153   name: "Min"
   29154   input_arg {
   29155     name: "input"
   29156     type_attr: "T"
   29157   }
   29158   input_arg {
   29159     name: "reduction_indices"
   29160     type_attr: "Tidx"
   29161   }
   29162   output_arg {
   29163     name: "output"
   29164     type_attr: "T"
   29165   }
   29166   attr {
   29167     name: "keep_dims"
   29168     type: "bool"
   29169     default_value {
   29170       b: false
   29171     }
   29172   }
   29173   attr {
   29174     name: "T"
   29175     type: "type"
   29176     allowed_values {
   29177       list {
   29178         type: DT_FLOAT
   29179         type: DT_DOUBLE
   29180         type: DT_INT64
   29181         type: DT_INT32
   29182         type: DT_UINT8
   29183         type: DT_UINT16
   29184         type: DT_INT16
   29185         type: DT_INT8
   29186         type: DT_COMPLEX64
   29187         type: DT_COMPLEX128
   29188         type: DT_QINT8
   29189         type: DT_QUINT8
   29190         type: DT_QINT32
   29191         type: DT_HALF
   29192         type: DT_UINT32
   29193         type: DT_UINT64
   29194       }
   29195     }
   29196   }
   29197   attr {
   29198     name: "Tidx"
   29199     type: "type"
   29200     default_value {
   29201       type: DT_INT32
   29202     }
   29203     allowed_values {
   29204       list {
   29205         type: DT_INT32
   29206         type: DT_INT64
   29207       }
   29208     }
   29209   }
   29210 }
   29211 op {
   29212   name: "Min"
   29213   input_arg {
   29214     name: "input"
   29215     type_attr: "T"
   29216   }
   29217   input_arg {
   29218     name: "reduction_indices"
   29219     type_attr: "Tidx"
   29220   }
   29221   output_arg {
   29222     name: "output"
   29223     type_attr: "T"
   29224   }
   29225   attr {
   29226     name: "keep_dims"
   29227     type: "bool"
   29228     default_value {
   29229       b: false
   29230     }
   29231   }
   29232   attr {
   29233     name: "T"
   29234     type: "type"
   29235     allowed_values {
   29236       list {
   29237         type: DT_FLOAT
   29238         type: DT_DOUBLE
   29239         type: DT_INT64
   29240         type: DT_INT32
   29241         type: DT_UINT8
   29242         type: DT_UINT16
   29243         type: DT_INT16
   29244         type: DT_INT8
   29245         type: DT_COMPLEX64
   29246         type: DT_COMPLEX128
   29247         type: DT_QINT8
   29248         type: DT_QUINT8
   29249         type: DT_QINT32
   29250         type: DT_HALF
   29251         type: DT_UINT32
   29252         type: DT_UINT64
   29253         type: DT_BFLOAT16
   29254       }
   29255     }
   29256   }
   29257   attr {
   29258     name: "Tidx"
   29259     type: "type"
   29260     default_value {
   29261       type: DT_INT32
   29262     }
   29263     allowed_values {
   29264       list {
   29265         type: DT_INT32
   29266         type: DT_INT64
   29267       }
   29268     }
   29269   }
   29270 }
   29271 op {
   29272   name: "Min"
   29273   input_arg {
   29274     name: "input"
   29275     type_attr: "T"
   29276   }
   29277   input_arg {
   29278     name: "reduction_indices"
   29279     type_attr: "Tidx"
   29280   }
   29281   output_arg {
   29282     name: "output"
   29283     type_attr: "T"
   29284   }
   29285   attr {
   29286     name: "keep_dims"
   29287     type: "bool"
   29288     default_value {
   29289       b: false
   29290     }
   29291   }
   29292   attr {
   29293     name: "T"
   29294     type: "type"
   29295     allowed_values {
   29296       list {
   29297         type: DT_FLOAT
   29298         type: DT_DOUBLE
   29299         type: DT_INT32
   29300         type: DT_UINT8
   29301         type: DT_INT16
   29302         type: DT_INT8
   29303         type: DT_COMPLEX64
   29304         type: DT_INT64
   29305         type: DT_QINT8
   29306         type: DT_QUINT8
   29307         type: DT_QINT32
   29308         type: DT_BFLOAT16
   29309         type: DT_UINT16
   29310         type: DT_COMPLEX128
   29311         type: DT_HALF
   29312         type: DT_UINT32
   29313         type: DT_UINT64
   29314       }
   29315     }
   29316   }
   29317   attr {
   29318     name: "Tidx"
   29319     type: "type"
   29320     default_value {
   29321       type: DT_INT32
   29322     }
   29323     allowed_values {
   29324       list {
   29325         type: DT_INT32
   29326         type: DT_INT64
   29327       }
   29328     }
   29329   }
   29330 }
   29331 op {
   29332   name: "Minimum"
   29333   input_arg {
   29334     name: "x"
   29335     type_attr: "T"
   29336   }
   29337   input_arg {
   29338     name: "y"
   29339     type_attr: "T"
   29340   }
   29341   output_arg {
   29342     name: "z"
   29343     type_attr: "T"
   29344   }
   29345   attr {
   29346     name: "T"
   29347     type: "type"
   29348     allowed_values {
   29349       list {
   29350         type: DT_HALF
   29351         type: DT_FLOAT
   29352         type: DT_DOUBLE
   29353         type: DT_INT32
   29354         type: DT_INT64
   29355       }
   29356     }
   29357   }
   29358   is_commutative: true
   29359 }
   29360 op {
   29361   name: "Minimum"
   29362   input_arg {
   29363     name: "x"
   29364     type_attr: "T"
   29365   }
   29366   input_arg {
   29367     name: "y"
   29368     type_attr: "T"
   29369   }
   29370   output_arg {
   29371     name: "z"
   29372     type_attr: "T"
   29373   }
   29374   attr {
   29375     name: "T"
   29376     type: "type"
   29377     allowed_values {
   29378       list {
   29379         type: DT_HALF
   29380         type: DT_BFLOAT16
   29381         type: DT_FLOAT
   29382         type: DT_DOUBLE
   29383         type: DT_INT32
   29384         type: DT_INT64
   29385       }
   29386     }
   29387   }
   29388   is_commutative: true
   29389 }
   29390 op {
   29391   name: "MirrorPad"
   29392   input_arg {
   29393     name: "input"
   29394     type_attr: "T"
   29395   }
   29396   input_arg {
   29397     name: "paddings"
   29398     type_attr: "Tpaddings"
   29399   }
   29400   output_arg {
   29401     name: "output"
   29402     type_attr: "T"
   29403   }
   29404   attr {
   29405     name: "T"
   29406     type: "type"
   29407   }
   29408   attr {
   29409     name: "Tpaddings"
   29410     type: "type"
   29411     default_value {
   29412       type: DT_INT32
   29413     }
   29414     allowed_values {
   29415       list {
   29416         type: DT_INT32
   29417         type: DT_INT64
   29418       }
   29419     }
   29420   }
   29421   attr {
   29422     name: "mode"
   29423     type: "string"
   29424     allowed_values {
   29425       list {
   29426         s: "REFLECT"
   29427         s: "SYMMETRIC"
   29428       }
   29429     }
   29430   }
   29431 }
   29432 op {
   29433   name: "MirrorPadGrad"
   29434   input_arg {
   29435     name: "input"
   29436     type_attr: "T"
   29437   }
   29438   input_arg {
   29439     name: "paddings"
   29440     type_attr: "Tpaddings"
   29441   }
   29442   output_arg {
   29443     name: "output"
   29444     type_attr: "T"
   29445   }
   29446   attr {
   29447     name: "T"
   29448     type: "type"
   29449   }
   29450   attr {
   29451     name: "Tpaddings"
   29452     type: "type"
   29453     default_value {
   29454       type: DT_INT32
   29455     }
   29456     allowed_values {
   29457       list {
   29458         type: DT_INT32
   29459         type: DT_INT64
   29460       }
   29461     }
   29462   }
   29463   attr {
   29464     name: "mode"
   29465     type: "string"
   29466     allowed_values {
   29467       list {
   29468         s: "REFLECT"
   29469         s: "SYMMETRIC"
   29470       }
   29471     }
   29472   }
   29473 }
   29474 op {
   29475   name: "Mod"
   29476   input_arg {
   29477     name: "x"
   29478     type_attr: "T"
   29479   }
   29480   input_arg {
   29481     name: "y"
   29482     type_attr: "T"
   29483   }
   29484   output_arg {
   29485     name: "z"
   29486     type_attr: "T"
   29487   }
   29488   attr {
   29489     name: "T"
   29490     type: "type"
   29491     allowed_values {
   29492       list {
   29493         type: DT_INT32
   29494         type: DT_INT64
   29495         type: DT_FLOAT
   29496         type: DT_DOUBLE
   29497       }
   29498     }
   29499   }
   29500 }
   29501 op {
   29502   name: "Mod"
   29503   input_arg {
   29504     name: "x"
   29505     type_attr: "T"
   29506   }
   29507   input_arg {
   29508     name: "y"
   29509     type_attr: "T"
   29510   }
   29511   output_arg {
   29512     name: "z"
   29513     type_attr: "T"
   29514   }
   29515   attr {
   29516     name: "T"
   29517     type: "type"
   29518     allowed_values {
   29519       list {
   29520         type: DT_INT32
   29521         type: DT_INT64
   29522         type: DT_BFLOAT16
   29523         type: DT_FLOAT
   29524         type: DT_DOUBLE
   29525       }
   29526     }
   29527   }
   29528 }
   29529 op {
   29530   name: "Mul"
   29531   input_arg {
   29532     name: "x"
   29533     type_attr: "T"
   29534   }
   29535   input_arg {
   29536     name: "y"
   29537     type_attr: "T"
   29538   }
   29539   output_arg {
   29540     name: "z"
   29541     type_attr: "T"
   29542   }
   29543   attr {
   29544     name: "T"
   29545     type: "type"
   29546     allowed_values {
   29547       list {
   29548         type: DT_HALF
   29549         type: DT_FLOAT
   29550         type: DT_DOUBLE
   29551         type: DT_UINT8
   29552         type: DT_INT8
   29553         type: DT_UINT16
   29554         type: DT_INT16
   29555         type: DT_INT32
   29556         type: DT_INT64
   29557         type: DT_COMPLEX64
   29558         type: DT_COMPLEX128
   29559       }
   29560     }
   29561   }
   29562   is_commutative: true
   29563 }
   29564 op {
   29565   name: "Mul"
   29566   input_arg {
   29567     name: "x"
   29568     type_attr: "T"
   29569   }
   29570   input_arg {
   29571     name: "y"
   29572     type_attr: "T"
   29573   }
   29574   output_arg {
   29575     name: "z"
   29576     type_attr: "T"
   29577   }
   29578   attr {
   29579     name: "T"
   29580     type: "type"
   29581     allowed_values {
   29582       list {
   29583         type: DT_HALF
   29584         type: DT_BFLOAT16
   29585         type: DT_FLOAT
   29586         type: DT_DOUBLE
   29587         type: DT_UINT8
   29588         type: DT_INT8
   29589         type: DT_UINT16
   29590         type: DT_INT16
   29591         type: DT_INT32
   29592         type: DT_INT64
   29593         type: DT_COMPLEX64
   29594         type: DT_COMPLEX128
   29595       }
   29596     }
   29597   }
   29598   is_commutative: true
   29599 }
   29600 op {
   29601   name: "Multinomial"
   29602   input_arg {
   29603     name: "logits"
   29604     type_attr: "T"
   29605   }
   29606   input_arg {
   29607     name: "num_samples"
   29608     type: DT_INT32
   29609   }
   29610   output_arg {
   29611     name: "output"
   29612     type: DT_INT64
   29613   }
   29614   attr {
   29615     name: "seed"
   29616     type: "int"
   29617     default_value {
   29618       i: 0
   29619     }
   29620   }
   29621   attr {
   29622     name: "seed2"
   29623     type: "int"
   29624     default_value {
   29625       i: 0
   29626     }
   29627   }
   29628   attr {
   29629     name: "T"
   29630     type: "type"
   29631     allowed_values {
   29632       list {
   29633         type: DT_FLOAT
   29634         type: DT_DOUBLE
   29635         type: DT_INT32
   29636         type: DT_INT64
   29637         type: DT_UINT8
   29638         type: DT_INT16
   29639         type: DT_INT8
   29640         type: DT_UINT16
   29641         type: DT_HALF
   29642       }
   29643     }
   29644   }
   29645   is_stateful: true
   29646 }
   29647 op {
   29648   name: "Multinomial"
   29649   input_arg {
   29650     name: "logits"
   29651     type_attr: "T"
   29652   }
   29653   input_arg {
   29654     name: "num_samples"
   29655     type: DT_INT32
   29656   }
   29657   output_arg {
   29658     name: "output"
   29659     type: DT_INT64
   29660   }
   29661   attr {
   29662     name: "seed"
   29663     type: "int"
   29664     default_value {
   29665       i: 0
   29666     }
   29667   }
   29668   attr {
   29669     name: "seed2"
   29670     type: "int"
   29671     default_value {
   29672       i: 0
   29673     }
   29674   }
   29675   attr {
   29676     name: "T"
   29677     type: "type"
   29678     allowed_values {
   29679       list {
   29680         type: DT_FLOAT
   29681         type: DT_DOUBLE
   29682         type: DT_INT32
   29683         type: DT_INT64
   29684         type: DT_UINT8
   29685         type: DT_INT16
   29686         type: DT_INT8
   29687         type: DT_UINT16
   29688         type: DT_HALF
   29689         type: DT_UINT32
   29690         type: DT_UINT64
   29691       }
   29692     }
   29693   }
   29694   is_stateful: true
   29695 }
   29696 op {
   29697   name: "Multinomial"
   29698   input_arg {
   29699     name: "logits"
   29700     type_attr: "T"
   29701   }
   29702   input_arg {
   29703     name: "num_samples"
   29704     type: DT_INT32
   29705   }
   29706   output_arg {
   29707     name: "output"
   29708     type_attr: "output_dtype"
   29709   }
   29710   attr {
   29711     name: "seed"
   29712     type: "int"
   29713     default_value {
   29714       i: 0
   29715     }
   29716   }
   29717   attr {
   29718     name: "seed2"
   29719     type: "int"
   29720     default_value {
   29721       i: 0
   29722     }
   29723   }
   29724   attr {
   29725     name: "T"
   29726     type: "type"
   29727     allowed_values {
   29728       list {
   29729         type: DT_FLOAT
   29730         type: DT_DOUBLE
   29731         type: DT_INT32
   29732         type: DT_INT64
   29733         type: DT_UINT8
   29734         type: DT_INT16
   29735         type: DT_INT8
   29736         type: DT_UINT16
   29737         type: DT_HALF
   29738         type: DT_UINT32
   29739         type: DT_UINT64
   29740         type: DT_BFLOAT16
   29741       }
   29742     }
   29743   }
   29744   attr {
   29745     name: "output_dtype"
   29746     type: "type"
   29747     default_value {
   29748       type: DT_INT64
   29749     }
   29750     allowed_values {
   29751       list {
   29752         type: DT_INT32
   29753         type: DT_INT64
   29754       }
   29755     }
   29756   }
   29757   is_stateful: true
   29758 }
   29759 op {
   29760   name: "Multinomial"
   29761   input_arg {
   29762     name: "logits"
   29763     type_attr: "T"
   29764   }
   29765   input_arg {
   29766     name: "num_samples"
   29767     type: DT_INT32
   29768   }
   29769   output_arg {
   29770     name: "output"
   29771     type_attr: "output_dtype"
   29772   }
   29773   attr {
   29774     name: "seed"
   29775     type: "int"
   29776     default_value {
   29777       i: 0
   29778     }
   29779   }
   29780   attr {
   29781     name: "seed2"
   29782     type: "int"
   29783     default_value {
   29784       i: 0
   29785     }
   29786   }
   29787   attr {
   29788     name: "T"
   29789     type: "type"
   29790     allowed_values {
   29791       list {
   29792         type: DT_FLOAT
   29793         type: DT_DOUBLE
   29794         type: DT_INT32
   29795         type: DT_UINT8
   29796         type: DT_INT16
   29797         type: DT_INT8
   29798         type: DT_INT64
   29799         type: DT_BFLOAT16
   29800         type: DT_UINT16
   29801         type: DT_HALF
   29802         type: DT_UINT32
   29803         type: DT_UINT64
   29804       }
   29805     }
   29806   }
   29807   attr {
   29808     name: "output_dtype"
   29809     type: "type"
   29810     default_value {
   29811       type: DT_INT64
   29812     }
   29813     allowed_values {
   29814       list {
   29815         type: DT_INT32
   29816         type: DT_INT64
   29817       }
   29818     }
   29819   }
   29820   is_stateful: true
   29821 }
   29822 op {
   29823   name: "MutableDenseHashTable"
   29824   input_arg {
   29825     name: "empty_key"
   29826     type_attr: "key_dtype"
   29827   }
   29828   output_arg {
   29829     name: "table_handle"
   29830     type: DT_STRING
   29831     is_ref: true
   29832   }
   29833   attr {
   29834     name: "container"
   29835     type: "string"
   29836     default_value {
   29837       s: ""
   29838     }
   29839   }
   29840   attr {
   29841     name: "shared_name"
   29842     type: "string"
   29843     default_value {
   29844       s: ""
   29845     }
   29846   }
   29847   attr {
   29848     name: "use_node_name_sharing"
   29849     type: "bool"
   29850     default_value {
   29851       b: false
   29852     }
   29853   }
   29854   attr {
   29855     name: "key_dtype"
   29856     type: "type"
   29857   }
   29858   attr {
   29859     name: "value_dtype"
   29860     type: "type"
   29861   }
   29862   attr {
   29863     name: "value_shape"
   29864     type: "shape"
   29865     default_value {
   29866       shape {
   29867       }
   29868     }
   29869   }
   29870   attr {
   29871     name: "initial_num_buckets"
   29872     type: "int"
   29873     default_value {
   29874       i: 131072
   29875     }
   29876   }
   29877   attr {
   29878     name: "max_load_factor"
   29879     type: "float"
   29880     default_value {
   29881       f: 0.8
   29882     }
   29883   }
   29884   is_stateful: true
   29885 }
   29886 op {
   29887   name: "MutableDenseHashTableV2"
   29888   input_arg {
   29889     name: "empty_key"
   29890     type_attr: "key_dtype"
   29891   }
   29892   output_arg {
   29893     name: "table_handle"
   29894     type: DT_RESOURCE
   29895   }
   29896   attr {
   29897     name: "container"
   29898     type: "string"
   29899     default_value {
   29900       s: ""
   29901     }
   29902   }
   29903   attr {
   29904     name: "shared_name"
   29905     type: "string"
   29906     default_value {
   29907       s: ""
   29908     }
   29909   }
   29910   attr {
   29911     name: "use_node_name_sharing"
   29912     type: "bool"
   29913     default_value {
   29914       b: false
   29915     }
   29916   }
   29917   attr {
   29918     name: "key_dtype"
   29919     type: "type"
   29920   }
   29921   attr {
   29922     name: "value_dtype"
   29923     type: "type"
   29924   }
   29925   attr {
   29926     name: "value_shape"
   29927     type: "shape"
   29928     default_value {
   29929       shape {
   29930       }
   29931     }
   29932   }
   29933   attr {
   29934     name: "initial_num_buckets"
   29935     type: "int"
   29936     default_value {
   29937       i: 131072
   29938     }
   29939   }
   29940   attr {
   29941     name: "max_load_factor"
   29942     type: "float"
   29943     default_value {
   29944       f: 0.8
   29945     }
   29946   }
   29947   is_stateful: true
   29948 }
   29949 op {
   29950   name: "MutableHashTable"
   29951   output_arg {
   29952     name: "table_handle"
   29953     type: DT_STRING
   29954     is_ref: true
   29955   }
   29956   attr {
   29957     name: "container"
   29958     type: "string"
   29959     default_value {
   29960       s: ""
   29961     }
   29962   }
   29963   attr {
   29964     name: "shared_name"
   29965     type: "string"
   29966     default_value {
   29967       s: ""
   29968     }
   29969   }
   29970   attr {
   29971     name: "use_node_name_sharing"
   29972     type: "bool"
   29973     default_value {
   29974       b: false
   29975     }
   29976   }
   29977   attr {
   29978     name: "key_dtype"
   29979     type: "type"
   29980   }
   29981   attr {
   29982     name: "value_dtype"
   29983     type: "type"
   29984   }
   29985   is_stateful: true
   29986 }
   29987 op {
   29988   name: "MutableHashTableOfTensors"
   29989   output_arg {
   29990     name: "table_handle"
   29991     type: DT_STRING
   29992     is_ref: true
   29993   }
   29994   attr {
   29995     name: "container"
   29996     type: "string"
   29997     default_value {
   29998       s: ""
   29999     }
   30000   }
   30001   attr {
   30002     name: "shared_name"
   30003     type: "string"
   30004     default_value {
   30005       s: ""
   30006     }
   30007   }
   30008   attr {
   30009     name: "use_node_name_sharing"
   30010     type: "bool"
   30011     default_value {
   30012       b: false
   30013     }
   30014   }
   30015   attr {
   30016     name: "key_dtype"
   30017     type: "type"
   30018   }
   30019   attr {
   30020     name: "value_dtype"
   30021     type: "type"
   30022   }
   30023   attr {
   30024     name: "value_shape"
   30025     type: "shape"
   30026     default_value {
   30027       shape {
   30028       }
   30029     }
   30030   }
   30031   is_stateful: true
   30032 }
   30033 op {
   30034   name: "MutableHashTableOfTensorsV2"
   30035   output_arg {
   30036     name: "table_handle"
   30037     type: DT_RESOURCE
   30038   }
   30039   attr {
   30040     name: "container"
   30041     type: "string"
   30042     default_value {
   30043       s: ""
   30044     }
   30045   }
   30046   attr {
   30047     name: "shared_name"
   30048     type: "string"
   30049     default_value {
   30050       s: ""
   30051     }
   30052   }
   30053   attr {
   30054     name: "use_node_name_sharing"
   30055     type: "bool"
   30056     default_value {
   30057       b: false
   30058     }
   30059   }
   30060   attr {
   30061     name: "key_dtype"
   30062     type: "type"
   30063   }
   30064   attr {
   30065     name: "value_dtype"
   30066     type: "type"
   30067   }
   30068   attr {
   30069     name: "value_shape"
   30070     type: "shape"
   30071     default_value {
   30072       shape {
   30073       }
   30074     }
   30075   }
   30076   is_stateful: true
   30077 }
   30078 op {
   30079   name: "MutableHashTableV2"
   30080   output_arg {
   30081     name: "table_handle"
   30082     type: DT_RESOURCE
   30083   }
   30084   attr {
   30085     name: "container"
   30086     type: "string"
   30087     default_value {
   30088       s: ""
   30089     }
   30090   }
   30091   attr {
   30092     name: "shared_name"
   30093     type: "string"
   30094     default_value {
   30095       s: ""
   30096     }
   30097   }
   30098   attr {
   30099     name: "use_node_name_sharing"
   30100     type: "bool"
   30101     default_value {
   30102       b: false
   30103     }
   30104   }
   30105   attr {
   30106     name: "key_dtype"
   30107     type: "type"
   30108   }
   30109   attr {
   30110     name: "value_dtype"
   30111     type: "type"
   30112   }
   30113   is_stateful: true
   30114 }
   30115 op {
   30116   name: "Neg"
   30117   input_arg {
   30118     name: "x"
   30119     type_attr: "T"
   30120   }
   30121   output_arg {
   30122     name: "y"
   30123     type_attr: "T"
   30124   }
   30125   attr {
   30126     name: "T"
   30127     type: "type"
   30128     allowed_values {
   30129       list {
   30130         type: DT_HALF
   30131         type: DT_FLOAT
   30132         type: DT_DOUBLE
   30133         type: DT_INT32
   30134         type: DT_INT64
   30135         type: DT_COMPLEX64
   30136         type: DT_COMPLEX128
   30137       }
   30138     }
   30139   }
   30140 }
   30141 op {
   30142   name: "Neg"
   30143   input_arg {
   30144     name: "x"
   30145     type_attr: "T"
   30146   }
   30147   output_arg {
   30148     name: "y"
   30149     type_attr: "T"
   30150   }
   30151   attr {
   30152     name: "T"
   30153     type: "type"
   30154     allowed_values {
   30155       list {
   30156         type: DT_HALF
   30157         type: DT_BFLOAT16
   30158         type: DT_FLOAT
   30159         type: DT_DOUBLE
   30160         type: DT_INT32
   30161         type: DT_INT64
   30162         type: DT_COMPLEX64
   30163         type: DT_COMPLEX128
   30164       }
   30165     }
   30166   }
   30167 }
   30168 op {
   30169   name: "NegTrain"
   30170   input_arg {
   30171     name: "w_in"
   30172     type: DT_FLOAT
   30173     is_ref: true
   30174   }
   30175   input_arg {
   30176     name: "w_out"
   30177     type: DT_FLOAT
   30178     is_ref: true
   30179   }
   30180   input_arg {
   30181     name: "examples"
   30182     type: DT_INT32
   30183   }
   30184   input_arg {
   30185     name: "labels"
   30186     type: DT_INT32
   30187   }
   30188   input_arg {
   30189     name: "lr"
   30190     type: DT_FLOAT
   30191   }
   30192   attr {
   30193     name: "vocab_count"
   30194     type: "list(int)"
   30195   }
   30196   attr {
   30197     name: "num_negative_samples"
   30198     type: "int"
   30199   }
   30200   deprecation {
   30201     version: 19
   30202   }
   30203   is_stateful: true
   30204 }
   30205 op {
   30206   name: "NextIteration"
   30207   input_arg {
   30208     name: "data"
   30209     type_attr: "T"
   30210   }
   30211   output_arg {
   30212     name: "output"
   30213     type_attr: "T"
   30214   }
   30215   attr {
   30216     name: "T"
   30217     type: "type"
   30218   }
   30219 }
   30220 op {
   30221   name: "NoOp"
   30222 }
   30223 op {
   30224   name: "NonMaxSuppression"
   30225   input_arg {
   30226     name: "boxes"
   30227     type: DT_FLOAT
   30228   }
   30229   input_arg {
   30230     name: "scores"
   30231     type: DT_FLOAT
   30232   }
   30233   input_arg {
   30234     name: "max_output_size"
   30235     type: DT_INT32
   30236   }
   30237   output_arg {
   30238     name: "selected_indices"
   30239     type: DT_INT32
   30240   }
   30241   attr {
   30242     name: "iou_threshold"
   30243     type: "float"
   30244     default_value {
   30245       f: 0.5
   30246     }
   30247   }
   30248 }
   30249 op {
   30250   name: "NonMaxSuppressionV2"
   30251   input_arg {
   30252     name: "boxes"
   30253     type: DT_FLOAT
   30254   }
   30255   input_arg {
   30256     name: "scores"
   30257     type: DT_FLOAT
   30258   }
   30259   input_arg {
   30260     name: "max_output_size"
   30261     type: DT_INT32
   30262   }
   30263   input_arg {
   30264     name: "iou_threshold"
   30265     type: DT_FLOAT
   30266   }
   30267   output_arg {
   30268     name: "selected_indices"
   30269     type: DT_INT32
   30270   }
   30271 }
   30272 op {
   30273   name: "NotEqual"
   30274   input_arg {
   30275     name: "x"
   30276     type_attr: "T"
   30277   }
   30278   input_arg {
   30279     name: "y"
   30280     type_attr: "T"
   30281   }
   30282   output_arg {
   30283     name: "z"
   30284     type: DT_BOOL
   30285   }
   30286   attr {
   30287     name: "T"
   30288     type: "type"
   30289     allowed_values {
   30290       list {
   30291         type: DT_HALF
   30292         type: DT_FLOAT
   30293         type: DT_DOUBLE
   30294         type: DT_UINT8
   30295         type: DT_INT8
   30296         type: DT_INT16
   30297         type: DT_INT32
   30298         type: DT_INT64
   30299         type: DT_COMPLEX64
   30300         type: DT_QUINT8
   30301         type: DT_QINT8
   30302         type: DT_QINT32
   30303         type: DT_STRING
   30304         type: DT_BOOL
   30305         type: DT_COMPLEX128
   30306       }
   30307     }
   30308   }
   30309   is_commutative: true
   30310 }
   30311 op {
   30312   name: "NotEqual"
   30313   input_arg {
   30314     name: "x"
   30315     type_attr: "T"
   30316   }
   30317   input_arg {
   30318     name: "y"
   30319     type_attr: "T"
   30320   }
   30321   output_arg {
   30322     name: "z"
   30323     type: DT_BOOL
   30324   }
   30325   attr {
   30326     name: "T"
   30327     type: "type"
   30328     allowed_values {
   30329       list {
   30330         type: DT_HALF
   30331         type: DT_BFLOAT16
   30332         type: DT_FLOAT
   30333         type: DT_DOUBLE
   30334         type: DT_UINT8
   30335         type: DT_INT8
   30336         type: DT_INT16
   30337         type: DT_INT32
   30338         type: DT_INT64
   30339         type: DT_COMPLEX64
   30340         type: DT_QUINT8
   30341         type: DT_QINT8
   30342         type: DT_QINT32
   30343         type: DT_STRING
   30344         type: DT_BOOL
   30345         type: DT_COMPLEX128
   30346       }
   30347     }
   30348   }
   30349   is_commutative: true
   30350 }
   30351 op {
   30352   name: "NthElement"
   30353   input_arg {
   30354     name: "input"
   30355     type_attr: "T"
   30356   }
   30357   input_arg {
   30358     name: "n"
   30359     type: DT_INT32
   30360   }
   30361   output_arg {
   30362     name: "values"
   30363     type_attr: "T"
   30364   }
   30365   attr {
   30366     name: "reverse"
   30367     type: "bool"
   30368     default_value {
   30369       b: false
   30370     }
   30371   }
   30372   attr {
   30373     name: "T"
   30374     type: "type"
   30375     allowed_values {
   30376       list {
   30377         type: DT_FLOAT
   30378         type: DT_DOUBLE
   30379         type: DT_INT32
   30380         type: DT_INT64
   30381         type: DT_UINT8
   30382         type: DT_INT16
   30383         type: DT_INT8
   30384         type: DT_UINT16
   30385         type: DT_HALF
   30386         type: DT_UINT32
   30387         type: DT_UINT64
   30388       }
   30389     }
   30390   }
   30391 }
   30392 op {
   30393   name: "NthElement"
   30394   input_arg {
   30395     name: "input"
   30396     type_attr: "T"
   30397   }
   30398   input_arg {
   30399     name: "n"
   30400     type: DT_INT32
   30401   }
   30402   output_arg {
   30403     name: "values"
   30404     type_attr: "T"
   30405   }
   30406   attr {
   30407     name: "reverse"
   30408     type: "bool"
   30409     default_value {
   30410       b: false
   30411     }
   30412   }
   30413   attr {
   30414     name: "T"
   30415     type: "type"
   30416     allowed_values {
   30417       list {
   30418         type: DT_FLOAT
   30419         type: DT_DOUBLE
   30420         type: DT_INT32
   30421         type: DT_INT64
   30422         type: DT_UINT8
   30423         type: DT_INT16
   30424         type: DT_INT8
   30425         type: DT_UINT16
   30426         type: DT_HALF
   30427         type: DT_UINT32
   30428         type: DT_UINT64
   30429         type: DT_BFLOAT16
   30430       }
   30431     }
   30432   }
   30433 }
   30434 op {
   30435   name: "NthElement"
   30436   input_arg {
   30437     name: "input"
   30438     type_attr: "T"
   30439   }
   30440   input_arg {
   30441     name: "n"
   30442     type: DT_INT32
   30443   }
   30444   output_arg {
   30445     name: "values"
   30446     type_attr: "T"
   30447   }
   30448   attr {
   30449     name: "reverse"
   30450     type: "bool"
   30451     default_value {
   30452       b: false
   30453     }
   30454   }
   30455   attr {
   30456     name: "T"
   30457     type: "type"
   30458     allowed_values {
   30459       list {
   30460         type: DT_FLOAT
   30461         type: DT_DOUBLE
   30462         type: DT_INT32
   30463         type: DT_UINT8
   30464         type: DT_INT16
   30465         type: DT_INT8
   30466         type: DT_INT64
   30467         type: DT_BFLOAT16
   30468         type: DT_UINT16
   30469         type: DT_HALF
   30470         type: DT_UINT32
   30471         type: DT_UINT64
   30472       }
   30473     }
   30474   }
   30475 }
   30476 op {
   30477   name: "OneHot"
   30478   input_arg {
   30479     name: "indices"
   30480     type_attr: "TI"
   30481   }
   30482   input_arg {
   30483     name: "depth"
   30484     type: DT_INT32
   30485   }
   30486   input_arg {
   30487     name: "on_value"
   30488     type_attr: "T"
   30489   }
   30490   input_arg {
   30491     name: "off_value"
   30492     type_attr: "T"
   30493   }
   30494   output_arg {
   30495     name: "output"
   30496     type_attr: "T"
   30497   }
   30498   attr {
   30499     name: "axis"
   30500     type: "int"
   30501     default_value {
   30502       i: -1
   30503     }
   30504   }
   30505   attr {
   30506     name: "T"
   30507     type: "type"
   30508   }
   30509   attr {
   30510     name: "TI"
   30511     type: "type"
   30512     default_value {
   30513       type: DT_INT64
   30514     }
   30515     allowed_values {
   30516       list {
   30517         type: DT_UINT8
   30518         type: DT_INT32
   30519         type: DT_INT64
   30520       }
   30521     }
   30522   }
   30523 }
   30524 op {
   30525   name: "OneShotIterator"
   30526   output_arg {
   30527     name: "handle"
   30528     type: DT_RESOURCE
   30529   }
   30530   attr {
   30531     name: "dataset_factory"
   30532     type: "func"
   30533   }
   30534   attr {
   30535     name: "output_types"
   30536     type: "list(type)"
   30537     has_minimum: true
   30538     minimum: 1
   30539   }
   30540   attr {
   30541     name: "output_shapes"
   30542     type: "list(shape)"
   30543     has_minimum: true
   30544     minimum: 1
   30545   }
   30546   attr {
   30547     name: "container"
   30548     type: "string"
   30549     default_value {
   30550       s: ""
   30551     }
   30552   }
   30553   attr {
   30554     name: "shared_name"
   30555     type: "string"
   30556     default_value {
   30557       s: ""
   30558     }
   30559   }
   30560   is_stateful: true
   30561 }
   30562 op {
   30563   name: "OnesLike"
   30564   input_arg {
   30565     name: "x"
   30566     type_attr: "T"
   30567   }
   30568   output_arg {
   30569     name: "y"
   30570     type_attr: "T"
   30571   }
   30572   attr {
   30573     name: "T"
   30574     type: "type"
   30575     allowed_values {
   30576       list {
   30577         type: DT_FLOAT
   30578         type: DT_DOUBLE
   30579         type: DT_INT32
   30580         type: DT_INT64
   30581         type: DT_COMPLEX64
   30582         type: DT_COMPLEX128
   30583       }
   30584     }
   30585   }
   30586 }
   30587 op {
   30588   name: "OnesLike"
   30589   input_arg {
   30590     name: "x"
   30591     type_attr: "T"
   30592   }
   30593   output_arg {
   30594     name: "y"
   30595     type_attr: "T"
   30596   }
   30597   attr {
   30598     name: "T"
   30599     type: "type"
   30600     allowed_values {
   30601       list {
   30602         type: DT_BFLOAT16
   30603         type: DT_FLOAT
   30604         type: DT_DOUBLE
   30605         type: DT_INT8
   30606         type: DT_UINT8
   30607         type: DT_INT16
   30608         type: DT_UINT16
   30609         type: DT_INT32
   30610         type: DT_INT64
   30611         type: DT_COMPLEX64
   30612         type: DT_COMPLEX128
   30613         type: DT_BOOL
   30614       }
   30615     }
   30616   }
   30617 }
   30618 op {
   30619   name: "OrderedMapClear"
   30620   attr {
   30621     name: "capacity"
   30622     type: "int"
   30623     default_value {
   30624       i: 0
   30625     }
   30626     has_minimum: true
   30627   }
   30628   attr {
   30629     name: "memory_limit"
   30630     type: "int"
   30631     default_value {
   30632       i: 0
   30633     }
   30634     has_minimum: true
   30635   }
   30636   attr {
   30637     name: "dtypes"
   30638     type: "list(type)"
   30639   }
   30640   attr {
   30641     name: "container"
   30642     type: "string"
   30643     default_value {
   30644       s: ""
   30645     }
   30646   }
   30647   attr {
   30648     name: "shared_name"
   30649     type: "string"
   30650     default_value {
   30651       s: ""
   30652     }
   30653   }
   30654   is_stateful: true
   30655 }
   30656 op {
   30657   name: "OrderedMapIncompleteSize"
   30658   output_arg {
   30659     name: "size"
   30660     type: DT_INT32
   30661   }
   30662   attr {
   30663     name: "capacity"
   30664     type: "int"
   30665     default_value {
   30666       i: 0
   30667     }
   30668     has_minimum: true
   30669   }
   30670   attr {
   30671     name: "memory_limit"
   30672     type: "int"
   30673     default_value {
   30674       i: 0
   30675     }
   30676     has_minimum: true
   30677   }
   30678   attr {
   30679     name: "dtypes"
   30680     type: "list(type)"
   30681   }
   30682   attr {
   30683     name: "container"
   30684     type: "string"
   30685     default_value {
   30686       s: ""
   30687     }
   30688   }
   30689   attr {
   30690     name: "shared_name"
   30691     type: "string"
   30692     default_value {
   30693       s: ""
   30694     }
   30695   }
   30696   is_stateful: true
   30697 }
   30698 op {
   30699   name: "OrderedMapPeek"
   30700   input_arg {
   30701     name: "key"
   30702     type: DT_INT64
   30703   }
   30704   input_arg {
   30705     name: "indices"
   30706     type: DT_INT32
   30707   }
   30708   output_arg {
   30709     name: "values"
   30710     type_list_attr: "dtypes"
   30711   }
   30712   attr {
   30713     name: "capacity"
   30714     type: "int"
   30715     default_value {
   30716       i: 0
   30717     }
   30718     has_minimum: true
   30719   }
   30720   attr {
   30721     name: "memory_limit"
   30722     type: "int"
   30723     default_value {
   30724       i: 0
   30725     }
   30726     has_minimum: true
   30727   }
   30728   attr {
   30729     name: "dtypes"
   30730     type: "list(type)"
   30731     has_minimum: true
   30732     minimum: 1
   30733   }
   30734   attr {
   30735     name: "container"
   30736     type: "string"
   30737     default_value {
   30738       s: ""
   30739     }
   30740   }
   30741   attr {
   30742     name: "shared_name"
   30743     type: "string"
   30744     default_value {
   30745       s: ""
   30746     }
   30747   }
   30748   is_stateful: true
   30749 }
   30750 op {
   30751   name: "OrderedMapSize"
   30752   output_arg {
   30753     name: "size"
   30754     type: DT_INT32
   30755   }
   30756   attr {
   30757     name: "capacity"
   30758     type: "int"
   30759     default_value {
   30760       i: 0
   30761     }
   30762     has_minimum: true
   30763   }
   30764   attr {
   30765     name: "memory_limit"
   30766     type: "int"
   30767     default_value {
   30768       i: 0
   30769     }
   30770     has_minimum: true
   30771   }
   30772   attr {
   30773     name: "dtypes"
   30774     type: "list(type)"
   30775   }
   30776   attr {
   30777     name: "container"
   30778     type: "string"
   30779     default_value {
   30780       s: ""
   30781     }
   30782   }
   30783   attr {
   30784     name: "shared_name"
   30785     type: "string"
   30786     default_value {
   30787       s: ""
   30788     }
   30789   }
   30790   is_stateful: true
   30791 }
   30792 op {
   30793   name: "OrderedMapStage"
   30794   input_arg {
   30795     name: "key"
   30796     type: DT_INT64
   30797   }
   30798   input_arg {
   30799     name: "indices"
   30800     type: DT_INT32
   30801   }
   30802   input_arg {
   30803     name: "values"
   30804     type_list_attr: "fake_dtypes"
   30805   }
   30806   attr {
   30807     name: "capacity"
   30808     type: "int"
   30809     default_value {
   30810       i: 0
   30811     }
   30812     has_minimum: true
   30813   }
   30814   attr {
   30815     name: "memory_limit"
   30816     type: "int"
   30817     default_value {
   30818       i: 0
   30819     }
   30820     has_minimum: true
   30821   }
   30822   attr {
   30823     name: "dtypes"
   30824     type: "list(type)"
   30825   }
   30826   attr {
   30827     name: "fake_dtypes"
   30828     type: "list(type)"
   30829     has_minimum: true
   30830     minimum: 1
   30831   }
   30832   attr {
   30833     name: "container"
   30834     type: "string"
   30835     default_value {
   30836       s: ""
   30837     }
   30838   }
   30839   attr {
   30840     name: "shared_name"
   30841     type: "string"
   30842     default_value {
   30843       s: ""
   30844     }
   30845   }
   30846   is_stateful: true
   30847 }
   30848 op {
   30849   name: "OrderedMapUnstage"
   30850   input_arg {
   30851     name: "key"
   30852     type: DT_INT64
   30853   }
   30854   input_arg {
   30855     name: "indices"
   30856     type: DT_INT32
   30857   }
   30858   output_arg {
   30859     name: "values"
   30860     type_list_attr: "dtypes"
   30861   }
   30862   attr {
   30863     name: "capacity"
   30864     type: "int"
   30865     default_value {
   30866       i: 0
   30867     }
   30868     has_minimum: true
   30869   }
   30870   attr {
   30871     name: "memory_limit"
   30872     type: "int"
   30873     default_value {
   30874       i: 0
   30875     }
   30876     has_minimum: true
   30877   }
   30878   attr {
   30879     name: "dtypes"
   30880     type: "list(type)"
   30881     has_minimum: true
   30882     minimum: 1
   30883   }
   30884   attr {
   30885     name: "container"
   30886     type: "string"
   30887     default_value {
   30888       s: ""
   30889     }
   30890   }
   30891   attr {
   30892     name: "shared_name"
   30893     type: "string"
   30894     default_value {
   30895       s: ""
   30896     }
   30897   }
   30898   is_stateful: true
   30899 }
   30900 op {
   30901   name: "OrderedMapUnstageNoKey"
   30902   input_arg {
   30903     name: "indices"
   30904     type: DT_INT32
   30905   }
   30906   output_arg {
   30907     name: "key"
   30908     type: DT_INT64
   30909   }
   30910   output_arg {
   30911     name: "values"
   30912     type_list_attr: "dtypes"
   30913   }
   30914   attr {
   30915     name: "capacity"
   30916     type: "int"
   30917     default_value {
   30918       i: 0
   30919     }
   30920     has_minimum: true
   30921   }
   30922   attr {
   30923     name: "memory_limit"
   30924     type: "int"
   30925     default_value {
   30926       i: 0
   30927     }
   30928     has_minimum: true
   30929   }
   30930   attr {
   30931     name: "dtypes"
   30932     type: "list(type)"
   30933     has_minimum: true
   30934     minimum: 1
   30935   }
   30936   attr {
   30937     name: "container"
   30938     type: "string"
   30939     default_value {
   30940       s: ""
   30941     }
   30942   }
   30943   attr {
   30944     name: "shared_name"
   30945     type: "string"
   30946     default_value {
   30947       s: ""
   30948     }
   30949   }
   30950   is_stateful: true
   30951 }
   30952 op {
   30953   name: "Pack"
   30954   input_arg {
   30955     name: "values"
   30956     type_attr: "T"
   30957     number_attr: "N"
   30958   }
   30959   output_arg {
   30960     name: "output"
   30961     type_attr: "T"
   30962   }
   30963   attr {
   30964     name: "N"
   30965     type: "int"
   30966     has_minimum: true
   30967     minimum: 1
   30968   }
   30969   attr {
   30970     name: "T"
   30971     type: "type"
   30972   }
   30973   attr {
   30974     name: "axis"
   30975     type: "int"
   30976     default_value {
   30977       i: 0
   30978     }
   30979   }
   30980 }
   30981 op {
   30982   name: "Pad"
   30983   input_arg {
   30984     name: "input"
   30985     type_attr: "T"
   30986   }
   30987   input_arg {
   30988     name: "paddings"
   30989     type_attr: "Tpaddings"
   30990   }
   30991   output_arg {
   30992     name: "output"
   30993     type_attr: "T"
   30994   }
   30995   attr {
   30996     name: "T"
   30997     type: "type"
   30998   }
   30999   attr {
   31000     name: "Tpaddings"
   31001     type: "type"
   31002     default_value {
   31003       type: DT_INT32
   31004     }
   31005     allowed_values {
   31006       list {
   31007         type: DT_INT32
   31008         type: DT_INT64
   31009       }
   31010     }
   31011   }
   31012 }
   31013 op {
   31014   name: "PadV2"
   31015   input_arg {
   31016     name: "input"
   31017     type_attr: "T"
   31018   }
   31019   input_arg {
   31020     name: "paddings"
   31021     type_attr: "Tpaddings"
   31022   }
   31023   input_arg {
   31024     name: "constant_values"
   31025     type_attr: "T"
   31026   }
   31027   output_arg {
   31028     name: "output"
   31029     type_attr: "T"
   31030   }
   31031   attr {
   31032     name: "T"
   31033     type: "type"
   31034   }
   31035   attr {
   31036     name: "Tpaddings"
   31037     type: "type"
   31038     default_value {
   31039       type: DT_INT32
   31040     }
   31041     allowed_values {
   31042       list {
   31043         type: DT_INT32
   31044         type: DT_INT64
   31045       }
   31046     }
   31047   }
   31048 }
   31049 op {
   31050   name: "PaddedBatchDataset"
   31051   input_arg {
   31052     name: "input_dataset"
   31053     type: DT_VARIANT
   31054   }
   31055   input_arg {
   31056     name: "batch_size"
   31057     type: DT_INT64
   31058   }
   31059   input_arg {
   31060     name: "padded_shapes"
   31061     type: DT_INT64
   31062     number_attr: "N"
   31063   }
   31064   input_arg {
   31065     name: "padding_values"
   31066     type_list_attr: "Toutput_types"
   31067   }
   31068   output_arg {
   31069     name: "handle"
   31070     type: DT_VARIANT
   31071   }
   31072   attr {
   31073     name: "Toutput_types"
   31074     type: "list(type)"
   31075     has_minimum: true
   31076     minimum: 1
   31077   }
   31078   attr {
   31079     name: "output_shapes"
   31080     type: "list(shape)"
   31081     has_minimum: true
   31082     minimum: 1
   31083   }
   31084   attr {
   31085     name: "N"
   31086     type: "int"
   31087     has_minimum: true
   31088     minimum: 1
   31089   }
   31090   is_stateful: true
   31091 }
   31092 op {
   31093   name: "PaddedBatchDataset"
   31094   input_arg {
   31095     name: "input_dataset"
   31096     type: DT_VARIANT
   31097   }
   31098   input_arg {
   31099     name: "batch_size"
   31100     type: DT_INT64
   31101   }
   31102   input_arg {
   31103     name: "padded_shapes"
   31104     type: DT_INT64
   31105     number_attr: "N"
   31106   }
   31107   input_arg {
   31108     name: "padding_values"
   31109     type_list_attr: "Toutput_types"
   31110   }
   31111   output_arg {
   31112     name: "handle"
   31113     type: DT_VARIANT
   31114   }
   31115   attr {
   31116     name: "Toutput_types"
   31117     type: "list(type)"
   31118     has_minimum: true
   31119     minimum: 1
   31120   }
   31121   attr {
   31122     name: "output_shapes"
   31123     type: "list(shape)"
   31124     has_minimum: true
   31125     minimum: 1
   31126   }
   31127   attr {
   31128     name: "N"
   31129     type: "int"
   31130     has_minimum: true
   31131     minimum: 1
   31132   }
   31133 }
   31134 op {
   31135   name: "PaddingFIFOQueue"
   31136   output_arg {
   31137     name: "handle"
   31138     type: DT_STRING
   31139     is_ref: true
   31140   }
   31141   attr {
   31142     name: "component_types"
   31143     type: "list(type)"
   31144     has_minimum: true
   31145     minimum: 1
   31146   }
   31147   attr {
   31148     name: "shapes"
   31149     type: "list(shape)"
   31150     default_value {
   31151       list {
   31152       }
   31153     }
   31154     has_minimum: true
   31155   }
   31156   attr {
   31157     name: "capacity"
   31158     type: "int"
   31159     default_value {
   31160       i: -1
   31161     }
   31162   }
   31163   attr {
   31164     name: "container"
   31165     type: "string"
   31166     default_value {
   31167       s: ""
   31168     }
   31169   }
   31170   attr {
   31171     name: "shared_name"
   31172     type: "string"
   31173     default_value {
   31174       s: ""
   31175     }
   31176   }
   31177   is_stateful: true
   31178 }
   31179 op {
   31180   name: "PaddingFIFOQueueV2"
   31181   output_arg {
   31182     name: "handle"
   31183     type: DT_RESOURCE
   31184   }
   31185   attr {
   31186     name: "component_types"
   31187     type: "list(type)"
   31188     has_minimum: true
   31189     minimum: 1
   31190   }
   31191   attr {
   31192     name: "shapes"
   31193     type: "list(shape)"
   31194     default_value {
   31195       list {
   31196       }
   31197     }
   31198     has_minimum: true
   31199   }
   31200   attr {
   31201     name: "capacity"
   31202     type: "int"
   31203     default_value {
   31204       i: -1
   31205     }
   31206   }
   31207   attr {
   31208     name: "container"
   31209     type: "string"
   31210     default_value {
   31211       s: ""
   31212     }
   31213   }
   31214   attr {
   31215     name: "shared_name"
   31216     type: "string"
   31217     default_value {
   31218       s: ""
   31219     }
   31220   }
   31221   is_stateful: true
   31222 }
   31223 op {
   31224   name: "ParallelConcat"
   31225   input_arg {
   31226     name: "values"
   31227     type_attr: "T"
   31228     number_attr: "N"
   31229   }
   31230   output_arg {
   31231     name: "output"
   31232     type_attr: "T"
   31233   }
   31234   attr {
   31235     name: "N"
   31236     type: "int"
   31237     has_minimum: true
   31238     minimum: 1
   31239   }
   31240   attr {
   31241     name: "T"
   31242     type: "type"
   31243   }
   31244   attr {
   31245     name: "shape"
   31246     type: "shape"
   31247   }
   31248 }
   31249 op {
   31250   name: "ParallelDynamicStitch"
   31251   input_arg {
   31252     name: "indices"
   31253     type: DT_INT32
   31254     number_attr: "N"
   31255   }
   31256   input_arg {
   31257     name: "data"
   31258     type_attr: "T"
   31259     number_attr: "N"
   31260   }
   31261   output_arg {
   31262     name: "merged"
   31263     type_attr: "T"
   31264   }
   31265   attr {
   31266     name: "N"
   31267     type: "int"
   31268     has_minimum: true
   31269     minimum: 1
   31270   }
   31271   attr {
   31272     name: "T"
   31273     type: "type"
   31274   }
   31275 }
   31276 op {
   31277   name: "ParallelInterleaveDataset"
   31278   input_arg {
   31279     name: "input_dataset"
   31280     type: DT_VARIANT
   31281   }
   31282   input_arg {
   31283     name: "other_arguments"
   31284     type_list_attr: "Targuments"
   31285   }
   31286   input_arg {
   31287     name: "cycle_length"
   31288     type: DT_INT64
   31289   }
   31290   input_arg {
   31291     name: "block_length"
   31292     type: DT_INT64
   31293   }
   31294   input_arg {
   31295     name: "sloppy"
   31296     type: DT_BOOL
   31297   }
   31298   input_arg {
   31299     name: "buffer_output_elements"
   31300     type: DT_INT64
   31301   }
   31302   input_arg {
   31303     name: "prefetch_input_elements"
   31304     type: DT_INT64
   31305   }
   31306   output_arg {
   31307     name: "handle"
   31308     type: DT_VARIANT
   31309   }
   31310   attr {
   31311     name: "f"
   31312     type: "func"
   31313   }
   31314   attr {
   31315     name: "Targuments"
   31316     type: "list(type)"
   31317     has_minimum: true
   31318   }
   31319   attr {
   31320     name: "output_types"
   31321     type: "list(type)"
   31322     has_minimum: true
   31323     minimum: 1
   31324   }
   31325   attr {
   31326     name: "output_shapes"
   31327     type: "list(shape)"
   31328     has_minimum: true
   31329     minimum: 1
   31330   }
   31331 }
   31332 op {
   31333   name: "ParallelMapDataset"
   31334   input_arg {
   31335     name: "input_dataset"
   31336     type: DT_VARIANT
   31337   }
   31338   input_arg {
   31339     name: "other_arguments"
   31340     type_list_attr: "Targuments"
   31341   }
   31342   input_arg {
   31343     name: "num_parallel_calls"
   31344     type: DT_INT32
   31345   }
   31346   output_arg {
   31347     name: "handle"
   31348     type: DT_VARIANT
   31349   }
   31350   attr {
   31351     name: "f"
   31352     type: "func"
   31353   }
   31354   attr {
   31355     name: "Targuments"
   31356     type: "list(type)"
   31357     has_minimum: true
   31358   }
   31359   attr {
   31360     name: "output_types"
   31361     type: "list(type)"
   31362     has_minimum: true
   31363     minimum: 1
   31364   }
   31365   attr {
   31366     name: "output_shapes"
   31367     type: "list(shape)"
   31368     has_minimum: true
   31369     minimum: 1
   31370   }
   31371   is_stateful: true
   31372 }
   31373 op {
   31374   name: "ParallelMapDataset"
   31375   input_arg {
   31376     name: "input_dataset"
   31377     type: DT_VARIANT
   31378   }
   31379   input_arg {
   31380     name: "other_arguments"
   31381     type_list_attr: "Targuments"
   31382   }
   31383   input_arg {
   31384     name: "num_parallel_calls"
   31385     type: DT_INT32
   31386   }
   31387   output_arg {
   31388     name: "handle"
   31389     type: DT_VARIANT
   31390   }
   31391   attr {
   31392     name: "f"
   31393     type: "func"
   31394   }
   31395   attr {
   31396     name: "Targuments"
   31397     type: "list(type)"
   31398     has_minimum: true
   31399   }
   31400   attr {
   31401     name: "output_types"
   31402     type: "list(type)"
   31403     has_minimum: true
   31404     minimum: 1
   31405   }
   31406   attr {
   31407     name: "output_shapes"
   31408     type: "list(shape)"
   31409     has_minimum: true
   31410     minimum: 1
   31411   }
   31412 }
   31413 op {
   31414   name: "ParameterizedTruncatedNormal"
   31415   input_arg {
   31416     name: "shape"
   31417     type_attr: "T"
   31418   }
   31419   input_arg {
   31420     name: "means"
   31421     type_attr: "dtype"
   31422   }
   31423   input_arg {
   31424     name: "stdevs"
   31425     type_attr: "dtype"
   31426   }
   31427   input_arg {
   31428     name: "minvals"
   31429     type_attr: "dtype"
   31430   }
   31431   input_arg {
   31432     name: "maxvals"
   31433     type_attr: "dtype"
   31434   }
   31435   output_arg {
   31436     name: "output"
   31437     type_attr: "dtype"
   31438   }
   31439   attr {
   31440     name: "seed"
   31441     type: "int"
   31442     default_value {
   31443       i: 0
   31444     }
   31445   }
   31446   attr {
   31447     name: "seed2"
   31448     type: "int"
   31449     default_value {
   31450       i: 0
   31451     }
   31452   }
   31453   attr {
   31454     name: "dtype"
   31455     type: "type"
   31456     allowed_values {
   31457       list {
   31458         type: DT_HALF
   31459         type: DT_FLOAT
   31460         type: DT_DOUBLE
   31461       }
   31462     }
   31463   }
   31464   attr {
   31465     name: "T"
   31466     type: "type"
   31467     allowed_values {
   31468       list {
   31469         type: DT_INT32
   31470         type: DT_INT64
   31471       }
   31472     }
   31473   }
   31474   is_stateful: true
   31475 }
   31476 op {
   31477   name: "ParameterizedTruncatedNormal"
   31478   input_arg {
   31479     name: "shape"
   31480     type_attr: "T"
   31481   }
   31482   input_arg {
   31483     name: "means"
   31484     type_attr: "dtype"
   31485   }
   31486   input_arg {
   31487     name: "stdevs"
   31488     type_attr: "dtype"
   31489   }
   31490   input_arg {
   31491     name: "minvals"
   31492     type_attr: "dtype"
   31493   }
   31494   input_arg {
   31495     name: "maxvals"
   31496     type_attr: "dtype"
   31497   }
   31498   output_arg {
   31499     name: "output"
   31500     type_attr: "dtype"
   31501   }
   31502   attr {
   31503     name: "seed"
   31504     type: "int"
   31505     default_value {
   31506       i: 0
   31507     }
   31508   }
   31509   attr {
   31510     name: "seed2"
   31511     type: "int"
   31512     default_value {
   31513       i: 0
   31514     }
   31515   }
   31516   attr {
   31517     name: "dtype"
   31518     type: "type"
   31519     allowed_values {
   31520       list {
   31521         type: DT_HALF
   31522         type: DT_BFLOAT16
   31523         type: DT_FLOAT
   31524         type: DT_DOUBLE
   31525       }
   31526     }
   31527   }
   31528   attr {
   31529     name: "T"
   31530     type: "type"
   31531     allowed_values {
   31532       list {
   31533         type: DT_INT32
   31534         type: DT_INT64
   31535       }
   31536     }
   31537   }
   31538   is_stateful: true
   31539 }
   31540 op {
   31541   name: "ParseExample"
   31542   input_arg {
   31543     name: "serialized"
   31544     type: DT_STRING
   31545   }
   31546   input_arg {
   31547     name: "names"
   31548     type: DT_STRING
   31549   }
   31550   input_arg {
   31551     name: "sparse_keys"
   31552     type: DT_STRING
   31553     number_attr: "Nsparse"
   31554   }
   31555   input_arg {
   31556     name: "dense_keys"
   31557     type: DT_STRING
   31558     number_attr: "Ndense"
   31559   }
   31560   input_arg {
   31561     name: "dense_defaults"
   31562     type_list_attr: "Tdense"
   31563   }
   31564   output_arg {
   31565     name: "sparse_indices"
   31566     type: DT_INT64
   31567     number_attr: "Nsparse"
   31568   }
   31569   output_arg {
   31570     name: "sparse_values"
   31571     type_list_attr: "sparse_types"
   31572   }
   31573   output_arg {
   31574     name: "sparse_shapes"
   31575     type: DT_INT64
   31576     number_attr: "Nsparse"
   31577   }
   31578   output_arg {
   31579     name: "dense_values"
   31580     type_list_attr: "Tdense"
   31581   }
   31582   attr {
   31583     name: "Nsparse"
   31584     type: "int"
   31585     has_minimum: true
   31586   }
   31587   attr {
   31588     name: "Ndense"
   31589     type: "int"
   31590     has_minimum: true
   31591   }
   31592   attr {
   31593     name: "sparse_types"
   31594     type: "list(type)"
   31595     has_minimum: true
   31596     allowed_values {
   31597       list {
   31598         type: DT_FLOAT
   31599         type: DT_INT64
   31600         type: DT_STRING
   31601       }
   31602     }
   31603   }
   31604   attr {
   31605     name: "Tdense"
   31606     type: "list(type)"
   31607     has_minimum: true
   31608     allowed_values {
   31609       list {
   31610         type: DT_FLOAT
   31611         type: DT_INT64
   31612         type: DT_STRING
   31613       }
   31614     }
   31615   }
   31616   attr {
   31617     name: "dense_shapes"
   31618     type: "list(shape)"
   31619     has_minimum: true
   31620   }
   31621 }
   31622 op {
   31623   name: "ParseSingleExample"
   31624   input_arg {
   31625     name: "serialized"
   31626     type: DT_STRING
   31627   }
   31628   input_arg {
   31629     name: "dense_defaults"
   31630     type_list_attr: "Tdense"
   31631   }
   31632   output_arg {
   31633     name: "sparse_indices"
   31634     type: DT_INT64
   31635     number_attr: "num_sparse"
   31636   }
   31637   output_arg {
   31638     name: "sparse_values"
   31639     type_list_attr: "sparse_types"
   31640   }
   31641   output_arg {
   31642     name: "sparse_shapes"
   31643     type: DT_INT64
   31644     number_attr: "num_sparse"
   31645   }
   31646   output_arg {
   31647     name: "dense_values"
   31648     type_list_attr: "Tdense"
   31649   }
   31650   attr {
   31651     name: "num_sparse"
   31652     type: "int"
   31653     has_minimum: true
   31654   }
   31655   attr {
   31656     name: "sparse_keys"
   31657     type: "list(string)"
   31658     has_minimum: true
   31659   }
   31660   attr {
   31661     name: "dense_keys"
   31662     type: "list(string)"
   31663     has_minimum: true
   31664   }
   31665   attr {
   31666     name: "sparse_types"
   31667     type: "list(type)"
   31668     has_minimum: true
   31669     allowed_values {
   31670       list {
   31671         type: DT_FLOAT
   31672         type: DT_INT64
   31673         type: DT_STRING
   31674       }
   31675     }
   31676   }
   31677   attr {
   31678     name: "Tdense"
   31679     type: "list(type)"
   31680     has_minimum: true
   31681     allowed_values {
   31682       list {
   31683         type: DT_FLOAT
   31684         type: DT_INT64
   31685         type: DT_STRING
   31686       }
   31687     }
   31688   }
   31689   attr {
   31690     name: "dense_shapes"
   31691     type: "list(shape)"
   31692     has_minimum: true
   31693   }
   31694 }
   31695 op {
   31696   name: "ParseSingleSequenceExample"
   31697   input_arg {
   31698     name: "serialized"
   31699     type: DT_STRING
   31700   }
   31701   input_arg {
   31702     name: "feature_list_dense_missing_assumed_empty"
   31703     type: DT_STRING
   31704   }
   31705   input_arg {
   31706     name: "context_sparse_keys"
   31707     type: DT_STRING
   31708     number_attr: "Ncontext_sparse"
   31709   }
   31710   input_arg {
   31711     name: "context_dense_keys"
   31712     type: DT_STRING
   31713     number_attr: "Ncontext_dense"
   31714   }
   31715   input_arg {
   31716     name: "feature_list_sparse_keys"
   31717     type: DT_STRING
   31718     number_attr: "Nfeature_list_sparse"
   31719   }
   31720   input_arg {
   31721     name: "feature_list_dense_keys"
   31722     type: DT_STRING
   31723     number_attr: "Nfeature_list_dense"
   31724   }
   31725   input_arg {
   31726     name: "context_dense_defaults"
   31727     type_list_attr: "Tcontext_dense"
   31728   }
   31729   input_arg {
   31730     name: "debug_name"
   31731     type: DT_STRING
   31732   }
   31733   output_arg {
   31734     name: "context_sparse_indices"
   31735     type: DT_INT64
   31736     number_attr: "Ncontext_sparse"
   31737   }
   31738   output_arg {
   31739     name: "context_sparse_values"
   31740     type_list_attr: "context_sparse_types"
   31741   }
   31742   output_arg {
   31743     name: "context_sparse_shapes"
   31744     type: DT_INT64
   31745     number_attr: "Ncontext_sparse"
   31746   }
   31747   output_arg {
   31748     name: "context_dense_values"
   31749     type_list_attr: "Tcontext_dense"
   31750   }
   31751   output_arg {
   31752     name: "feature_list_sparse_indices"
   31753     type: DT_INT64
   31754     number_attr: "Nfeature_list_sparse"
   31755   }
   31756   output_arg {
   31757     name: "feature_list_sparse_values"
   31758     type_list_attr: "feature_list_sparse_types"
   31759   }
   31760   output_arg {
   31761     name: "feature_list_sparse_shapes"
   31762     type: DT_INT64
   31763     number_attr: "Nfeature_list_sparse"
   31764   }
   31765   output_arg {
   31766     name: "feature_list_dense_values"
   31767     type_list_attr: "feature_list_dense_types"
   31768   }
   31769   attr {
   31770     name: "Ncontext_sparse"
   31771     type: "int"
   31772     default_value {
   31773       i: 0
   31774     }
   31775     has_minimum: true
   31776   }
   31777   attr {
   31778     name: "Ncontext_dense"
   31779     type: "int"
   31780     default_value {
   31781       i: 0
   31782     }
   31783     has_minimum: true
   31784   }
   31785   attr {
   31786     name: "Nfeature_list_sparse"
   31787     type: "int"
   31788     default_value {
   31789       i: 0
   31790     }
   31791     has_minimum: true
   31792   }
   31793   attr {
   31794     name: "Nfeature_list_dense"
   31795     type: "int"
   31796     default_value {
   31797       i: 0
   31798     }
   31799     has_minimum: true
   31800   }
   31801   attr {
   31802     name: "context_sparse_types"
   31803     type: "list(type)"
   31804     default_value {
   31805       list {
   31806       }
   31807     }
   31808     has_minimum: true
   31809     allowed_values {
   31810       list {
   31811         type: DT_FLOAT
   31812         type: DT_INT64
   31813         type: DT_STRING
   31814       }
   31815     }
   31816   }
   31817   attr {
   31818     name: "Tcontext_dense"
   31819     type: "list(type)"
   31820     default_value {
   31821       list {
   31822       }
   31823     }
   31824     has_minimum: true
   31825     allowed_values {
   31826       list {
   31827         type: DT_FLOAT
   31828         type: DT_INT64
   31829         type: DT_STRING
   31830       }
   31831     }
   31832   }
   31833   attr {
   31834     name: "feature_list_dense_types"
   31835     type: "list(type)"
   31836     default_value {
   31837       list {
   31838       }
   31839     }
   31840     has_minimum: true
   31841     allowed_values {
   31842       list {
   31843         type: DT_FLOAT
   31844         type: DT_INT64
   31845         type: DT_STRING
   31846       }
   31847     }
   31848   }
   31849   attr {
   31850     name: "context_dense_shapes"
   31851     type: "list(shape)"
   31852     default_value {
   31853       list {
   31854       }
   31855     }
   31856     has_minimum: true
   31857   }
   31858   attr {
   31859     name: "feature_list_sparse_types"
   31860     type: "list(type)"
   31861     default_value {
   31862       list {
   31863       }
   31864     }
   31865     has_minimum: true
   31866     allowed_values {
   31867       list {
   31868         type: DT_FLOAT
   31869         type: DT_INT64
   31870         type: DT_STRING
   31871       }
   31872     }
   31873   }
   31874   attr {
   31875     name: "feature_list_dense_shapes"
   31876     type: "list(shape)"
   31877     default_value {
   31878       list {
   31879       }
   31880     }
   31881     has_minimum: true
   31882   }
   31883 }
   31884 op {
   31885   name: "ParseTensor"
   31886   input_arg {
   31887     name: "serialized"
   31888     type: DT_STRING
   31889   }
   31890   output_arg {
   31891     name: "output"
   31892     type_attr: "out_type"
   31893   }
   31894   attr {
   31895     name: "out_type"
   31896     type: "type"
   31897   }
   31898 }
   31899 op {
   31900   name: "Placeholder"
   31901   output_arg {
   31902     name: "output"
   31903     type_attr: "dtype"
   31904   }
   31905   attr {
   31906     name: "dtype"
   31907     type: "type"
   31908   }
   31909   attr {
   31910     name: "shape"
   31911     type: "shape"
   31912     default_value {
   31913       shape {
   31914       }
   31915     }
   31916   }
   31917 }
   31918 op {
   31919   name: "Placeholder"
   31920   output_arg {
   31921     name: "output"
   31922     type_attr: "dtype"
   31923   }
   31924   attr {
   31925     name: "dtype"
   31926     type: "type"
   31927   }
   31928   attr {
   31929     name: "shape"
   31930     type: "shape"
   31931     default_value {
   31932       shape {
   31933         unknown_rank: true
   31934       }
   31935     }
   31936   }
   31937 }
   31938 op {
   31939   name: "PlaceholderV2"
   31940   output_arg {
   31941     name: "output"
   31942     type_attr: "dtype"
   31943   }
   31944   attr {
   31945     name: "dtype"
   31946     type: "type"
   31947   }
   31948   attr {
   31949     name: "shape"
   31950     type: "shape"
   31951   }
   31952 }
   31953 op {
   31954   name: "PlaceholderV2"
   31955   output_arg {
   31956     name: "output"
   31957     type_attr: "dtype"
   31958   }
   31959   attr {
   31960     name: "dtype"
   31961     type: "type"
   31962   }
   31963   attr {
   31964     name: "shape"
   31965     type: "shape"
   31966   }
   31967   deprecation {
   31968     version: 23
   31969   }
   31970 }
   31971 op {
   31972   name: "PlaceholderWithDefault"
   31973   input_arg {
   31974     name: "input"
   31975     type_attr: "dtype"
   31976   }
   31977   output_arg {
   31978     name: "output"
   31979     type_attr: "dtype"
   31980   }
   31981   attr {
   31982     name: "dtype"
   31983     type: "type"
   31984   }
   31985   attr {
   31986     name: "shape"
   31987     type: "shape"
   31988   }
   31989 }
   31990 op {
   31991   name: "Polygamma"
   31992   input_arg {
   31993     name: "a"
   31994     type_attr: "T"
   31995   }
   31996   input_arg {
   31997     name: "x"
   31998     type_attr: "T"
   31999   }
   32000   output_arg {
   32001     name: "z"
   32002     type_attr: "T"
   32003   }
   32004   attr {
   32005     name: "T"
   32006     type: "type"
   32007     allowed_values {
   32008       list {
   32009         type: DT_FLOAT
   32010         type: DT_DOUBLE
   32011       }
   32012     }
   32013   }
   32014 }
   32015 op {
   32016   name: "PopulationCount"
   32017   input_arg {
   32018     name: "x"
   32019     type_attr: "T"
   32020   }
   32021   output_arg {
   32022     name: "y"
   32023     type: DT_UINT8
   32024   }
   32025   attr {
   32026     name: "T"
   32027     type: "type"
   32028     allowed_values {
   32029       list {
   32030         type: DT_INT8
   32031         type: DT_INT16
   32032         type: DT_INT32
   32033         type: DT_INT64
   32034         type: DT_UINT8
   32035         type: DT_UINT16
   32036       }
   32037     }
   32038   }
   32039 }
   32040 op {
   32041   name: "PopulationCount"
   32042   input_arg {
   32043     name: "x"
   32044     type_attr: "T"
   32045   }
   32046   output_arg {
   32047     name: "y"
   32048     type: DT_UINT8
   32049   }
   32050   attr {
   32051     name: "T"
   32052     type: "type"
   32053     allowed_values {
   32054       list {
   32055         type: DT_INT8
   32056         type: DT_INT16
   32057         type: DT_INT32
   32058         type: DT_INT64
   32059         type: DT_UINT8
   32060         type: DT_UINT16
   32061         type: DT_UINT32
   32062         type: DT_UINT64
   32063       }
   32064     }
   32065   }
   32066 }
   32067 op {
   32068   name: "Pow"
   32069   input_arg {
   32070     name: "x"
   32071     type_attr: "T"
   32072   }
   32073   input_arg {
   32074     name: "y"
   32075     type_attr: "T"
   32076   }
   32077   output_arg {
   32078     name: "z"
   32079     type_attr: "T"
   32080   }
   32081   attr {
   32082     name: "T"
   32083     type: "type"
   32084     allowed_values {
   32085       list {
   32086         type: DT_HALF
   32087         type: DT_FLOAT
   32088         type: DT_DOUBLE
   32089         type: DT_INT32
   32090         type: DT_INT64
   32091         type: DT_COMPLEX64
   32092         type: DT_COMPLEX128
   32093       }
   32094     }
   32095   }
   32096 }
   32097 op {
   32098   name: "Pow"
   32099   input_arg {
   32100     name: "x"
   32101     type_attr: "T"
   32102   }
   32103   input_arg {
   32104     name: "y"
   32105     type_attr: "T"
   32106   }
   32107   output_arg {
   32108     name: "z"
   32109     type_attr: "T"
   32110   }
   32111   attr {
   32112     name: "T"
   32113     type: "type"
   32114     allowed_values {
   32115       list {
   32116         type: DT_HALF
   32117         type: DT_BFLOAT16
   32118         type: DT_FLOAT
   32119         type: DT_DOUBLE
   32120         type: DT_INT32
   32121         type: DT_INT64
   32122         type: DT_COMPLEX64
   32123         type: DT_COMPLEX128
   32124       }
   32125     }
   32126   }
   32127 }
   32128 op {
   32129   name: "PrefetchDataset"
   32130   input_arg {
   32131     name: "input_dataset"
   32132     type: DT_VARIANT
   32133   }
   32134   input_arg {
   32135     name: "buffer_size"
   32136     type: DT_INT64
   32137   }
   32138   output_arg {
   32139     name: "handle"
   32140     type: DT_VARIANT
   32141   }
   32142   attr {
   32143     name: "output_types"
   32144     type: "list(type)"
   32145     has_minimum: true
   32146     minimum: 1
   32147   }
   32148   attr {
   32149     name: "output_shapes"
   32150     type: "list(shape)"
   32151     has_minimum: true
   32152     minimum: 1
   32153   }
   32154   is_stateful: true
   32155 }
   32156 op {
   32157   name: "PrefetchDataset"
   32158   input_arg {
   32159     name: "input_dataset"
   32160     type: DT_VARIANT
   32161   }
   32162   input_arg {
   32163     name: "buffer_size"
   32164     type: DT_INT64
   32165   }
   32166   output_arg {
   32167     name: "handle"
   32168     type: DT_VARIANT
   32169   }
   32170   attr {
   32171     name: "output_types"
   32172     type: "list(type)"
   32173     has_minimum: true
   32174     minimum: 1
   32175   }
   32176   attr {
   32177     name: "output_shapes"
   32178     type: "list(shape)"
   32179     has_minimum: true
   32180     minimum: 1
   32181   }
   32182 }
   32183 op {
   32184   name: "PrependFromQueueAndPaddedBatchDataset"
   32185   input_arg {
   32186     name: "input_dataset"
   32187     type: DT_VARIANT
   32188   }
   32189   input_arg {
   32190     name: "batch_size"
   32191     type: DT_INT64
   32192   }
   32193   input_arg {
   32194     name: "padded_shapes"
   32195     type: DT_INT64
   32196     number_attr: "N"
   32197   }
   32198   input_arg {
   32199     name: "padding_values"
   32200     type_list_attr: "Toutput_types"
   32201   }
   32202   output_arg {
   32203     name: "handle"
   32204     type: DT_VARIANT
   32205   }
   32206   attr {
   32207     name: "Toutput_types"
   32208     type: "list(type)"
   32209     has_minimum: true
   32210     minimum: 1
   32211   }
   32212   attr {
   32213     name: "output_shapes"
   32214     type: "list(shape)"
   32215     has_minimum: true
   32216     minimum: 1
   32217   }
   32218   attr {
   32219     name: "N"
   32220     type: "int"
   32221     has_minimum: true
   32222     minimum: 1
   32223   }
   32224 }
   32225 op {
   32226   name: "PreventGradient"
   32227   input_arg {
   32228     name: "input"
   32229     type_attr: "T"
   32230   }
   32231   output_arg {
   32232     name: "output"
   32233     type_attr: "T"
   32234   }
   32235   attr {
   32236     name: "T"
   32237     type: "type"
   32238   }
   32239   attr {
   32240     name: "message"
   32241     type: "string"
   32242     default_value {
   32243       s: ""
   32244     }
   32245   }
   32246 }
   32247 op {
   32248   name: "Print"
   32249   input_arg {
   32250     name: "input"
   32251     type_attr: "T"
   32252   }
   32253   input_arg {
   32254     name: "data"
   32255     type_list_attr: "U"
   32256   }
   32257   output_arg {
   32258     name: "output"
   32259     type_attr: "T"
   32260   }
   32261   attr {
   32262     name: "T"
   32263     type: "type"
   32264   }
   32265   attr {
   32266     name: "U"
   32267     type: "list(type)"
   32268     has_minimum: true
   32269     minimum: 1
   32270   }
   32271   attr {
   32272     name: "message"
   32273     type: "string"
   32274     default_value {
   32275       s: ""
   32276     }
   32277   }
   32278   attr {
   32279     name: "first_n"
   32280     type: "int"
   32281     default_value {
   32282       i: -1
   32283     }
   32284   }
   32285   attr {
   32286     name: "summarize"
   32287     type: "int"
   32288     default_value {
   32289       i: 3
   32290     }
   32291   }
   32292   is_stateful: true
   32293 }
   32294 op {
   32295   name: "Print"
   32296   input_arg {
   32297     name: "input"
   32298     type_attr: "T"
   32299   }
   32300   input_arg {
   32301     name: "data"
   32302     type_list_attr: "U"
   32303   }
   32304   output_arg {
   32305     name: "output"
   32306     type_attr: "T"
   32307   }
   32308   attr {
   32309     name: "T"
   32310     type: "type"
   32311   }
   32312   attr {
   32313     name: "U"
   32314     type: "list(type)"
   32315     has_minimum: true
   32316   }
   32317   attr {
   32318     name: "message"
   32319     type: "string"
   32320     default_value {
   32321       s: ""
   32322     }
   32323   }
   32324   attr {
   32325     name: "first_n"
   32326     type: "int"
   32327     default_value {
   32328       i: -1
   32329     }
   32330   }
   32331   attr {
   32332     name: "summarize"
   32333     type: "int"
   32334     default_value {
   32335       i: 3
   32336     }
   32337   }
   32338   is_stateful: true
   32339 }
   32340 op {
   32341   name: "PriorityQueue"
   32342   output_arg {
   32343     name: "handle"
   32344     type: DT_STRING
   32345     is_ref: true
   32346   }
   32347   attr {
   32348     name: "component_types"
   32349     type: "list(type)"
   32350     default_value {
   32351       list {
   32352       }
   32353     }
   32354     has_minimum: true
   32355   }
   32356   attr {
   32357     name: "shapes"
   32358     type: "list(shape)"
   32359     has_minimum: true
   32360   }
   32361   attr {
   32362     name: "capacity"
   32363     type: "int"
   32364     default_value {
   32365       i: -1
   32366     }
   32367   }
   32368   attr {
   32369     name: "container"
   32370     type: "string"
   32371     default_value {
   32372       s: ""
   32373     }
   32374   }
   32375   attr {
   32376     name: "shared_name"
   32377     type: "string"
   32378     default_value {
   32379       s: ""
   32380     }
   32381   }
   32382   is_stateful: true
   32383 }
   32384 op {
   32385   name: "PriorityQueueV2"
   32386   output_arg {
   32387     name: "handle"
   32388     type: DT_RESOURCE
   32389   }
   32390   attr {
   32391     name: "component_types"
   32392     type: "list(type)"
   32393     default_value {
   32394       list {
   32395       }
   32396     }
   32397     has_minimum: true
   32398   }
   32399   attr {
   32400     name: "shapes"
   32401     type: "list(shape)"
   32402     has_minimum: true
   32403   }
   32404   attr {
   32405     name: "capacity"
   32406     type: "int"
   32407     default_value {
   32408       i: -1
   32409     }
   32410   }
   32411   attr {
   32412     name: "container"
   32413     type: "string"
   32414     default_value {
   32415       s: ""
   32416     }
   32417   }
   32418   attr {
   32419     name: "shared_name"
   32420     type: "string"
   32421     default_value {
   32422       s: ""
   32423     }
   32424   }
   32425   is_stateful: true
   32426 }
   32427 op {
   32428   name: "Prod"
   32429   input_arg {
   32430     name: "input"
   32431     type_attr: "T"
   32432   }
   32433   input_arg {
   32434     name: "reduction_indices"
   32435     type_attr: "Tidx"
   32436   }
   32437   output_arg {
   32438     name: "output"
   32439     type_attr: "T"
   32440   }
   32441   attr {
   32442     name: "keep_dims"
   32443     type: "bool"
   32444     default_value {
   32445       b: false
   32446     }
   32447   }
   32448   attr {
   32449     name: "T"
   32450     type: "type"
   32451     allowed_values {
   32452       list {
   32453         type: DT_FLOAT
   32454         type: DT_DOUBLE
   32455         type: DT_INT64
   32456         type: DT_INT32
   32457         type: DT_UINT8
   32458         type: DT_UINT16
   32459         type: DT_INT16
   32460         type: DT_INT8
   32461         type: DT_COMPLEX64
   32462         type: DT_COMPLEX128
   32463         type: DT_QINT8
   32464         type: DT_QUINT8
   32465         type: DT_QINT32
   32466         type: DT_HALF
   32467       }
   32468     }
   32469   }
   32470   attr {
   32471     name: "Tidx"
   32472     type: "type"
   32473     default_value {
   32474       type: DT_INT32
   32475     }
   32476     allowed_values {
   32477       list {
   32478         type: DT_INT32
   32479         type: DT_INT64
   32480       }
   32481     }
   32482   }
   32483 }
   32484 op {
   32485   name: "Prod"
   32486   input_arg {
   32487     name: "input"
   32488     type_attr: "T"
   32489   }
   32490   input_arg {
   32491     name: "reduction_indices"
   32492     type_attr: "Tidx"
   32493   }
   32494   output_arg {
   32495     name: "output"
   32496     type_attr: "T"
   32497   }
   32498   attr {
   32499     name: "keep_dims"
   32500     type: "bool"
   32501     default_value {
   32502       b: false
   32503     }
   32504   }
   32505   attr {
   32506     name: "T"
   32507     type: "type"
   32508     allowed_values {
   32509       list {
   32510         type: DT_FLOAT
   32511         type: DT_DOUBLE
   32512         type: DT_INT64
   32513         type: DT_INT32
   32514         type: DT_UINT8
   32515         type: DT_UINT16
   32516         type: DT_INT16
   32517         type: DT_INT8
   32518         type: DT_COMPLEX64
   32519         type: DT_COMPLEX128
   32520         type: DT_QINT8
   32521         type: DT_QUINT8
   32522         type: DT_QINT32
   32523         type: DT_HALF
   32524         type: DT_UINT32
   32525         type: DT_UINT64
   32526       }
   32527     }
   32528   }
   32529   attr {
   32530     name: "Tidx"
   32531     type: "type"
   32532     default_value {
   32533       type: DT_INT32
   32534     }
   32535     allowed_values {
   32536       list {
   32537         type: DT_INT32
   32538         type: DT_INT64
   32539       }
   32540     }
   32541   }
   32542 }
   32543 op {
   32544   name: "Prod"
   32545   input_arg {
   32546     name: "input"
   32547     type_attr: "T"
   32548   }
   32549   input_arg {
   32550     name: "reduction_indices"
   32551     type_attr: "Tidx"
   32552   }
   32553   output_arg {
   32554     name: "output"
   32555     type_attr: "T"
   32556   }
   32557   attr {
   32558     name: "keep_dims"
   32559     type: "bool"
   32560     default_value {
   32561       b: false
   32562     }
   32563   }
   32564   attr {
   32565     name: "T"
   32566     type: "type"
   32567     allowed_values {
   32568       list {
   32569         type: DT_FLOAT
   32570         type: DT_DOUBLE
   32571         type: DT_INT64
   32572         type: DT_INT32
   32573         type: DT_UINT8
   32574         type: DT_UINT16
   32575         type: DT_INT16
   32576         type: DT_INT8
   32577         type: DT_COMPLEX64
   32578         type: DT_COMPLEX128
   32579         type: DT_QINT8
   32580         type: DT_QUINT8
   32581         type: DT_QINT32
   32582         type: DT_HALF
   32583         type: DT_UINT32
   32584         type: DT_UINT64
   32585         type: DT_BFLOAT16
   32586       }
   32587     }
   32588   }
   32589   attr {
   32590     name: "Tidx"
   32591     type: "type"
   32592     default_value {
   32593       type: DT_INT32
   32594     }
   32595     allowed_values {
   32596       list {
   32597         type: DT_INT32
   32598         type: DT_INT64
   32599       }
   32600     }
   32601   }
   32602 }
   32603 op {
   32604   name: "Prod"
   32605   input_arg {
   32606     name: "input"
   32607     type_attr: "T"
   32608   }
   32609   input_arg {
   32610     name: "reduction_indices"
   32611     type_attr: "Tidx"
   32612   }
   32613   output_arg {
   32614     name: "output"
   32615     type_attr: "T"
   32616   }
   32617   attr {
   32618     name: "keep_dims"
   32619     type: "bool"
   32620     default_value {
   32621       b: false
   32622     }
   32623   }
   32624   attr {
   32625     name: "T"
   32626     type: "type"
   32627     allowed_values {
   32628       list {
   32629         type: DT_FLOAT
   32630         type: DT_DOUBLE
   32631         type: DT_INT32
   32632         type: DT_UINT8
   32633         type: DT_INT16
   32634         type: DT_INT8
   32635         type: DT_COMPLEX64
   32636         type: DT_INT64
   32637         type: DT_QINT8
   32638         type: DT_QUINT8
   32639         type: DT_QINT32
   32640         type: DT_BFLOAT16
   32641         type: DT_UINT16
   32642         type: DT_COMPLEX128
   32643         type: DT_HALF
   32644         type: DT_UINT32
   32645         type: DT_UINT64
   32646       }
   32647     }
   32648   }
   32649   attr {
   32650     name: "Tidx"
   32651     type: "type"
   32652     default_value {
   32653       type: DT_INT32
   32654     }
   32655     allowed_values {
   32656       list {
   32657         type: DT_INT32
   32658         type: DT_INT64
   32659       }
   32660     }
   32661   }
   32662 }
   32663 op {
   32664   name: "PyFunc"
   32665   input_arg {
   32666     name: "input"
   32667     type_list_attr: "Tin"
   32668   }
   32669   output_arg {
   32670     name: "output"
   32671     type_list_attr: "Tout"
   32672   }
   32673   attr {
   32674     name: "token"
   32675     type: "string"
   32676   }
   32677   attr {
   32678     name: "Tin"
   32679     type: "list(type)"
   32680     has_minimum: true
   32681   }
   32682   attr {
   32683     name: "Tout"
   32684     type: "list(type)"
   32685     has_minimum: true
   32686   }
   32687   is_stateful: true
   32688 }
   32689 op {
   32690   name: "PyFuncStateless"
   32691   input_arg {
   32692     name: "input"
   32693     type_list_attr: "Tin"
   32694   }
   32695   output_arg {
   32696     name: "output"
   32697     type_list_attr: "Tout"
   32698   }
   32699   attr {
   32700     name: "token"
   32701     type: "string"
   32702   }
   32703   attr {
   32704     name: "Tin"
   32705     type: "list(type)"
   32706     has_minimum: true
   32707   }
   32708   attr {
   32709     name: "Tout"
   32710     type: "list(type)"
   32711     has_minimum: true
   32712   }
   32713 }
   32714 op {
   32715   name: "Qr"
   32716   input_arg {
   32717     name: "input"
   32718     type_attr: "T"
   32719   }
   32720   output_arg {
   32721     name: "q"
   32722     type_attr: "T"
   32723   }
   32724   output_arg {
   32725     name: "r"
   32726     type_attr: "T"
   32727   }
   32728   attr {
   32729     name: "full_matrices"
   32730     type: "bool"
   32731     default_value {
   32732       b: false
   32733     }
   32734   }
   32735   attr {
   32736     name: "T"
   32737     type: "type"
   32738     allowed_values {
   32739       list {
   32740         type: DT_DOUBLE
   32741         type: DT_FLOAT
   32742         type: DT_COMPLEX64
   32743         type: DT_COMPLEX128
   32744       }
   32745     }
   32746   }
   32747 }
   32748 op {
   32749   name: "QuantizeAndDequantize"
   32750   input_arg {
   32751     name: "input"
   32752     type_attr: "T"
   32753   }
   32754   output_arg {
   32755     name: "output"
   32756     type_attr: "T"
   32757   }
   32758   attr {
   32759     name: "signed_input"
   32760     type: "bool"
   32761     default_value {
   32762       b: true
   32763     }
   32764   }
   32765   attr {
   32766     name: "num_bits"
   32767     type: "int"
   32768     default_value {
   32769       i: 8
   32770     }
   32771   }
   32772   attr {
   32773     name: "range_given"
   32774     type: "bool"
   32775     default_value {
   32776       b: false
   32777     }
   32778   }
   32779   attr {
   32780     name: "input_min"
   32781     type: "float"
   32782     default_value {
   32783       f: 0
   32784     }
   32785   }
   32786   attr {
   32787     name: "input_max"
   32788     type: "float"
   32789     default_value {
   32790       f: 0
   32791     }
   32792   }
   32793   attr {
   32794     name: "T"
   32795     type: "type"
   32796     allowed_values {
   32797       list {
   32798         type: DT_FLOAT
   32799         type: DT_DOUBLE
   32800       }
   32801     }
   32802   }
   32803 }
   32804 op {
   32805   name: "QuantizeAndDequantize"
   32806   input_arg {
   32807     name: "input"
   32808     type_attr: "T"
   32809   }
   32810   output_arg {
   32811     name: "output"
   32812     type_attr: "T"
   32813   }
   32814   attr {
   32815     name: "signed_input"
   32816     type: "bool"
   32817     default_value {
   32818       b: true
   32819     }
   32820   }
   32821   attr {
   32822     name: "num_bits"
   32823     type: "int"
   32824     default_value {
   32825       i: 8
   32826     }
   32827   }
   32828   attr {
   32829     name: "range_given"
   32830     type: "bool"
   32831     default_value {
   32832       b: false
   32833     }
   32834   }
   32835   attr {
   32836     name: "input_min"
   32837     type: "float"
   32838     default_value {
   32839       f: 0
   32840     }
   32841   }
   32842   attr {
   32843     name: "input_max"
   32844     type: "float"
   32845     default_value {
   32846       f: 0
   32847     }
   32848   }
   32849   attr {
   32850     name: "T"
   32851     type: "type"
   32852     allowed_values {
   32853       list {
   32854         type: DT_FLOAT
   32855         type: DT_DOUBLE
   32856       }
   32857     }
   32858   }
   32859   deprecation {
   32860     version: 21
   32861   }
   32862 }
   32863 op {
   32864   name: "QuantizeAndDequantize"
   32865   input_arg {
   32866     name: "input"
   32867     type_attr: "T"
   32868   }
   32869   output_arg {
   32870     name: "output"
   32871     type_attr: "T"
   32872   }
   32873   attr {
   32874     name: "signed_input"
   32875     type: "bool"
   32876     default_value {
   32877       b: true
   32878     }
   32879   }
   32880   attr {
   32881     name: "num_bits"
   32882     type: "int"
   32883     default_value {
   32884       i: 8
   32885     }
   32886   }
   32887   attr {
   32888     name: "range_given"
   32889     type: "bool"
   32890     default_value {
   32891       b: false
   32892     }
   32893   }
   32894   attr {
   32895     name: "input_min"
   32896     type: "float"
   32897     default_value {
   32898       f: 0
   32899     }
   32900   }
   32901   attr {
   32902     name: "input_max"
   32903     type: "float"
   32904     default_value {
   32905       f: 0
   32906     }
   32907   }
   32908   attr {
   32909     name: "T"
   32910     type: "type"
   32911     allowed_values {
   32912       list {
   32913         type: DT_FLOAT
   32914         type: DT_DOUBLE
   32915       }
   32916     }
   32917   }
   32918   deprecation {
   32919     version: 22
   32920   }
   32921 }
   32922 op {
   32923   name: "QuantizeAndDequantize"
   32924   input_arg {
   32925     name: "input"
   32926     type_attr: "T"
   32927   }
   32928   output_arg {
   32929     name: "output"
   32930     type_attr: "T"
   32931   }
   32932   attr {
   32933     name: "signed_input"
   32934     type: "bool"
   32935     default_value {
   32936       b: true
   32937     }
   32938   }
   32939   attr {
   32940     name: "num_bits"
   32941     type: "int"
   32942     default_value {
   32943       i: 8
   32944     }
   32945   }
   32946   attr {
   32947     name: "range_given"
   32948     type: "bool"
   32949     default_value {
   32950       b: false
   32951     }
   32952   }
   32953   attr {
   32954     name: "input_min"
   32955     type: "float"
   32956     default_value {
   32957       f: 0
   32958     }
   32959   }
   32960   attr {
   32961     name: "input_max"
   32962     type: "float"
   32963     default_value {
   32964       f: 0
   32965     }
   32966   }
   32967   attr {
   32968     name: "T"
   32969     type: "type"
   32970     allowed_values {
   32971       list {
   32972         type: DT_BFLOAT16
   32973         type: DT_FLOAT
   32974         type: DT_DOUBLE
   32975       }
   32976     }
   32977   }
   32978   deprecation {
   32979     version: 22
   32980   }
   32981 }
   32982 op {
   32983   name: "QuantizeAndDequantizeV2"
   32984   input_arg {
   32985     name: "input"
   32986     type_attr: "T"
   32987   }
   32988   input_arg {
   32989     name: "input_min"
   32990     type_attr: "T"
   32991   }
   32992   input_arg {
   32993     name: "input_max"
   32994     type_attr: "T"
   32995   }
   32996   output_arg {
   32997     name: "output"
   32998     type_attr: "T"
   32999   }
   33000   attr {
   33001     name: "signed_input"
   33002     type: "bool"
   33003     default_value {
   33004       b: true
   33005     }
   33006   }
   33007   attr {
   33008     name: "num_bits"
   33009     type: "int"
   33010     default_value {
   33011       i: 8
   33012     }
   33013   }
   33014   attr {
   33015     name: "range_given"
   33016     type: "bool"
   33017     default_value {
   33018       b: false
   33019     }
   33020   }
   33021   attr {
   33022     name: "T"
   33023     type: "type"
   33024     allowed_values {
   33025       list {
   33026         type: DT_FLOAT
   33027         type: DT_DOUBLE
   33028       }
   33029     }
   33030   }
   33031 }
   33032 op {
   33033   name: "QuantizeAndDequantizeV2"
   33034   input_arg {
   33035     name: "input"
   33036     type_attr: "T"
   33037   }
   33038   input_arg {
   33039     name: "input_min"
   33040     type_attr: "T"
   33041   }
   33042   input_arg {
   33043     name: "input_max"
   33044     type_attr: "T"
   33045   }
   33046   output_arg {
   33047     name: "output"
   33048     type_attr: "T"
   33049   }
   33050   attr {
   33051     name: "signed_input"
   33052     type: "bool"
   33053     default_value {
   33054       b: true
   33055     }
   33056   }
   33057   attr {
   33058     name: "num_bits"
   33059     type: "int"
   33060     default_value {
   33061       i: 8
   33062     }
   33063   }
   33064   attr {
   33065     name: "range_given"
   33066     type: "bool"
   33067     default_value {
   33068       b: false
   33069     }
   33070   }
   33071   attr {
   33072     name: "T"
   33073     type: "type"
   33074     allowed_values {
   33075       list {
   33076         type: DT_BFLOAT16
   33077         type: DT_FLOAT
   33078         type: DT_DOUBLE
   33079       }
   33080     }
   33081   }
   33082 }
   33083 op {
   33084   name: "QuantizeAndDequantizeV3"
   33085   input_arg {
   33086     name: "input"
   33087     type_attr: "T"
   33088   }
   33089   input_arg {
   33090     name: "input_min"
   33091     type_attr: "T"
   33092   }
   33093   input_arg {
   33094     name: "input_max"
   33095     type_attr: "T"
   33096   }
   33097   input_arg {
   33098     name: "num_bits"
   33099     type: DT_INT32
   33100   }
   33101   output_arg {
   33102     name: "output"
   33103     type_attr: "T"
   33104   }
   33105   attr {
   33106     name: "signed_input"
   33107     type: "bool"
   33108     default_value {
   33109       b: true
   33110     }
   33111   }
   33112   attr {
   33113     name: "range_given"
   33114     type: "bool"
   33115     default_value {
   33116       b: true
   33117     }
   33118   }
   33119   attr {
   33120     name: "T"
   33121     type: "type"
   33122     allowed_values {
   33123       list {
   33124         type: DT_FLOAT
   33125         type: DT_DOUBLE
   33126       }
   33127     }
   33128   }
   33129 }
   33130 op {
   33131   name: "QuantizeAndDequantizeV3"
   33132   input_arg {
   33133     name: "input"
   33134     type_attr: "T"
   33135   }
   33136   input_arg {
   33137     name: "input_min"
   33138     type_attr: "T"
   33139   }
   33140   input_arg {
   33141     name: "input_max"
   33142     type_attr: "T"
   33143   }
   33144   input_arg {
   33145     name: "num_bits"
   33146     type: DT_INT32
   33147   }
   33148   output_arg {
   33149     name: "output"
   33150     type_attr: "T"
   33151   }
   33152   attr {
   33153     name: "signed_input"
   33154     type: "bool"
   33155     default_value {
   33156       b: true
   33157     }
   33158   }
   33159   attr {
   33160     name: "range_given"
   33161     type: "bool"
   33162     default_value {
   33163       b: true
   33164     }
   33165   }
   33166   attr {
   33167     name: "T"
   33168     type: "type"
   33169     allowed_values {
   33170       list {
   33171         type: DT_BFLOAT16
   33172         type: DT_FLOAT
   33173         type: DT_DOUBLE
   33174       }
   33175     }
   33176   }
   33177 }
   33178 op {
   33179   name: "QuantizeDownAndShrinkRange"
   33180   input_arg {
   33181     name: "input"
   33182     type_attr: "Tinput"
   33183   }
   33184   input_arg {
   33185     name: "input_min"
   33186     type: DT_FLOAT
   33187   }
   33188   input_arg {
   33189     name: "input_max"
   33190     type: DT_FLOAT
   33191   }
   33192   output_arg {
   33193     name: "output"
   33194     type_attr: "out_type"
   33195   }
   33196   output_arg {
   33197     name: "output_min"
   33198     type: DT_FLOAT
   33199   }
   33200   output_arg {
   33201     name: "output_max"
   33202     type: DT_FLOAT
   33203   }
   33204   attr {
   33205     name: "Tinput"
   33206     type: "type"
   33207     allowed_values {
   33208       list {
   33209         type: DT_QINT8
   33210         type: DT_QUINT8
   33211         type: DT_QINT16
   33212         type: DT_QUINT16
   33213         type: DT_QINT32
   33214       }
   33215     }
   33216   }
   33217   attr {
   33218     name: "out_type"
   33219     type: "type"
   33220     allowed_values {
   33221       list {
   33222         type: DT_QINT8
   33223         type: DT_QUINT8
   33224         type: DT_QINT16
   33225         type: DT_QUINT16
   33226         type: DT_QINT32
   33227       }
   33228     }
   33229   }
   33230 }
   33231 op {
   33232   name: "QuantizeDownAndShrinkRange"
   33233   input_arg {
   33234     name: "input"
   33235     type_attr: "Tinput"
   33236   }
   33237   input_arg {
   33238     name: "input_min"
   33239     type: DT_FLOAT
   33240   }
   33241   input_arg {
   33242     name: "input_max"
   33243     type: DT_FLOAT
   33244   }
   33245   output_arg {
   33246     name: "output"
   33247     type_attr: "out_type"
   33248   }
   33249   output_arg {
   33250     name: "output_min"
   33251     type: DT_FLOAT
   33252   }
   33253   output_arg {
   33254     name: "output_max"
   33255     type: DT_FLOAT
   33256   }
   33257   attr {
   33258     name: "Tinput"
   33259     type: "type"
   33260     allowed_values {
   33261       list {
   33262         type: DT_QINT8
   33263         type: DT_QUINT8
   33264         type: DT_QINT32
   33265         type: DT_QINT16
   33266         type: DT_QUINT16
   33267       }
   33268     }
   33269   }
   33270   attr {
   33271     name: "out_type"
   33272     type: "type"
   33273     allowed_values {
   33274       list {
   33275         type: DT_QINT8
   33276         type: DT_QUINT8
   33277         type: DT_QINT32
   33278         type: DT_QINT16
   33279         type: DT_QUINT16
   33280       }
   33281     }
   33282   }
   33283 }
   33284 op {
   33285   name: "QuantizeV2"
   33286   input_arg {
   33287     name: "input"
   33288     type: DT_FLOAT
   33289   }
   33290   input_arg {
   33291     name: "min_range"
   33292     type: DT_FLOAT
   33293   }
   33294   input_arg {
   33295     name: "max_range"
   33296     type: DT_FLOAT
   33297   }
   33298   output_arg {
   33299     name: "output"
   33300     type_attr: "T"
   33301   }
   33302   output_arg {
   33303     name: "output_min"
   33304     type: DT_FLOAT
   33305   }
   33306   output_arg {
   33307     name: "output_max"
   33308     type: DT_FLOAT
   33309   }
   33310   attr {
   33311     name: "T"
   33312     type: "type"
   33313     allowed_values {
   33314       list {
   33315         type: DT_QINT8
   33316         type: DT_QUINT8
   33317         type: DT_QINT16
   33318         type: DT_QUINT16
   33319         type: DT_QINT32
   33320       }
   33321     }
   33322   }
   33323   attr {
   33324     name: "mode"
   33325     type: "string"
   33326     default_value {
   33327       s: "MIN_COMBINED"
   33328     }
   33329     allowed_values {
   33330       list {
   33331         s: "MIN_COMBINED"
   33332         s: "MIN_FIRST"
   33333       }
   33334     }
   33335   }
   33336 }
   33337 op {
   33338   name: "QuantizeV2"
   33339   input_arg {
   33340     name: "input"
   33341     type: DT_FLOAT
   33342   }
   33343   input_arg {
   33344     name: "min_range"
   33345     type: DT_FLOAT
   33346   }
   33347   input_arg {
   33348     name: "max_range"
   33349     type: DT_FLOAT
   33350   }
   33351   output_arg {
   33352     name: "output"
   33353     type_attr: "T"
   33354   }
   33355   output_arg {
   33356     name: "output_min"
   33357     type: DT_FLOAT
   33358   }
   33359   output_arg {
   33360     name: "output_max"
   33361     type: DT_FLOAT
   33362   }
   33363   attr {
   33364     name: "T"
   33365     type: "type"
   33366     allowed_values {
   33367       list {
   33368         type: DT_QINT8
   33369         type: DT_QUINT8
   33370         type: DT_QINT16
   33371         type: DT_QUINT16
   33372         type: DT_QINT32
   33373       }
   33374     }
   33375   }
   33376   attr {
   33377     name: "mode"
   33378     type: "string"
   33379     default_value {
   33380       s: "MIN_COMBINED"
   33381     }
   33382     allowed_values {
   33383       list {
   33384         s: "MIN_COMBINED"
   33385         s: "MIN_FIRST"
   33386         s: "SCALED"
   33387       }
   33388     }
   33389   }
   33390 }
   33391 op {
   33392   name: "QuantizeV2"
   33393   input_arg {
   33394     name: "input"
   33395     type: DT_FLOAT
   33396   }
   33397   input_arg {
   33398     name: "min_range"
   33399     type: DT_FLOAT
   33400   }
   33401   input_arg {
   33402     name: "max_range"
   33403     type: DT_FLOAT
   33404   }
   33405   output_arg {
   33406     name: "output"
   33407     type_attr: "T"
   33408   }
   33409   output_arg {
   33410     name: "output_min"
   33411     type: DT_FLOAT
   33412   }
   33413   output_arg {
   33414     name: "output_max"
   33415     type: DT_FLOAT
   33416   }
   33417   attr {
   33418     name: "T"
   33419     type: "type"
   33420     allowed_values {
   33421       list {
   33422         type: DT_QINT8
   33423         type: DT_QUINT8
   33424         type: DT_QINT16
   33425         type: DT_QUINT16
   33426         type: DT_QINT32
   33427       }
   33428     }
   33429   }
   33430   attr {
   33431     name: "mode"
   33432     type: "string"
   33433     default_value {
   33434       s: "MIN_COMBINED"
   33435     }
   33436     allowed_values {
   33437       list {
   33438         s: "MIN_COMBINED"
   33439         s: "MIN_FIRST"
   33440         s: "SCALED"
   33441       }
   33442     }
   33443   }
   33444   attr {
   33445     name: "round_mode"
   33446     type: "string"
   33447     default_value {
   33448       s: "HALF_AWAY_FROM_ZERO"
   33449     }
   33450     allowed_values {
   33451       list {
   33452         s: "HALF_AWAY_FROM_ZERO"
   33453         s: "HALF_TO_EVEN"
   33454       }
   33455     }
   33456   }
   33457 }
   33458 op {
   33459   name: "QuantizeV2"
   33460   input_arg {
   33461     name: "input"
   33462     type: DT_FLOAT
   33463   }
   33464   input_arg {
   33465     name: "min_range"
   33466     type: DT_FLOAT
   33467   }
   33468   input_arg {
   33469     name: "max_range"
   33470     type: DT_FLOAT
   33471   }
   33472   output_arg {
   33473     name: "output"
   33474     type_attr: "T"
   33475   }
   33476   output_arg {
   33477     name: "output_min"
   33478     type: DT_FLOAT
   33479   }
   33480   output_arg {
   33481     name: "output_max"
   33482     type: DT_FLOAT
   33483   }
   33484   attr {
   33485     name: "T"
   33486     type: "type"
   33487     allowed_values {
   33488       list {
   33489         type: DT_QINT8
   33490         type: DT_QUINT8
   33491         type: DT_QINT32
   33492         type: DT_QINT16
   33493         type: DT_QUINT16
   33494       }
   33495     }
   33496   }
   33497   attr {
   33498     name: "mode"
   33499     type: "string"
   33500     default_value {
   33501       s: "MIN_COMBINED"
   33502     }
   33503     allowed_values {
   33504       list {
   33505         s: "MIN_COMBINED"
   33506         s: "MIN_FIRST"
   33507         s: "SCALED"
   33508       }
   33509     }
   33510   }
   33511   attr {
   33512     name: "round_mode"
   33513     type: "string"
   33514     default_value {
   33515       s: "HALF_AWAY_FROM_ZERO"
   33516     }
   33517     allowed_values {
   33518       list {
   33519         s: "HALF_AWAY_FROM_ZERO"
   33520         s: "HALF_TO_EVEN"
   33521       }
   33522     }
   33523   }
   33524 }
   33525 op {
   33526   name: "QuantizedAdd"
   33527   input_arg {
   33528     name: "x"
   33529     type_attr: "T1"
   33530   }
   33531   input_arg {
   33532     name: "y"
   33533     type_attr: "T2"
   33534   }
   33535   input_arg {
   33536     name: "min_x"
   33537     type: DT_FLOAT
   33538   }
   33539   input_arg {
   33540     name: "max_x"
   33541     type: DT_FLOAT
   33542   }
   33543   input_arg {
   33544     name: "min_y"
   33545     type: DT_FLOAT
   33546   }
   33547   input_arg {
   33548     name: "max_y"
   33549     type: DT_FLOAT
   33550   }
   33551   output_arg {
   33552     name: "z"
   33553     type_attr: "Toutput"
   33554   }
   33555   output_arg {
   33556     name: "min_z"
   33557     type: DT_FLOAT
   33558   }
   33559   output_arg {
   33560     name: "max_z"
   33561     type: DT_FLOAT
   33562   }
   33563   attr {
   33564     name: "T1"
   33565     type: "type"
   33566     allowed_values {
   33567       list {
   33568         type: DT_QINT8
   33569         type: DT_QUINT8
   33570         type: DT_QINT16
   33571         type: DT_QUINT16
   33572         type: DT_QINT32
   33573       }
   33574     }
   33575   }
   33576   attr {
   33577     name: "T2"
   33578     type: "type"
   33579     allowed_values {
   33580       list {
   33581         type: DT_QINT8
   33582         type: DT_QUINT8
   33583         type: DT_QINT16
   33584         type: DT_QUINT16
   33585         type: DT_QINT32
   33586       }
   33587     }
   33588   }
   33589   attr {
   33590     name: "Toutput"
   33591     type: "type"
   33592     default_value {
   33593       type: DT_QINT32
   33594     }
   33595     allowed_values {
   33596       list {
   33597         type: DT_QINT8
   33598         type: DT_QUINT8
   33599         type: DT_QINT16
   33600         type: DT_QUINT16
   33601         type: DT_QINT32
   33602       }
   33603     }
   33604   }
   33605   is_commutative: true
   33606 }
   33607 op {
   33608   name: "QuantizedAdd"
   33609   input_arg {
   33610     name: "x"
   33611     type_attr: "T1"
   33612   }
   33613   input_arg {
   33614     name: "y"
   33615     type_attr: "T2"
   33616   }
   33617   input_arg {
   33618     name: "min_x"
   33619     type: DT_FLOAT
   33620   }
   33621   input_arg {
   33622     name: "max_x"
   33623     type: DT_FLOAT
   33624   }
   33625   input_arg {
   33626     name: "min_y"
   33627     type: DT_FLOAT
   33628   }
   33629   input_arg {
   33630     name: "max_y"
   33631     type: DT_FLOAT
   33632   }
   33633   output_arg {
   33634     name: "z"
   33635     type_attr: "Toutput"
   33636   }
   33637   output_arg {
   33638     name: "min_z"
   33639     type: DT_FLOAT
   33640   }
   33641   output_arg {
   33642     name: "max_z"
   33643     type: DT_FLOAT
   33644   }
   33645   attr {
   33646     name: "T1"
   33647     type: "type"
   33648     allowed_values {
   33649       list {
   33650         type: DT_QINT8
   33651         type: DT_QUINT8
   33652         type: DT_QINT32
   33653         type: DT_QINT16
   33654         type: DT_QUINT16
   33655       }
   33656     }
   33657   }
   33658   attr {
   33659     name: "T2"
   33660     type: "type"
   33661     allowed_values {
   33662       list {
   33663         type: DT_QINT8
   33664         type: DT_QUINT8
   33665         type: DT_QINT32
   33666         type: DT_QINT16
   33667         type: DT_QUINT16
   33668       }
   33669     }
   33670   }
   33671   attr {
   33672     name: "Toutput"
   33673     type: "type"
   33674     default_value {
   33675       type: DT_QINT32
   33676     }
   33677     allowed_values {
   33678       list {
   33679         type: DT_QINT8
   33680         type: DT_QUINT8
   33681         type: DT_QINT32
   33682         type: DT_QINT16
   33683         type: DT_QUINT16
   33684       }
   33685     }
   33686   }
   33687   is_commutative: true
   33688 }
   33689 op {
   33690   name: "QuantizedAvgPool"
   33691   input_arg {
   33692     name: "input"
   33693     type_attr: "T"
   33694   }
   33695   input_arg {
   33696     name: "min_input"
   33697     type: DT_FLOAT
   33698   }
   33699   input_arg {
   33700     name: "max_input"
   33701     type: DT_FLOAT
   33702   }
   33703   output_arg {
   33704     name: "output"
   33705     type_attr: "T"
   33706   }
   33707   output_arg {
   33708     name: "min_output"
   33709     type: DT_FLOAT
   33710   }
   33711   output_arg {
   33712     name: "max_output"
   33713     type: DT_FLOAT
   33714   }
   33715   attr {
   33716     name: "T"
   33717     type: "type"
   33718     allowed_values {
   33719       list {
   33720         type: DT_QINT8
   33721         type: DT_QUINT8
   33722         type: DT_QINT16
   33723         type: DT_QUINT16
   33724         type: DT_QINT32
   33725       }
   33726     }
   33727   }
   33728   attr {
   33729     name: "ksize"
   33730     type: "list(int)"
   33731   }
   33732   attr {
   33733     name: "strides"
   33734     type: "list(int)"
   33735   }
   33736   attr {
   33737     name: "padding"
   33738     type: "string"
   33739     allowed_values {
   33740       list {
   33741         s: "SAME"
   33742         s: "VALID"
   33743       }
   33744     }
   33745   }
   33746 }
   33747 op {
   33748   name: "QuantizedAvgPool"
   33749   input_arg {
   33750     name: "input"
   33751     type_attr: "T"
   33752   }
   33753   input_arg {
   33754     name: "min_input"
   33755     type: DT_FLOAT
   33756   }
   33757   input_arg {
   33758     name: "max_input"
   33759     type: DT_FLOAT
   33760   }
   33761   output_arg {
   33762     name: "output"
   33763     type_attr: "T"
   33764   }
   33765   output_arg {
   33766     name: "min_output"
   33767     type: DT_FLOAT
   33768   }
   33769   output_arg {
   33770     name: "max_output"
   33771     type: DT_FLOAT
   33772   }
   33773   attr {
   33774     name: "T"
   33775     type: "type"
   33776     allowed_values {
   33777       list {
   33778         type: DT_QINT8
   33779         type: DT_QUINT8
   33780         type: DT_QINT32
   33781         type: DT_QINT16
   33782         type: DT_QUINT16
   33783       }
   33784     }
   33785   }
   33786   attr {
   33787     name: "ksize"
   33788     type: "list(int)"
   33789   }
   33790   attr {
   33791     name: "strides"
   33792     type: "list(int)"
   33793   }
   33794   attr {
   33795     name: "padding"
   33796     type: "string"
   33797     allowed_values {
   33798       list {
   33799         s: "SAME"
   33800         s: "VALID"
   33801       }
   33802     }
   33803   }
   33804 }
   33805 op {
   33806   name: "QuantizedBatchNormWithGlobalNormalization"
   33807   input_arg {
   33808     name: "t"
   33809     type_attr: "Tinput"
   33810   }
   33811   input_arg {
   33812     name: "t_min"
   33813     type: DT_FLOAT
   33814   }
   33815   input_arg {
   33816     name: "t_max"
   33817     type: DT_FLOAT
   33818   }
   33819   input_arg {
   33820     name: "m"
   33821     type_attr: "Tinput"
   33822   }
   33823   input_arg {
   33824     name: "m_min"
   33825     type: DT_FLOAT
   33826   }
   33827   input_arg {
   33828     name: "m_max"
   33829     type: DT_FLOAT
   33830   }
   33831   input_arg {
   33832     name: "v"
   33833     type_attr: "Tinput"
   33834   }
   33835   input_arg {
   33836     name: "v_min"
   33837     type: DT_FLOAT
   33838   }
   33839   input_arg {
   33840     name: "v_max"
   33841     type: DT_FLOAT
   33842   }
   33843   input_arg {
   33844     name: "beta"
   33845     type_attr: "Tinput"
   33846   }
   33847   input_arg {
   33848     name: "beta_min"
   33849     type: DT_FLOAT
   33850   }
   33851   input_arg {
   33852     name: "beta_max"
   33853     type: DT_FLOAT
   33854   }
   33855   input_arg {
   33856     name: "gamma"
   33857     type_attr: "Tinput"
   33858   }
   33859   input_arg {
   33860     name: "gamma_min"
   33861     type: DT_FLOAT
   33862   }
   33863   input_arg {
   33864     name: "gamma_max"
   33865     type: DT_FLOAT
   33866   }
   33867   output_arg {
   33868     name: "result"
   33869     type_attr: "out_type"
   33870   }
   33871   output_arg {
   33872     name: "result_min"
   33873     type: DT_FLOAT
   33874   }
   33875   output_arg {
   33876     name: "result_max"
   33877     type: DT_FLOAT
   33878   }
   33879   attr {
   33880     name: "Tinput"
   33881     type: "type"
   33882     allowed_values {
   33883       list {
   33884         type: DT_QINT8
   33885         type: DT_QUINT8
   33886         type: DT_QINT16
   33887         type: DT_QUINT16
   33888         type: DT_QINT32
   33889       }
   33890     }
   33891   }
   33892   attr {
   33893     name: "out_type"
   33894     type: "type"
   33895     allowed_values {
   33896       list {
   33897         type: DT_QINT8
   33898         type: DT_QUINT8
   33899         type: DT_QINT16
   33900         type: DT_QUINT16
   33901         type: DT_QINT32
   33902       }
   33903     }
   33904   }
   33905   attr {
   33906     name: "variance_epsilon"
   33907     type: "float"
   33908   }
   33909   attr {
   33910     name: "scale_after_normalization"
   33911     type: "bool"
   33912   }
   33913 }
   33914 op {
   33915   name: "QuantizedBatchNormWithGlobalNormalization"
   33916   input_arg {
   33917     name: "t"
   33918     type_attr: "Tinput"
   33919   }
   33920   input_arg {
   33921     name: "t_min"
   33922     type: DT_FLOAT
   33923   }
   33924   input_arg {
   33925     name: "t_max"
   33926     type: DT_FLOAT
   33927   }
   33928   input_arg {
   33929     name: "m"
   33930     type_attr: "Tinput"
   33931   }
   33932   input_arg {
   33933     name: "m_min"
   33934     type: DT_FLOAT
   33935   }
   33936   input_arg {
   33937     name: "m_max"
   33938     type: DT_FLOAT
   33939   }
   33940   input_arg {
   33941     name: "v"
   33942     type_attr: "Tinput"
   33943   }
   33944   input_arg {
   33945     name: "v_min"
   33946     type: DT_FLOAT
   33947   }
   33948   input_arg {
   33949     name: "v_max"
   33950     type: DT_FLOAT
   33951   }
   33952   input_arg {
   33953     name: "beta"
   33954     type_attr: "Tinput"
   33955   }
   33956   input_arg {
   33957     name: "beta_min"
   33958     type: DT_FLOAT
   33959   }
   33960   input_arg {
   33961     name: "beta_max"
   33962     type: DT_FLOAT
   33963   }
   33964   input_arg {
   33965     name: "gamma"
   33966     type_attr: "Tinput"
   33967   }
   33968   input_arg {
   33969     name: "gamma_min"
   33970     type: DT_FLOAT
   33971   }
   33972   input_arg {
   33973     name: "gamma_max"
   33974     type: DT_FLOAT
   33975   }
   33976   output_arg {
   33977     name: "result"
   33978     type_attr: "out_type"
   33979   }
   33980   output_arg {
   33981     name: "result_min"
   33982     type: DT_FLOAT
   33983   }
   33984   output_arg {
   33985     name: "result_max"
   33986     type: DT_FLOAT
   33987   }
   33988   attr {
   33989     name: "Tinput"
   33990     type: "type"
   33991     allowed_values {
   33992       list {
   33993         type: DT_QINT8
   33994         type: DT_QUINT8
   33995         type: DT_QINT32
   33996         type: DT_QINT16
   33997         type: DT_QUINT16
   33998       }
   33999     }
   34000   }
   34001   attr {
   34002     name: "out_type"
   34003     type: "type"
   34004     allowed_values {
   34005       list {
   34006         type: DT_QINT8
   34007         type: DT_QUINT8
   34008         type: DT_QINT32
   34009         type: DT_QINT16
   34010         type: DT_QUINT16
   34011       }
   34012     }
   34013   }
   34014   attr {
   34015     name: "variance_epsilon"
   34016     type: "float"
   34017   }
   34018   attr {
   34019     name: "scale_after_normalization"
   34020     type: "bool"
   34021   }
   34022 }
   34023 op {
   34024   name: "QuantizedBiasAdd"
   34025   input_arg {
   34026     name: "input"
   34027     type_attr: "T1"
   34028   }
   34029   input_arg {
   34030     name: "bias"
   34031     type_attr: "T2"
   34032   }
   34033   input_arg {
   34034     name: "min_input"
   34035     type: DT_FLOAT
   34036   }
   34037   input_arg {
   34038     name: "max_input"
   34039     type: DT_FLOAT
   34040   }
   34041   input_arg {
   34042     name: "min_bias"
   34043     type: DT_FLOAT
   34044   }
   34045   input_arg {
   34046     name: "max_bias"
   34047     type: DT_FLOAT
   34048   }
   34049   output_arg {
   34050     name: "output"
   34051     type_attr: "out_type"
   34052   }
   34053   output_arg {
   34054     name: "min_out"
   34055     type: DT_FLOAT
   34056   }
   34057   output_arg {
   34058     name: "max_out"
   34059     type: DT_FLOAT
   34060   }
   34061   attr {
   34062     name: "T1"
   34063     type: "type"
   34064     allowed_values {
   34065       list {
   34066         type: DT_QINT8
   34067         type: DT_QUINT8
   34068         type: DT_QINT16
   34069         type: DT_QUINT16
   34070         type: DT_QINT32
   34071       }
   34072     }
   34073   }
   34074   attr {
   34075     name: "T2"
   34076     type: "type"
   34077     allowed_values {
   34078       list {
   34079         type: DT_QINT8
   34080         type: DT_QUINT8
   34081         type: DT_QINT16
   34082         type: DT_QUINT16
   34083         type: DT_QINT32
   34084       }
   34085     }
   34086   }
   34087   attr {
   34088     name: "out_type"
   34089     type: "type"
   34090     allowed_values {
   34091       list {
   34092         type: DT_QINT8
   34093         type: DT_QUINT8
   34094         type: DT_QINT16
   34095         type: DT_QUINT16
   34096         type: DT_QINT32
   34097       }
   34098     }
   34099   }
   34100 }
   34101 op {
   34102   name: "QuantizedBiasAdd"
   34103   input_arg {
   34104     name: "input"
   34105     type_attr: "T1"
   34106   }
   34107   input_arg {
   34108     name: "bias"
   34109     type_attr: "T2"
   34110   }
   34111   input_arg {
   34112     name: "min_input"
   34113     type: DT_FLOAT
   34114   }
   34115   input_arg {
   34116     name: "max_input"
   34117     type: DT_FLOAT
   34118   }
   34119   input_arg {
   34120     name: "min_bias"
   34121     type: DT_FLOAT
   34122   }
   34123   input_arg {
   34124     name: "max_bias"
   34125     type: DT_FLOAT
   34126   }
   34127   output_arg {
   34128     name: "output"
   34129     type_attr: "out_type"
   34130   }
   34131   output_arg {
   34132     name: "min_out"
   34133     type: DT_FLOAT
   34134   }
   34135   output_arg {
   34136     name: "max_out"
   34137     type: DT_FLOAT
   34138   }
   34139   attr {
   34140     name: "T1"
   34141     type: "type"
   34142     allowed_values {
   34143       list {
   34144         type: DT_QINT8
   34145         type: DT_QUINT8
   34146         type: DT_QINT32
   34147         type: DT_QINT16
   34148         type: DT_QUINT16
   34149       }
   34150     }
   34151   }
   34152   attr {
   34153     name: "T2"
   34154     type: "type"
   34155     allowed_values {
   34156       list {
   34157         type: DT_QINT8
   34158         type: DT_QUINT8
   34159         type: DT_QINT32
   34160         type: DT_QINT16
   34161         type: DT_QUINT16
   34162       }
   34163     }
   34164   }
   34165   attr {
   34166     name: "out_type"
   34167     type: "type"
   34168     allowed_values {
   34169       list {
   34170         type: DT_QINT8
   34171         type: DT_QUINT8
   34172         type: DT_QINT32
   34173         type: DT_QINT16
   34174         type: DT_QUINT16
   34175       }
   34176     }
   34177   }
   34178 }
   34179 op {
   34180   name: "QuantizedConcat"
   34181   input_arg {
   34182     name: "concat_dim"
   34183     type: DT_INT32
   34184   }
   34185   input_arg {
   34186     name: "values"
   34187     type_attr: "T"
   34188     number_attr: "N"
   34189   }
   34190   input_arg {
   34191     name: "input_mins"
   34192     type: DT_FLOAT
   34193     number_attr: "N"
   34194   }
   34195   input_arg {
   34196     name: "input_maxes"
   34197     type: DT_FLOAT
   34198     number_attr: "N"
   34199   }
   34200   output_arg {
   34201     name: "output"
   34202     type_attr: "T"
   34203   }
   34204   output_arg {
   34205     name: "output_min"
   34206     type: DT_FLOAT
   34207   }
   34208   output_arg {
   34209     name: "output_max"
   34210     type: DT_FLOAT
   34211   }
   34212   attr {
   34213     name: "N"
   34214     type: "int"
   34215     has_minimum: true
   34216     minimum: 2
   34217   }
   34218   attr {
   34219     name: "T"
   34220     type: "type"
   34221   }
   34222 }
   34223 op {
   34224   name: "QuantizedConv2D"
   34225   input_arg {
   34226     name: "input"
   34227     type_attr: "Tinput"
   34228   }
   34229   input_arg {
   34230     name: "filter"
   34231     type_attr: "Tfilter"
   34232   }
   34233   input_arg {
   34234     name: "min_input"
   34235     type: DT_FLOAT
   34236   }
   34237   input_arg {
   34238     name: "max_input"
   34239     type: DT_FLOAT
   34240   }
   34241   input_arg {
   34242     name: "min_filter"
   34243     type: DT_FLOAT
   34244   }
   34245   input_arg {
   34246     name: "max_filter"
   34247     type: DT_FLOAT
   34248   }
   34249   output_arg {
   34250     name: "output"
   34251     type_attr: "out_type"
   34252   }
   34253   output_arg {
   34254     name: "min_output"
   34255     type: DT_FLOAT
   34256   }
   34257   output_arg {
   34258     name: "max_output"
   34259     type: DT_FLOAT
   34260   }
   34261   attr {
   34262     name: "Tinput"
   34263     type: "type"
   34264     allowed_values {
   34265       list {
   34266         type: DT_QINT8
   34267         type: DT_QUINT8
   34268         type: DT_QINT16
   34269         type: DT_QUINT16
   34270         type: DT_QINT32
   34271       }
   34272     }
   34273   }
   34274   attr {
   34275     name: "Tfilter"
   34276     type: "type"
   34277     allowed_values {
   34278       list {
   34279         type: DT_QINT8
   34280         type: DT_QUINT8
   34281         type: DT_QINT16
   34282         type: DT_QUINT16
   34283         type: DT_QINT32
   34284       }
   34285     }
   34286   }
   34287   attr {
   34288     name: "out_type"
   34289     type: "type"
   34290     default_value {
   34291       type: DT_QINT32
   34292     }
   34293     allowed_values {
   34294       list {
   34295         type: DT_QINT8
   34296         type: DT_QUINT8
   34297         type: DT_QINT16
   34298         type: DT_QUINT16
   34299         type: DT_QINT32
   34300       }
   34301     }
   34302   }
   34303   attr {
   34304     name: "strides"
   34305     type: "list(int)"
   34306   }
   34307   attr {
   34308     name: "padding"
   34309     type: "string"
   34310     allowed_values {
   34311       list {
   34312         s: "SAME"
   34313         s: "VALID"
   34314       }
   34315     }
   34316   }
   34317 }
   34318 op {
   34319   name: "QuantizedConv2D"
   34320   input_arg {
   34321     name: "input"
   34322     type_attr: "Tinput"
   34323   }
   34324   input_arg {
   34325     name: "filter"
   34326     type_attr: "Tfilter"
   34327   }
   34328   input_arg {
   34329     name: "min_input"
   34330     type: DT_FLOAT
   34331   }
   34332   input_arg {
   34333     name: "max_input"
   34334     type: DT_FLOAT
   34335   }
   34336   input_arg {
   34337     name: "min_filter"
   34338     type: DT_FLOAT
   34339   }
   34340   input_arg {
   34341     name: "max_filter"
   34342     type: DT_FLOAT
   34343   }
   34344   output_arg {
   34345     name: "output"
   34346     type_attr: "out_type"
   34347   }
   34348   output_arg {
   34349     name: "min_output"
   34350     type: DT_FLOAT
   34351   }
   34352   output_arg {
   34353     name: "max_output"
   34354     type: DT_FLOAT
   34355   }
   34356   attr {
   34357     name: "Tinput"
   34358     type: "type"
   34359     allowed_values {
   34360       list {
   34361         type: DT_QINT8
   34362         type: DT_QUINT8
   34363         type: DT_QINT16
   34364         type: DT_QUINT16
   34365         type: DT_QINT32
   34366       }
   34367     }
   34368   }
   34369   attr {
   34370     name: "Tfilter"
   34371     type: "type"
   34372     allowed_values {
   34373       list {
   34374         type: DT_QINT8
   34375         type: DT_QUINT8
   34376         type: DT_QINT16
   34377         type: DT_QUINT16
   34378         type: DT_QINT32
   34379       }
   34380     }
   34381   }
   34382   attr {
   34383     name: "out_type"
   34384     type: "type"
   34385     default_value {
   34386       type: DT_QINT32
   34387     }
   34388     allowed_values {
   34389       list {
   34390         type: DT_QINT8
   34391         type: DT_QUINT8
   34392         type: DT_QINT16
   34393         type: DT_QUINT16
   34394         type: DT_QINT32
   34395       }
   34396     }
   34397   }
   34398   attr {
   34399     name: "strides"
   34400     type: "list(int)"
   34401   }
   34402   attr {
   34403     name: "padding"
   34404     type: "string"
   34405     allowed_values {
   34406       list {
   34407         s: "SAME"
   34408         s: "VALID"
   34409       }
   34410     }
   34411   }
   34412   attr {
   34413     name: "dilations"
   34414     type: "list(int)"
   34415     default_value {
   34416       list {
   34417         i: 1
   34418         i: 1
   34419         i: 1
   34420         i: 1
   34421       }
   34422     }
   34423   }
   34424 }
   34425 op {
   34426   name: "QuantizedConv2D"
   34427   input_arg {
   34428     name: "input"
   34429     type_attr: "Tinput"
   34430   }
   34431   input_arg {
   34432     name: "filter"
   34433     type_attr: "Tfilter"
   34434   }
   34435   input_arg {
   34436     name: "min_input"
   34437     type: DT_FLOAT
   34438   }
   34439   input_arg {
   34440     name: "max_input"
   34441     type: DT_FLOAT
   34442   }
   34443   input_arg {
   34444     name: "min_filter"
   34445     type: DT_FLOAT
   34446   }
   34447   input_arg {
   34448     name: "max_filter"
   34449     type: DT_FLOAT
   34450   }
   34451   output_arg {
   34452     name: "output"
   34453     type_attr: "out_type"
   34454   }
   34455   output_arg {
   34456     name: "min_output"
   34457     type: DT_FLOAT
   34458   }
   34459   output_arg {
   34460     name: "max_output"
   34461     type: DT_FLOAT
   34462   }
   34463   attr {
   34464     name: "Tinput"
   34465     type: "type"
   34466     allowed_values {
   34467       list {
   34468         type: DT_QINT8
   34469         type: DT_QUINT8
   34470         type: DT_QINT32
   34471         type: DT_QINT16
   34472         type: DT_QUINT16
   34473       }
   34474     }
   34475   }
   34476   attr {
   34477     name: "Tfilter"
   34478     type: "type"
   34479     allowed_values {
   34480       list {
   34481         type: DT_QINT8
   34482         type: DT_QUINT8
   34483         type: DT_QINT32
   34484         type: DT_QINT16
   34485         type: DT_QUINT16
   34486       }
   34487     }
   34488   }
   34489   attr {
   34490     name: "out_type"
   34491     type: "type"
   34492     default_value {
   34493       type: DT_QINT32
   34494     }
   34495     allowed_values {
   34496       list {
   34497         type: DT_QINT8
   34498         type: DT_QUINT8
   34499         type: DT_QINT32
   34500         type: DT_QINT16
   34501         type: DT_QUINT16
   34502       }
   34503     }
   34504   }
   34505   attr {
   34506     name: "strides"
   34507     type: "list(int)"
   34508   }
   34509   attr {
   34510     name: "padding"
   34511     type: "string"
   34512     allowed_values {
   34513       list {
   34514         s: "SAME"
   34515         s: "VALID"
   34516       }
   34517     }
   34518   }
   34519   attr {
   34520     name: "dilations"
   34521     type: "list(int)"
   34522     default_value {
   34523       list {
   34524         i: 1
   34525         i: 1
   34526         i: 1
   34527         i: 1
   34528       }
   34529     }
   34530   }
   34531 }
   34532 op {
   34533   name: "QuantizedInstanceNorm"
   34534   input_arg {
   34535     name: "x"
   34536     type_attr: "T"
   34537   }
   34538   input_arg {
   34539     name: "x_min"
   34540     type: DT_FLOAT
   34541   }
   34542   input_arg {
   34543     name: "x_max"
   34544     type: DT_FLOAT
   34545   }
   34546   output_arg {
   34547     name: "y"
   34548     type_attr: "T"
   34549   }
   34550   output_arg {
   34551     name: "y_min"
   34552     type: DT_FLOAT
   34553   }
   34554   output_arg {
   34555     name: "y_max"
   34556     type: DT_FLOAT
   34557   }
   34558   attr {
   34559     name: "T"
   34560     type: "type"
   34561     allowed_values {
   34562       list {
   34563         type: DT_QINT8
   34564         type: DT_QUINT8
   34565         type: DT_QINT16
   34566         type: DT_QUINT16
   34567         type: DT_QINT32
   34568       }
   34569     }
   34570   }
   34571   attr {
   34572     name: "output_range_given"
   34573     type: "bool"
   34574     default_value {
   34575       b: false
   34576     }
   34577   }
   34578   attr {
   34579     name: "given_y_min"
   34580     type: "float"
   34581     default_value {
   34582       f: 0
   34583     }
   34584   }
   34585   attr {
   34586     name: "given_y_max"
   34587     type: "float"
   34588     default_value {
   34589       f: 0
   34590     }
   34591   }
   34592   attr {
   34593     name: "variance_epsilon"
   34594     type: "float"
   34595     default_value {
   34596       f: 1e-05
   34597     }
   34598   }
   34599   attr {
   34600     name: "min_separation"
   34601     type: "float"
   34602     default_value {
   34603       f: 0.001
   34604     }
   34605   }
   34606 }
   34607 op {
   34608   name: "QuantizedInstanceNorm"
   34609   input_arg {
   34610     name: "x"
   34611     type_attr: "T"
   34612   }
   34613   input_arg {
   34614     name: "x_min"
   34615     type: DT_FLOAT
   34616   }
   34617   input_arg {
   34618     name: "x_max"
   34619     type: DT_FLOAT
   34620   }
   34621   output_arg {
   34622     name: "y"
   34623     type_attr: "T"
   34624   }
   34625   output_arg {
   34626     name: "y_min"
   34627     type: DT_FLOAT
   34628   }
   34629   output_arg {
   34630     name: "y_max"
   34631     type: DT_FLOAT
   34632   }
   34633   attr {
   34634     name: "T"
   34635     type: "type"
   34636     allowed_values {
   34637       list {
   34638         type: DT_QINT8
   34639         type: DT_QUINT8
   34640         type: DT_QINT32
   34641         type: DT_QINT16
   34642         type: DT_QUINT16
   34643       }
   34644     }
   34645   }
   34646   attr {
   34647     name: "output_range_given"
   34648     type: "bool"
   34649     default_value {
   34650       b: false
   34651     }
   34652   }
   34653   attr {
   34654     name: "given_y_min"
   34655     type: "float"
   34656     default_value {
   34657       f: 0
   34658     }
   34659   }
   34660   attr {
   34661     name: "given_y_max"
   34662     type: "float"
   34663     default_value {
   34664       f: 0
   34665     }
   34666   }
   34667   attr {
   34668     name: "variance_epsilon"
   34669     type: "float"
   34670     default_value {
   34671       f: 1e-05
   34672     }
   34673   }
   34674   attr {
   34675     name: "min_separation"
   34676     type: "float"
   34677     default_value {
   34678       f: 0.001
   34679     }
   34680   }
   34681 }
   34682 op {
   34683   name: "QuantizedMatMul"
   34684   input_arg {
   34685     name: "a"
   34686     type_attr: "T1"
   34687   }
   34688   input_arg {
   34689     name: "b"
   34690     type_attr: "T2"
   34691   }
   34692   input_arg {
   34693     name: "min_a"
   34694     type: DT_FLOAT
   34695   }
   34696   input_arg {
   34697     name: "max_a"
   34698     type: DT_FLOAT
   34699   }
   34700   input_arg {
   34701     name: "min_b"
   34702     type: DT_FLOAT
   34703   }
   34704   input_arg {
   34705     name: "max_b"
   34706     type: DT_FLOAT
   34707   }
   34708   output_arg {
   34709     name: "out"
   34710     type_attr: "Toutput"
   34711   }
   34712   output_arg {
   34713     name: "min_out"
   34714     type: DT_FLOAT
   34715   }
   34716   output_arg {
   34717     name: "max_out"
   34718     type: DT_FLOAT
   34719   }
   34720   attr {
   34721     name: "T1"
   34722     type: "type"
   34723     allowed_values {
   34724       list {
   34725         type: DT_QINT8
   34726         type: DT_QUINT8
   34727         type: DT_QINT16
   34728         type: DT_QUINT16
   34729         type: DT_QINT32
   34730       }
   34731     }
   34732   }
   34733   attr {
   34734     name: "T2"
   34735     type: "type"
   34736     allowed_values {
   34737       list {
   34738         type: DT_QINT8
   34739         type: DT_QUINT8
   34740         type: DT_QINT16
   34741         type: DT_QUINT16
   34742         type: DT_QINT32
   34743       }
   34744     }
   34745   }
   34746   attr {
   34747     name: "Toutput"
   34748     type: "type"
   34749     default_value {
   34750       type: DT_QINT32
   34751     }
   34752     allowed_values {
   34753       list {
   34754         type: DT_QINT8
   34755         type: DT_QUINT8
   34756         type: DT_QINT16
   34757         type: DT_QUINT16
   34758         type: DT_QINT32
   34759       }
   34760     }
   34761   }
   34762   attr {
   34763     name: "transpose_a"
   34764     type: "bool"
   34765     default_value {
   34766       b: false
   34767     }
   34768   }
   34769   attr {
   34770     name: "transpose_b"
   34771     type: "bool"
   34772     default_value {
   34773       b: false
   34774     }
   34775   }
   34776   attr {
   34777     name: "Tactivation"
   34778     type: "type"
   34779     default_value {
   34780       type: DT_QUINT8
   34781     }
   34782     allowed_values {
   34783       list {
   34784         type: DT_QINT8
   34785         type: DT_QUINT8
   34786         type: DT_QINT16
   34787         type: DT_QUINT16
   34788         type: DT_QINT32
   34789       }
   34790     }
   34791   }
   34792 }
   34793 op {
   34794   name: "QuantizedMatMul"
   34795   input_arg {
   34796     name: "a"
   34797     type_attr: "T1"
   34798   }
   34799   input_arg {
   34800     name: "b"
   34801     type_attr: "T2"
   34802   }
   34803   input_arg {
   34804     name: "min_a"
   34805     type: DT_FLOAT
   34806   }
   34807   input_arg {
   34808     name: "max_a"
   34809     type: DT_FLOAT
   34810   }
   34811   input_arg {
   34812     name: "min_b"
   34813     type: DT_FLOAT
   34814   }
   34815   input_arg {
   34816     name: "max_b"
   34817     type: DT_FLOAT
   34818   }
   34819   output_arg {
   34820     name: "out"
   34821     type_attr: "Toutput"
   34822   }
   34823   output_arg {
   34824     name: "min_out"
   34825     type: DT_FLOAT
   34826   }
   34827   output_arg {
   34828     name: "max_out"
   34829     type: DT_FLOAT
   34830   }
   34831   attr {
   34832     name: "T1"
   34833     type: "type"
   34834     allowed_values {
   34835       list {
   34836         type: DT_QINT8
   34837         type: DT_QUINT8
   34838         type: DT_QINT32
   34839         type: DT_QINT16
   34840         type: DT_QUINT16
   34841       }
   34842     }
   34843   }
   34844   attr {
   34845     name: "T2"
   34846     type: "type"
   34847     allowed_values {
   34848       list {
   34849         type: DT_QINT8
   34850         type: DT_QUINT8
   34851         type: DT_QINT32
   34852         type: DT_QINT16
   34853         type: DT_QUINT16
   34854       }
   34855     }
   34856   }
   34857   attr {
   34858     name: "Toutput"
   34859     type: "type"
   34860     default_value {
   34861       type: DT_QINT32
   34862     }
   34863     allowed_values {
   34864       list {
   34865         type: DT_QINT8
   34866         type: DT_QUINT8
   34867         type: DT_QINT32
   34868         type: DT_QINT16
   34869         type: DT_QUINT16
   34870       }
   34871     }
   34872   }
   34873   attr {
   34874     name: "transpose_a"
   34875     type: "bool"
   34876     default_value {
   34877       b: false
   34878     }
   34879   }
   34880   attr {
   34881     name: "transpose_b"
   34882     type: "bool"
   34883     default_value {
   34884       b: false
   34885     }
   34886   }
   34887   attr {
   34888     name: "Tactivation"
   34889     type: "type"
   34890     default_value {
   34891       type: DT_QUINT8
   34892     }
   34893     allowed_values {
   34894       list {
   34895         type: DT_QINT8
   34896         type: DT_QUINT8
   34897         type: DT_QINT32
   34898         type: DT_QINT16
   34899         type: DT_QUINT16
   34900       }
   34901     }
   34902   }
   34903 }
   34904 op {
   34905   name: "QuantizedMaxPool"
   34906   input_arg {
   34907     name: "input"
   34908     type_attr: "T"
   34909   }
   34910   input_arg {
   34911     name: "min_input"
   34912     type: DT_FLOAT
   34913   }
   34914   input_arg {
   34915     name: "max_input"
   34916     type: DT_FLOAT
   34917   }
   34918   output_arg {
   34919     name: "output"
   34920     type_attr: "T"
   34921   }
   34922   output_arg {
   34923     name: "min_output"
   34924     type: DT_FLOAT
   34925   }
   34926   output_arg {
   34927     name: "max_output"
   34928     type: DT_FLOAT
   34929   }
   34930   attr {
   34931     name: "T"
   34932     type: "type"
   34933     allowed_values {
   34934       list {
   34935         type: DT_QINT8
   34936         type: DT_QUINT8
   34937         type: DT_QINT16
   34938         type: DT_QUINT16
   34939         type: DT_QINT32
   34940       }
   34941     }
   34942   }
   34943   attr {
   34944     name: "ksize"
   34945     type: "list(int)"
   34946   }
   34947   attr {
   34948     name: "strides"
   34949     type: "list(int)"
   34950   }
   34951   attr {
   34952     name: "padding"
   34953     type: "string"
   34954     allowed_values {
   34955       list {
   34956         s: "SAME"
   34957         s: "VALID"
   34958       }
   34959     }
   34960   }
   34961 }
   34962 op {
   34963   name: "QuantizedMaxPool"
   34964   input_arg {
   34965     name: "input"
   34966     type_attr: "T"
   34967   }
   34968   input_arg {
   34969     name: "min_input"
   34970     type: DT_FLOAT
   34971   }
   34972   input_arg {
   34973     name: "max_input"
   34974     type: DT_FLOAT
   34975   }
   34976   output_arg {
   34977     name: "output"
   34978     type_attr: "T"
   34979   }
   34980   output_arg {
   34981     name: "min_output"
   34982     type: DT_FLOAT
   34983   }
   34984   output_arg {
   34985     name: "max_output"
   34986     type: DT_FLOAT
   34987   }
   34988   attr {
   34989     name: "T"
   34990     type: "type"
   34991     allowed_values {
   34992       list {
   34993         type: DT_QINT8
   34994         type: DT_QUINT8
   34995         type: DT_QINT32
   34996         type: DT_QINT16
   34997         type: DT_QUINT16
   34998       }
   34999     }
   35000   }
   35001   attr {
   35002     name: "ksize"
   35003     type: "list(int)"
   35004   }
   35005   attr {
   35006     name: "strides"
   35007     type: "list(int)"
   35008   }
   35009   attr {
   35010     name: "padding"
   35011     type: "string"
   35012     allowed_values {
   35013       list {
   35014         s: "SAME"
   35015         s: "VALID"
   35016       }
   35017     }
   35018   }
   35019 }
   35020 op {
   35021   name: "QuantizedMul"
   35022   input_arg {
   35023     name: "x"
   35024     type_attr: "T1"
   35025   }
   35026   input_arg {
   35027     name: "y"
   35028     type_attr: "T2"
   35029   }
   35030   input_arg {
   35031     name: "min_x"
   35032     type: DT_FLOAT
   35033   }
   35034   input_arg {
   35035     name: "max_x"
   35036     type: DT_FLOAT
   35037   }
   35038   input_arg {
   35039     name: "min_y"
   35040     type: DT_FLOAT
   35041   }
   35042   input_arg {
   35043     name: "max_y"
   35044     type: DT_FLOAT
   35045   }
   35046   output_arg {
   35047     name: "z"
   35048     type_attr: "Toutput"
   35049   }
   35050   output_arg {
   35051     name: "min_z"
   35052     type: DT_FLOAT
   35053   }
   35054   output_arg {
   35055     name: "max_z"
   35056     type: DT_FLOAT
   35057   }
   35058   attr {
   35059     name: "T1"
   35060     type: "type"
   35061     allowed_values {
   35062       list {
   35063         type: DT_QINT8
   35064         type: DT_QUINT8
   35065         type: DT_QINT16
   35066         type: DT_QUINT16
   35067         type: DT_QINT32
   35068       }
   35069     }
   35070   }
   35071   attr {
   35072     name: "T2"
   35073     type: "type"
   35074     allowed_values {
   35075       list {
   35076         type: DT_QINT8
   35077         type: DT_QUINT8
   35078         type: DT_QINT16
   35079         type: DT_QUINT16
   35080         type: DT_QINT32
   35081       }
   35082     }
   35083   }
   35084   attr {
   35085     name: "Toutput"
   35086     type: "type"
   35087     default_value {
   35088       type: DT_QINT32
   35089     }
   35090     allowed_values {
   35091       list {
   35092         type: DT_QINT8
   35093         type: DT_QUINT8
   35094         type: DT_QINT16
   35095         type: DT_QUINT16
   35096         type: DT_QINT32
   35097       }
   35098     }
   35099   }
   35100   is_commutative: true
   35101 }
   35102 op {
   35103   name: "QuantizedMul"
   35104   input_arg {
   35105     name: "x"
   35106     type_attr: "T1"
   35107   }
   35108   input_arg {
   35109     name: "y"
   35110     type_attr: "T2"
   35111   }
   35112   input_arg {
   35113     name: "min_x"
   35114     type: DT_FLOAT
   35115   }
   35116   input_arg {
   35117     name: "max_x"
   35118     type: DT_FLOAT
   35119   }
   35120   input_arg {
   35121     name: "min_y"
   35122     type: DT_FLOAT
   35123   }
   35124   input_arg {
   35125     name: "max_y"
   35126     type: DT_FLOAT
   35127   }
   35128   output_arg {
   35129     name: "z"
   35130     type_attr: "Toutput"
   35131   }
   35132   output_arg {
   35133     name: "min_z"
   35134     type: DT_FLOAT
   35135   }
   35136   output_arg {
   35137     name: "max_z"
   35138     type: DT_FLOAT
   35139   }
   35140   attr {
   35141     name: "T1"
   35142     type: "type"
   35143     allowed_values {
   35144       list {
   35145         type: DT_QINT8
   35146         type: DT_QUINT8
   35147         type: DT_QINT32
   35148         type: DT_QINT16
   35149         type: DT_QUINT16
   35150       }
   35151     }
   35152   }
   35153   attr {
   35154     name: "T2"
   35155     type: "type"
   35156     allowed_values {
   35157       list {
   35158         type: DT_QINT8
   35159         type: DT_QUINT8
   35160         type: DT_QINT32
   35161         type: DT_QINT16
   35162         type: DT_QUINT16
   35163       }
   35164     }
   35165   }
   35166   attr {
   35167     name: "Toutput"
   35168     type: "type"
   35169     default_value {
   35170       type: DT_QINT32
   35171     }
   35172     allowed_values {
   35173       list {
   35174         type: DT_QINT8
   35175         type: DT_QUINT8
   35176         type: DT_QINT32
   35177         type: DT_QINT16
   35178         type: DT_QUINT16
   35179       }
   35180     }
   35181   }
   35182   is_commutative: true
   35183 }
   35184 op {
   35185   name: "QuantizedRelu"
   35186   input_arg {
   35187     name: "features"
   35188     type_attr: "Tinput"
   35189   }
   35190   input_arg {
   35191     name: "min_features"
   35192     type: DT_FLOAT
   35193   }
   35194   input_arg {
   35195     name: "max_features"
   35196     type: DT_FLOAT
   35197   }
   35198   output_arg {
   35199     name: "activations"
   35200     type_attr: "out_type"
   35201   }
   35202   output_arg {
   35203     name: "min_activations"
   35204     type: DT_FLOAT
   35205   }
   35206   output_arg {
   35207     name: "max_activations"
   35208     type: DT_FLOAT
   35209   }
   35210   attr {
   35211     name: "Tinput"
   35212     type: "type"
   35213     allowed_values {
   35214       list {
   35215         type: DT_QINT8
   35216         type: DT_QUINT8
   35217         type: DT_QINT16
   35218         type: DT_QUINT16
   35219         type: DT_QINT32
   35220       }
   35221     }
   35222   }
   35223   attr {
   35224     name: "out_type"
   35225     type: "type"
   35226     default_value {
   35227       type: DT_QUINT8
   35228     }
   35229     allowed_values {
   35230       list {
   35231         type: DT_QINT8
   35232         type: DT_QUINT8
   35233         type: DT_QINT16
   35234         type: DT_QUINT16
   35235         type: DT_QINT32
   35236       }
   35237     }
   35238   }
   35239 }
   35240 op {
   35241   name: "QuantizedRelu"
   35242   input_arg {
   35243     name: "features"
   35244     type_attr: "Tinput"
   35245   }
   35246   input_arg {
   35247     name: "min_features"
   35248     type: DT_FLOAT
   35249   }
   35250   input_arg {
   35251     name: "max_features"
   35252     type: DT_FLOAT
   35253   }
   35254   output_arg {
   35255     name: "activations"
   35256     type_attr: "out_type"
   35257   }
   35258   output_arg {
   35259     name: "min_activations"
   35260     type: DT_FLOAT
   35261   }
   35262   output_arg {
   35263     name: "max_activations"
   35264     type: DT_FLOAT
   35265   }
   35266   attr {
   35267     name: "Tinput"
   35268     type: "type"
   35269     allowed_values {
   35270       list {
   35271         type: DT_QINT8
   35272         type: DT_QUINT8
   35273         type: DT_QINT32
   35274         type: DT_QINT16
   35275         type: DT_QUINT16
   35276       }
   35277     }
   35278   }
   35279   attr {
   35280     name: "out_type"
   35281     type: "type"
   35282     default_value {
   35283       type: DT_QUINT8
   35284     }
   35285     allowed_values {
   35286       list {
   35287         type: DT_QINT8
   35288         type: DT_QUINT8
   35289         type: DT_QINT32
   35290         type: DT_QINT16
   35291         type: DT_QUINT16
   35292       }
   35293     }
   35294   }
   35295 }
   35296 op {
   35297   name: "QuantizedRelu6"
   35298   input_arg {
   35299     name: "features"
   35300     type_attr: "Tinput"
   35301   }
   35302   input_arg {
   35303     name: "min_features"
   35304     type: DT_FLOAT
   35305   }
   35306   input_arg {
   35307     name: "max_features"
   35308     type: DT_FLOAT
   35309   }
   35310   output_arg {
   35311     name: "activations"
   35312     type_attr: "out_type"
   35313   }
   35314   output_arg {
   35315     name: "min_activations"
   35316     type: DT_FLOAT
   35317   }
   35318   output_arg {
   35319     name: "max_activations"
   35320     type: DT_FLOAT
   35321   }
   35322   attr {
   35323     name: "Tinput"
   35324     type: "type"
   35325     allowed_values {
   35326       list {
   35327         type: DT_QINT8
   35328         type: DT_QUINT8
   35329         type: DT_QINT16
   35330         type: DT_QUINT16
   35331         type: DT_QINT32
   35332       }
   35333     }
   35334   }
   35335   attr {
   35336     name: "out_type"
   35337     type: "type"
   35338     default_value {
   35339       type: DT_QUINT8
   35340     }
   35341     allowed_values {
   35342       list {
   35343         type: DT_QINT8
   35344         type: DT_QUINT8
   35345         type: DT_QINT16
   35346         type: DT_QUINT16
   35347         type: DT_QINT32
   35348       }
   35349     }
   35350   }
   35351 }
   35352 op {
   35353   name: "QuantizedRelu6"
   35354   input_arg {
   35355     name: "features"
   35356     type_attr: "Tinput"
   35357   }
   35358   input_arg {
   35359     name: "min_features"
   35360     type: DT_FLOAT
   35361   }
   35362   input_arg {
   35363     name: "max_features"
   35364     type: DT_FLOAT
   35365   }
   35366   output_arg {
   35367     name: "activations"
   35368     type_attr: "out_type"
   35369   }
   35370   output_arg {
   35371     name: "min_activations"
   35372     type: DT_FLOAT
   35373   }
   35374   output_arg {
   35375     name: "max_activations"
   35376     type: DT_FLOAT
   35377   }
   35378   attr {
   35379     name: "Tinput"
   35380     type: "type"
   35381     allowed_values {
   35382       list {
   35383         type: DT_QINT8
   35384         type: DT_QUINT8
   35385         type: DT_QINT32
   35386         type: DT_QINT16
   35387         type: DT_QUINT16
   35388       }
   35389     }
   35390   }
   35391   attr {
   35392     name: "out_type"
   35393     type: "type"
   35394     default_value {
   35395       type: DT_QUINT8
   35396     }
   35397     allowed_values {
   35398       list {
   35399         type: DT_QINT8
   35400         type: DT_QUINT8
   35401         type: DT_QINT32
   35402         type: DT_QINT16
   35403         type: DT_QUINT16
   35404       }
   35405     }
   35406   }
   35407 }
   35408 op {
   35409   name: "QuantizedReluX"
   35410   input_arg {
   35411     name: "features"
   35412     type_attr: "Tinput"
   35413   }
   35414   input_arg {
   35415     name: "max_value"
   35416     type: DT_FLOAT
   35417   }
   35418   input_arg {
   35419     name: "min_features"
   35420     type: DT_FLOAT
   35421   }
   35422   input_arg {
   35423     name: "max_features"
   35424     type: DT_FLOAT
   35425   }
   35426   output_arg {
   35427     name: "activations"
   35428     type_attr: "out_type"
   35429   }
   35430   output_arg {
   35431     name: "min_activations"
   35432     type: DT_FLOAT
   35433   }
   35434   output_arg {
   35435     name: "max_activations"
   35436     type: DT_FLOAT
   35437   }
   35438   attr {
   35439     name: "Tinput"
   35440     type: "type"
   35441     allowed_values {
   35442       list {
   35443         type: DT_QINT8
   35444         type: DT_QUINT8
   35445         type: DT_QINT16
   35446         type: DT_QUINT16
   35447         type: DT_QINT32
   35448       }
   35449     }
   35450   }
   35451   attr {
   35452     name: "out_type"
   35453     type: "type"
   35454     default_value {
   35455       type: DT_QUINT8
   35456     }
   35457     allowed_values {
   35458       list {
   35459         type: DT_QINT8
   35460         type: DT_QUINT8
   35461         type: DT_QINT16
   35462         type: DT_QUINT16
   35463         type: DT_QINT32
   35464       }
   35465     }
   35466   }
   35467 }
   35468 op {
   35469   name: "QuantizedReluX"
   35470   input_arg {
   35471     name: "features"
   35472     type_attr: "Tinput"
   35473   }
   35474   input_arg {
   35475     name: "max_value"
   35476     type: DT_FLOAT
   35477   }
   35478   input_arg {
   35479     name: "min_features"
   35480     type: DT_FLOAT
   35481   }
   35482   input_arg {
   35483     name: "max_features"
   35484     type: DT_FLOAT
   35485   }
   35486   output_arg {
   35487     name: "activations"
   35488     type_attr: "out_type"
   35489   }
   35490   output_arg {
   35491     name: "min_activations"
   35492     type: DT_FLOAT
   35493   }
   35494   output_arg {
   35495     name: "max_activations"
   35496     type: DT_FLOAT
   35497   }
   35498   attr {
   35499     name: "Tinput"
   35500     type: "type"
   35501     allowed_values {
   35502       list {
   35503         type: DT_QINT8
   35504         type: DT_QUINT8
   35505         type: DT_QINT32
   35506         type: DT_QINT16
   35507         type: DT_QUINT16
   35508       }
   35509     }
   35510   }
   35511   attr {
   35512     name: "out_type"
   35513     type: "type"
   35514     default_value {
   35515       type: DT_QUINT8
   35516     }
   35517     allowed_values {
   35518       list {
   35519         type: DT_QINT8
   35520         type: DT_QUINT8
   35521         type: DT_QINT32
   35522         type: DT_QINT16
   35523         type: DT_QUINT16
   35524       }
   35525     }
   35526   }
   35527 }
   35528 op {
   35529   name: "QuantizedReshape"
   35530   input_arg {
   35531     name: "tensor"
   35532     type_attr: "T"
   35533   }
   35534   input_arg {
   35535     name: "shape"
   35536     type_attr: "Tshape"
   35537   }
   35538   input_arg {
   35539     name: "input_min"
   35540     type: DT_FLOAT
   35541   }
   35542   input_arg {
   35543     name: "input_max"
   35544     type: DT_FLOAT
   35545   }
   35546   output_arg {
   35547     name: "output"
   35548     type_attr: "T"
   35549   }
   35550   output_arg {
   35551     name: "output_min"
   35552     type: DT_FLOAT
   35553   }
   35554   output_arg {
   35555     name: "output_max"
   35556     type: DT_FLOAT
   35557   }
   35558   attr {
   35559     name: "T"
   35560     type: "type"
   35561   }
   35562   attr {
   35563     name: "Tshape"
   35564     type: "type"
   35565     default_value {
   35566       type: DT_INT32
   35567     }
   35568     allowed_values {
   35569       list {
   35570         type: DT_INT32
   35571         type: DT_INT64
   35572       }
   35573     }
   35574   }
   35575 }
   35576 op {
   35577   name: "QuantizedResizeBilinear"
   35578   input_arg {
   35579     name: "images"
   35580     type_attr: "T"
   35581   }
   35582   input_arg {
   35583     name: "size"
   35584     type: DT_INT32
   35585   }
   35586   input_arg {
   35587     name: "min"
   35588     type: DT_FLOAT
   35589   }
   35590   input_arg {
   35591     name: "max"
   35592     type: DT_FLOAT
   35593   }
   35594   output_arg {
   35595     name: "resized_images"
   35596     type_attr: "T"
   35597   }
   35598   output_arg {
   35599     name: "out_min"
   35600     type: DT_FLOAT
   35601   }
   35602   output_arg {
   35603     name: "out_max"
   35604     type: DT_FLOAT
   35605   }
   35606   attr {
   35607     name: "T"
   35608     type: "type"
   35609     allowed_values {
   35610       list {
   35611         type: DT_QUINT8
   35612         type: DT_QINT32
   35613         type: DT_FLOAT
   35614       }
   35615     }
   35616   }
   35617   attr {
   35618     name: "align_corners"
   35619     type: "bool"
   35620     default_value {
   35621       b: false
   35622     }
   35623   }
   35624 }
   35625 op {
   35626   name: "QueueClose"
   35627   input_arg {
   35628     name: "handle"
   35629     type: DT_STRING
   35630     is_ref: true
   35631   }
   35632   attr {
   35633     name: "cancel_pending_enqueues"
   35634     type: "bool"
   35635     default_value {
   35636       b: false
   35637     }
   35638   }
   35639 }
   35640 op {
   35641   name: "QueueCloseV2"
   35642   input_arg {
   35643     name: "handle"
   35644     type: DT_RESOURCE
   35645   }
   35646   attr {
   35647     name: "cancel_pending_enqueues"
   35648     type: "bool"
   35649     default_value {
   35650       b: false
   35651     }
   35652   }
   35653   is_stateful: true
   35654 }
   35655 op {
   35656   name: "QueueDequeue"
   35657   input_arg {
   35658     name: "handle"
   35659     type: DT_STRING
   35660     is_ref: true
   35661   }
   35662   output_arg {
   35663     name: "components"
   35664     type_list_attr: "component_types"
   35665   }
   35666   attr {
   35667     name: "component_types"
   35668     type: "list(type)"
   35669     has_minimum: true
   35670     minimum: 1
   35671   }
   35672   attr {
   35673     name: "timeout_ms"
   35674     type: "int"
   35675     default_value {
   35676       i: -1
   35677     }
   35678   }
   35679 }
   35680 op {
   35681   name: "QueueDequeueMany"
   35682   input_arg {
   35683     name: "handle"
   35684     type: DT_STRING
   35685     is_ref: true
   35686   }
   35687   input_arg {
   35688     name: "n"
   35689     type: DT_INT32
   35690   }
   35691   output_arg {
   35692     name: "components"
   35693     type_list_attr: "component_types"
   35694   }
   35695   attr {
   35696     name: "component_types"
   35697     type: "list(type)"
   35698     has_minimum: true
   35699     minimum: 1
   35700   }
   35701   attr {
   35702     name: "timeout_ms"
   35703     type: "int"
   35704     default_value {
   35705       i: -1
   35706     }
   35707   }
   35708 }
   35709 op {
   35710   name: "QueueDequeueManyV2"
   35711   input_arg {
   35712     name: "handle"
   35713     type: DT_RESOURCE
   35714   }
   35715   input_arg {
   35716     name: "n"
   35717     type: DT_INT32
   35718   }
   35719   output_arg {
   35720     name: "components"
   35721     type_list_attr: "component_types"
   35722   }
   35723   attr {
   35724     name: "component_types"
   35725     type: "list(type)"
   35726     has_minimum: true
   35727     minimum: 1
   35728   }
   35729   attr {
   35730     name: "timeout_ms"
   35731     type: "int"
   35732     default_value {
   35733       i: -1
   35734     }
   35735   }
   35736   is_stateful: true
   35737 }
   35738 op {
   35739   name: "QueueDequeueUpTo"
   35740   input_arg {
   35741     name: "handle"
   35742     type: DT_STRING
   35743     is_ref: true
   35744   }
   35745   input_arg {
   35746     name: "n"
   35747     type: DT_INT32
   35748   }
   35749   output_arg {
   35750     name: "components"
   35751     type_list_attr: "component_types"
   35752   }
   35753   attr {
   35754     name: "component_types"
   35755     type: "list(type)"
   35756     has_minimum: true
   35757     minimum: 1
   35758   }
   35759   attr {
   35760     name: "timeout_ms"
   35761     type: "int"
   35762     default_value {
   35763       i: -1
   35764     }
   35765   }
   35766 }
   35767 op {
   35768   name: "QueueDequeueUpToV2"
   35769   input_arg {
   35770     name: "handle"
   35771     type: DT_RESOURCE
   35772   }
   35773   input_arg {
   35774     name: "n"
   35775     type: DT_INT32
   35776   }
   35777   output_arg {
   35778     name: "components"
   35779     type_list_attr: "component_types"
   35780   }
   35781   attr {
   35782     name: "component_types"
   35783     type: "list(type)"
   35784     has_minimum: true
   35785     minimum: 1
   35786   }
   35787   attr {
   35788     name: "timeout_ms"
   35789     type: "int"
   35790     default_value {
   35791       i: -1
   35792     }
   35793   }
   35794   is_stateful: true
   35795 }
   35796 op {
   35797   name: "QueueDequeueV2"
   35798   input_arg {
   35799     name: "handle"
   35800     type: DT_RESOURCE
   35801   }
   35802   output_arg {
   35803     name: "components"
   35804     type_list_attr: "component_types"
   35805   }
   35806   attr {
   35807     name: "component_types"
   35808     type: "list(type)"
   35809     has_minimum: true
   35810     minimum: 1
   35811   }
   35812   attr {
   35813     name: "timeout_ms"
   35814     type: "int"
   35815     default_value {
   35816       i: -1
   35817     }
   35818   }
   35819   is_stateful: true
   35820 }
   35821 op {
   35822   name: "QueueEnqueue"
   35823   input_arg {
   35824     name: "handle"
   35825     type: DT_STRING
   35826     is_ref: true
   35827   }
   35828   input_arg {
   35829     name: "components"
   35830     type_list_attr: "Tcomponents"
   35831   }
   35832   attr {
   35833     name: "Tcomponents"
   35834     type: "list(type)"
   35835     has_minimum: true
   35836     minimum: 1
   35837   }
   35838   attr {
   35839     name: "timeout_ms"
   35840     type: "int"
   35841     default_value {
   35842       i: -1
   35843     }
   35844   }
   35845 }
   35846 op {
   35847   name: "QueueEnqueueMany"
   35848   input_arg {
   35849     name: "handle"
   35850     type: DT_STRING
   35851     is_ref: true
   35852   }
   35853   input_arg {
   35854     name: "components"
   35855     type_list_attr: "Tcomponents"
   35856   }
   35857   attr {
   35858     name: "Tcomponents"
   35859     type: "list(type)"
   35860     has_minimum: true
   35861     minimum: 1
   35862   }
   35863   attr {
   35864     name: "timeout_ms"
   35865     type: "int"
   35866     default_value {
   35867       i: -1
   35868     }
   35869   }
   35870 }
   35871 op {
   35872   name: "QueueEnqueueManyV2"
   35873   input_arg {
   35874     name: "handle"
   35875     type: DT_RESOURCE
   35876   }
   35877   input_arg {
   35878     name: "components"
   35879     type_list_attr: "Tcomponents"
   35880   }
   35881   attr {
   35882     name: "Tcomponents"
   35883     type: "list(type)"
   35884     has_minimum: true
   35885     minimum: 1
   35886   }
   35887   attr {
   35888     name: "timeout_ms"
   35889     type: "int"
   35890     default_value {
   35891       i: -1
   35892     }
   35893   }
   35894   is_stateful: true
   35895 }
   35896 op {
   35897   name: "QueueEnqueueV2"
   35898   input_arg {
   35899     name: "handle"
   35900     type: DT_RESOURCE
   35901   }
   35902   input_arg {
   35903     name: "components"
   35904     type_list_attr: "Tcomponents"
   35905   }
   35906   attr {
   35907     name: "Tcomponents"
   35908     type: "list(type)"
   35909     has_minimum: true
   35910     minimum: 1
   35911   }
   35912   attr {
   35913     name: "timeout_ms"
   35914     type: "int"
   35915     default_value {
   35916       i: -1
   35917     }
   35918   }
   35919   is_stateful: true
   35920 }
   35921 op {
   35922   name: "QueueIsClosed"
   35923   input_arg {
   35924     name: "handle"
   35925     type: DT_STRING
   35926     is_ref: true
   35927   }
   35928   output_arg {
   35929     name: "is_closed"
   35930     type: DT_BOOL
   35931   }
   35932 }
   35933 op {
   35934   name: "QueueIsClosedV2"
   35935   input_arg {
   35936     name: "handle"
   35937     type: DT_RESOURCE
   35938   }
   35939   output_arg {
   35940     name: "is_closed"
   35941     type: DT_BOOL
   35942   }
   35943   is_stateful: true
   35944 }
   35945 op {
   35946   name: "QueueSize"
   35947   input_arg {
   35948     name: "handle"
   35949     type: DT_STRING
   35950     is_ref: true
   35951   }
   35952   output_arg {
   35953     name: "size"
   35954     type: DT_INT32
   35955   }
   35956 }
   35957 op {
   35958   name: "QueueSizeV2"
   35959   input_arg {
   35960     name: "handle"
   35961     type: DT_RESOURCE
   35962   }
   35963   output_arg {
   35964     name: "size"
   35965     type: DT_INT32
   35966   }
   35967   is_stateful: true
   35968 }
   35969 op {
   35970   name: "RFFT"
   35971   input_arg {
   35972     name: "input"
   35973     type: DT_FLOAT
   35974   }
   35975   input_arg {
   35976     name: "fft_length"
   35977     type: DT_INT32
   35978   }
   35979   output_arg {
   35980     name: "output"
   35981     type: DT_COMPLEX64
   35982   }
   35983 }
   35984 op {
   35985   name: "RFFT2D"
   35986   input_arg {
   35987     name: "input"
   35988     type: DT_FLOAT
   35989   }
   35990   input_arg {
   35991     name: "fft_length"
   35992     type: DT_INT32
   35993   }
   35994   output_arg {
   35995     name: "output"
   35996     type: DT_COMPLEX64
   35997   }
   35998 }
   35999 op {
   36000   name: "RFFT3D"
   36001   input_arg {
   36002     name: "input"
   36003     type: DT_FLOAT
   36004   }
   36005   input_arg {
   36006     name: "fft_length"
   36007     type: DT_INT32
   36008   }
   36009   output_arg {
   36010     name: "output"
   36011     type: DT_COMPLEX64
   36012   }
   36013 }
   36014 op {
   36015   name: "RGBToHSV"
   36016   input_arg {
   36017     name: "images"
   36018     type_attr: "T"
   36019   }
   36020   output_arg {
   36021     name: "output"
   36022     type_attr: "T"
   36023   }
   36024   attr {
   36025     name: "T"
   36026     type: "type"
   36027     default_value {
   36028       type: DT_FLOAT
   36029     }
   36030     allowed_values {
   36031       list {
   36032         type: DT_FLOAT
   36033         type: DT_DOUBLE
   36034       }
   36035     }
   36036   }
   36037 }
   36038 op {
   36039   name: "RGBToHSV"
   36040   input_arg {
   36041     name: "images"
   36042     type_attr: "T"
   36043   }
   36044   output_arg {
   36045     name: "output"
   36046     type_attr: "T"
   36047   }
   36048   attr {
   36049     name: "T"
   36050     type: "type"
   36051     default_value {
   36052       type: DT_FLOAT
   36053     }
   36054     allowed_values {
   36055       list {
   36056         type: DT_HALF
   36057         type: DT_BFLOAT16
   36058         type: DT_FLOAT
   36059         type: DT_DOUBLE
   36060       }
   36061     }
   36062   }
   36063 }
   36064 op {
   36065   name: "RandomCrop"
   36066   input_arg {
   36067     name: "image"
   36068     type_attr: "T"
   36069   }
   36070   input_arg {
   36071     name: "size"
   36072     type: DT_INT64
   36073   }
   36074   output_arg {
   36075     name: "output"
   36076     type_attr: "T"
   36077   }
   36078   attr {
   36079     name: "T"
   36080     type: "type"
   36081     allowed_values {
   36082       list {
   36083         type: DT_UINT8
   36084         type: DT_INT8
   36085         type: DT_INT16
   36086         type: DT_INT32
   36087         type: DT_INT64
   36088         type: DT_FLOAT
   36089         type: DT_DOUBLE
   36090       }
   36091     }
   36092   }
   36093   attr {
   36094     name: "seed"
   36095     type: "int"
   36096     default_value {
   36097       i: 0
   36098     }
   36099   }
   36100   attr {
   36101     name: "seed2"
   36102     type: "int"
   36103     default_value {
   36104       i: 0
   36105     }
   36106   }
   36107   deprecation {
   36108     version: 8
   36109   }
   36110   is_stateful: true
   36111 }
   36112 op {
   36113   name: "RandomDataset"
   36114   input_arg {
   36115     name: "seed"
   36116     type: DT_INT64
   36117   }
   36118   input_arg {
   36119     name: "seed2"
   36120     type: DT_INT64
   36121   }
   36122   output_arg {
   36123     name: "handle"
   36124     type: DT_VARIANT
   36125   }
   36126   attr {
   36127     name: "output_types"
   36128     type: "list(type)"
   36129     has_minimum: true
   36130     minimum: 1
   36131   }
   36132   attr {
   36133     name: "output_shapes"
   36134     type: "list(shape)"
   36135     has_minimum: true
   36136     minimum: 1
   36137   }
   36138   is_stateful: true
   36139 }
   36140 op {
   36141   name: "RandomGamma"
   36142   input_arg {
   36143     name: "shape"
   36144     type_attr: "S"
   36145   }
   36146   input_arg {
   36147     name: "alpha"
   36148     type_attr: "T"
   36149   }
   36150   output_arg {
   36151     name: "output"
   36152     type_attr: "T"
   36153   }
   36154   attr {
   36155     name: "seed"
   36156     type: "int"
   36157     default_value {
   36158       i: 0
   36159     }
   36160   }
   36161   attr {
   36162     name: "seed2"
   36163     type: "int"
   36164     default_value {
   36165       i: 0
   36166     }
   36167   }
   36168   attr {
   36169     name: "S"
   36170     type: "type"
   36171     allowed_values {
   36172       list {
   36173         type: DT_INT32
   36174         type: DT_INT64
   36175       }
   36176     }
   36177   }
   36178   attr {
   36179     name: "T"
   36180     type: "type"
   36181     allowed_values {
   36182       list {
   36183         type: DT_HALF
   36184         type: DT_FLOAT
   36185         type: DT_DOUBLE
   36186       }
   36187     }
   36188   }
   36189   is_stateful: true
   36190 }
   36191 op {
   36192   name: "RandomPoisson"
   36193   input_arg {
   36194     name: "shape"
   36195     type_attr: "S"
   36196   }
   36197   input_arg {
   36198     name: "rate"
   36199     type_attr: "dtype"
   36200   }
   36201   output_arg {
   36202     name: "output"
   36203     type_attr: "dtype"
   36204   }
   36205   attr {
   36206     name: "seed"
   36207     type: "int"
   36208     default_value {
   36209       i: 0
   36210     }
   36211   }
   36212   attr {
   36213     name: "seed2"
   36214     type: "int"
   36215     default_value {
   36216       i: 0
   36217     }
   36218   }
   36219   attr {
   36220     name: "S"
   36221     type: "type"
   36222     allowed_values {
   36223       list {
   36224         type: DT_INT32
   36225         type: DT_INT64
   36226       }
   36227     }
   36228   }
   36229   attr {
   36230     name: "dtype"
   36231     type: "type"
   36232     allowed_values {
   36233       list {
   36234         type: DT_HALF
   36235         type: DT_FLOAT
   36236         type: DT_DOUBLE
   36237       }
   36238     }
   36239   }
   36240   is_stateful: true
   36241 }
   36242 op {
   36243   name: "RandomPoisson"
   36244   input_arg {
   36245     name: "shape"
   36246     type_attr: "S"
   36247   }
   36248   input_arg {
   36249     name: "rate"
   36250     type_attr: "dtype"
   36251   }
   36252   output_arg {
   36253     name: "output"
   36254     type_attr: "dtype"
   36255   }
   36256   attr {
   36257     name: "seed"
   36258     type: "int"
   36259     default_value {
   36260       i: 0
   36261     }
   36262   }
   36263   attr {
   36264     name: "seed2"
   36265     type: "int"
   36266     default_value {
   36267       i: 0
   36268     }
   36269   }
   36270   attr {
   36271     name: "S"
   36272     type: "type"
   36273     allowed_values {
   36274       list {
   36275         type: DT_INT32
   36276         type: DT_INT64
   36277       }
   36278     }
   36279   }
   36280   attr {
   36281     name: "dtype"
   36282     type: "type"
   36283     allowed_values {
   36284       list {
   36285         type: DT_HALF
   36286         type: DT_FLOAT
   36287         type: DT_DOUBLE
   36288       }
   36289     }
   36290   }
   36291   deprecation {
   36292     version: 25
   36293   }
   36294   is_stateful: true
   36295 }
   36296 op {
   36297   name: "RandomPoissonV2"
   36298   input_arg {
   36299     name: "shape"
   36300     type_attr: "S"
   36301   }
   36302   input_arg {
   36303     name: "rate"
   36304     type_attr: "R"
   36305   }
   36306   output_arg {
   36307     name: "output"
   36308     type_attr: "dtype"
   36309   }
   36310   attr {
   36311     name: "seed"
   36312     type: "int"
   36313     default_value {
   36314       i: 0
   36315     }
   36316   }
   36317   attr {
   36318     name: "seed2"
   36319     type: "int"
   36320     default_value {
   36321       i: 0
   36322     }
   36323   }
   36324   attr {
   36325     name: "S"
   36326     type: "type"
   36327     allowed_values {
   36328       list {
   36329         type: DT_INT32
   36330         type: DT_INT64
   36331       }
   36332     }
   36333   }
   36334   attr {
   36335     name: "R"
   36336     type: "type"
   36337     default_value {
   36338       type: DT_DOUBLE
   36339     }
   36340     allowed_values {
   36341       list {
   36342         type: DT_HALF
   36343         type: DT_FLOAT
   36344         type: DT_DOUBLE
   36345         type: DT_INT32
   36346         type: DT_INT64
   36347       }
   36348     }
   36349   }
   36350   attr {
   36351     name: "dtype"
   36352     type: "type"
   36353     default_value {
   36354       type: DT_INT64
   36355     }
   36356     allowed_values {
   36357       list {
   36358         type: DT_HALF
   36359         type: DT_FLOAT
   36360         type: DT_DOUBLE
   36361         type: DT_INT32
   36362         type: DT_INT64
   36363       }
   36364     }
   36365   }
   36366   is_stateful: true
   36367 }
   36368 op {
   36369   name: "RandomShuffle"
   36370   input_arg {
   36371     name: "value"
   36372     type_attr: "T"
   36373   }
   36374   output_arg {
   36375     name: "output"
   36376     type_attr: "T"
   36377   }
   36378   attr {
   36379     name: "seed"
   36380     type: "int"
   36381     default_value {
   36382       i: 0
   36383     }
   36384   }
   36385   attr {
   36386     name: "seed2"
   36387     type: "int"
   36388     default_value {
   36389       i: 0
   36390     }
   36391   }
   36392   attr {
   36393     name: "T"
   36394     type: "type"
   36395   }
   36396   is_stateful: true
   36397 }
   36398 op {
   36399   name: "RandomShuffleQueue"
   36400   output_arg {
   36401     name: "handle"
   36402     type: DT_STRING
   36403     is_ref: true
   36404   }
   36405   attr {
   36406     name: "component_types"
   36407     type: "list(type)"
   36408     has_minimum: true
   36409     minimum: 1
   36410   }
   36411   attr {
   36412     name: "shapes"
   36413     type: "list(shape)"
   36414     default_value {
   36415       list {
   36416       }
   36417     }
   36418     has_minimum: true
   36419   }
   36420   attr {
   36421     name: "capacity"
   36422     type: "int"
   36423     default_value {
   36424       i: -1
   36425     }
   36426   }
   36427   attr {
   36428     name: "min_after_dequeue"
   36429     type: "int"
   36430     default_value {
   36431       i: 0
   36432     }
   36433   }
   36434   attr {
   36435     name: "seed"
   36436     type: "int"
   36437     default_value {
   36438       i: 0
   36439     }
   36440   }
   36441   attr {
   36442     name: "seed2"
   36443     type: "int"
   36444     default_value {
   36445       i: 0
   36446     }
   36447   }
   36448   attr {
   36449     name: "container"
   36450     type: "string"
   36451     default_value {
   36452       s: ""
   36453     }
   36454   }
   36455   attr {
   36456     name: "shared_name"
   36457     type: "string"
   36458     default_value {
   36459       s: ""
   36460     }
   36461   }
   36462   is_stateful: true
   36463 }
   36464 op {
   36465   name: "RandomShuffleQueueV2"
   36466   output_arg {
   36467     name: "handle"
   36468     type: DT_RESOURCE
   36469   }
   36470   attr {
   36471     name: "component_types"
   36472     type: "list(type)"
   36473     has_minimum: true
   36474     minimum: 1
   36475   }
   36476   attr {
   36477     name: "shapes"
   36478     type: "list(shape)"
   36479     default_value {
   36480       list {
   36481       }
   36482     }
   36483     has_minimum: true
   36484   }
   36485   attr {
   36486     name: "capacity"
   36487     type: "int"
   36488     default_value {
   36489       i: -1
   36490     }
   36491   }
   36492   attr {
   36493     name: "min_after_dequeue"
   36494     type: "int"
   36495     default_value {
   36496       i: 0
   36497     }
   36498   }
   36499   attr {
   36500     name: "seed"
   36501     type: "int"
   36502     default_value {
   36503       i: 0
   36504     }
   36505   }
   36506   attr {
   36507     name: "seed2"
   36508     type: "int"
   36509     default_value {
   36510       i: 0
   36511     }
   36512   }
   36513   attr {
   36514     name: "container"
   36515     type: "string"
   36516     default_value {
   36517       s: ""
   36518     }
   36519   }
   36520   attr {
   36521     name: "shared_name"
   36522     type: "string"
   36523     default_value {
   36524       s: ""
   36525     }
   36526   }
   36527   is_stateful: true
   36528 }
   36529 op {
   36530   name: "RandomStandardNormal"
   36531   input_arg {
   36532     name: "shape"
   36533     type_attr: "T"
   36534   }
   36535   output_arg {
   36536     name: "output"
   36537     type_attr: "dtype"
   36538   }
   36539   attr {
   36540     name: "seed"
   36541     type: "int"
   36542     default_value {
   36543       i: 0
   36544     }
   36545   }
   36546   attr {
   36547     name: "seed2"
   36548     type: "int"
   36549     default_value {
   36550       i: 0
   36551     }
   36552   }
   36553   attr {
   36554     name: "dtype"
   36555     type: "type"
   36556     allowed_values {
   36557       list {
   36558         type: DT_HALF
   36559         type: DT_FLOAT
   36560         type: DT_DOUBLE
   36561       }
   36562     }
   36563   }
   36564   attr {
   36565     name: "T"
   36566     type: "type"
   36567     allowed_values {
   36568       list {
   36569         type: DT_INT32
   36570         type: DT_INT64
   36571       }
   36572     }
   36573   }
   36574   is_stateful: true
   36575 }
   36576 op {
   36577   name: "RandomStandardNormal"
   36578   input_arg {
   36579     name: "shape"
   36580     type_attr: "T"
   36581   }
   36582   output_arg {
   36583     name: "output"
   36584     type_attr: "dtype"
   36585   }
   36586   attr {
   36587     name: "seed"
   36588     type: "int"
   36589     default_value {
   36590       i: 0
   36591     }
   36592   }
   36593   attr {
   36594     name: "seed2"
   36595     type: "int"
   36596     default_value {
   36597       i: 0
   36598     }
   36599   }
   36600   attr {
   36601     name: "dtype"
   36602     type: "type"
   36603     allowed_values {
   36604       list {
   36605         type: DT_HALF
   36606         type: DT_BFLOAT16
   36607         type: DT_FLOAT
   36608         type: DT_DOUBLE
   36609       }
   36610     }
   36611   }
   36612   attr {
   36613     name: "T"
   36614     type: "type"
   36615     allowed_values {
   36616       list {
   36617         type: DT_INT32
   36618         type: DT_INT64
   36619       }
   36620     }
   36621   }
   36622   is_stateful: true
   36623 }
   36624 op {
   36625   name: "RandomUniform"
   36626   input_arg {
   36627     name: "shape"
   36628     type_attr: "T"
   36629   }
   36630   output_arg {
   36631     name: "output"
   36632     type_attr: "dtype"
   36633   }
   36634   attr {
   36635     name: "seed"
   36636     type: "int"
   36637     default_value {
   36638       i: 0
   36639     }
   36640   }
   36641   attr {
   36642     name: "seed2"
   36643     type: "int"
   36644     default_value {
   36645       i: 0
   36646     }
   36647   }
   36648   attr {
   36649     name: "dtype"
   36650     type: "type"
   36651     allowed_values {
   36652       list {
   36653         type: DT_HALF
   36654         type: DT_FLOAT
   36655         type: DT_DOUBLE
   36656       }
   36657     }
   36658   }
   36659   attr {
   36660     name: "T"
   36661     type: "type"
   36662     allowed_values {
   36663       list {
   36664         type: DT_INT32
   36665         type: DT_INT64
   36666       }
   36667     }
   36668   }
   36669   is_stateful: true
   36670 }
   36671 op {
   36672   name: "RandomUniform"
   36673   input_arg {
   36674     name: "shape"
   36675     type_attr: "T"
   36676   }
   36677   output_arg {
   36678     name: "output"
   36679     type_attr: "dtype"
   36680   }
   36681   attr {
   36682     name: "seed"
   36683     type: "int"
   36684     default_value {
   36685       i: 0
   36686     }
   36687   }
   36688   attr {
   36689     name: "seed2"
   36690     type: "int"
   36691     default_value {
   36692       i: 0
   36693     }
   36694   }
   36695   attr {
   36696     name: "dtype"
   36697     type: "type"
   36698     allowed_values {
   36699       list {
   36700         type: DT_HALF
   36701         type: DT_BFLOAT16
   36702         type: DT_FLOAT
   36703         type: DT_DOUBLE
   36704       }
   36705     }
   36706   }
   36707   attr {
   36708     name: "T"
   36709     type: "type"
   36710     allowed_values {
   36711       list {
   36712         type: DT_INT32
   36713         type: DT_INT64
   36714       }
   36715     }
   36716   }
   36717   is_stateful: true
   36718 }
   36719 op {
   36720   name: "RandomUniformInt"
   36721   input_arg {
   36722     name: "shape"
   36723     type_attr: "T"
   36724   }
   36725   input_arg {
   36726     name: "minval"
   36727     type_attr: "Tout"
   36728   }
   36729   input_arg {
   36730     name: "maxval"
   36731     type_attr: "Tout"
   36732   }
   36733   output_arg {
   36734     name: "output"
   36735     type_attr: "Tout"
   36736   }
   36737   attr {
   36738     name: "seed"
   36739     type: "int"
   36740     default_value {
   36741       i: 0
   36742     }
   36743   }
   36744   attr {
   36745     name: "seed2"
   36746     type: "int"
   36747     default_value {
   36748       i: 0
   36749     }
   36750   }
   36751   attr {
   36752     name: "Tout"
   36753     type: "type"
   36754     allowed_values {
   36755       list {
   36756         type: DT_INT32
   36757         type: DT_INT64
   36758       }
   36759     }
   36760   }
   36761   attr {
   36762     name: "T"
   36763     type: "type"
   36764     allowed_values {
   36765       list {
   36766         type: DT_INT32
   36767         type: DT_INT64
   36768       }
   36769     }
   36770   }
   36771   is_stateful: true
   36772 }
   36773 op {
   36774   name: "Range"
   36775   input_arg {
   36776     name: "start"
   36777     type_attr: "Tidx"
   36778   }
   36779   input_arg {
   36780     name: "limit"
   36781     type_attr: "Tidx"
   36782   }
   36783   input_arg {
   36784     name: "delta"
   36785     type_attr: "Tidx"
   36786   }
   36787   output_arg {
   36788     name: "output"
   36789     type_attr: "Tidx"
   36790   }
   36791   attr {
   36792     name: "Tidx"
   36793     type: "type"
   36794     default_value {
   36795       type: DT_INT32
   36796     }
   36797     allowed_values {
   36798       list {
   36799         type: DT_FLOAT
   36800         type: DT_DOUBLE
   36801         type: DT_INT32
   36802         type: DT_INT64
   36803       }
   36804     }
   36805   }
   36806 }
   36807 op {
   36808   name: "Range"
   36809   input_arg {
   36810     name: "start"
   36811     type_attr: "Tidx"
   36812   }
   36813   input_arg {
   36814     name: "limit"
   36815     type_attr: "Tidx"
   36816   }
   36817   input_arg {
   36818     name: "delta"
   36819     type_attr: "Tidx"
   36820   }
   36821   output_arg {
   36822     name: "output"
   36823     type_attr: "Tidx"
   36824   }
   36825   attr {
   36826     name: "Tidx"
   36827     type: "type"
   36828     default_value {
   36829       type: DT_INT32
   36830     }
   36831     allowed_values {
   36832       list {
   36833         type: DT_BFLOAT16
   36834         type: DT_FLOAT
   36835         type: DT_DOUBLE
   36836         type: DT_INT32
   36837         type: DT_INT64
   36838       }
   36839     }
   36840   }
   36841 }
   36842 op {
   36843   name: "RangeDataset"
   36844   input_arg {
   36845     name: "start"
   36846     type: DT_INT64
   36847   }
   36848   input_arg {
   36849     name: "stop"
   36850     type: DT_INT64
   36851   }
   36852   input_arg {
   36853     name: "step"
   36854     type: DT_INT64
   36855   }
   36856   output_arg {
   36857     name: "handle"
   36858     type: DT_VARIANT
   36859   }
   36860   attr {
   36861     name: "output_types"
   36862     type: "list(type)"
   36863     has_minimum: true
   36864     minimum: 1
   36865   }
   36866   attr {
   36867     name: "output_shapes"
   36868     type: "list(shape)"
   36869     has_minimum: true
   36870     minimum: 1
   36871   }
   36872   is_stateful: true
   36873 }
   36874 op {
   36875   name: "Rank"
   36876   input_arg {
   36877     name: "input"
   36878     type_attr: "T"
   36879   }
   36880   output_arg {
   36881     name: "output"
   36882     type: DT_INT32
   36883   }
   36884   attr {
   36885     name: "T"
   36886     type: "type"
   36887   }
   36888 }
   36889 op {
   36890   name: "ReadFile"
   36891   input_arg {
   36892     name: "filename"
   36893     type: DT_STRING
   36894   }
   36895   output_arg {
   36896     name: "contents"
   36897     type: DT_STRING
   36898   }
   36899 }
   36900 op {
   36901   name: "ReadVariableOp"
   36902   input_arg {
   36903     name: "resource"
   36904     type: DT_RESOURCE
   36905   }
   36906   output_arg {
   36907     name: "value"
   36908     type_attr: "dtype"
   36909   }
   36910   attr {
   36911     name: "dtype"
   36912     type: "type"
   36913   }
   36914   is_stateful: true
   36915 }
   36916 op {
   36917   name: "ReaderNumRecordsProduced"
   36918   input_arg {
   36919     name: "reader_handle"
   36920     type: DT_STRING
   36921     is_ref: true
   36922   }
   36923   output_arg {
   36924     name: "records_produced"
   36925     type: DT_INT64
   36926   }
   36927 }
   36928 op {
   36929   name: "ReaderNumRecordsProducedV2"
   36930   input_arg {
   36931     name: "reader_handle"
   36932     type: DT_RESOURCE
   36933   }
   36934   output_arg {
   36935     name: "records_produced"
   36936     type: DT_INT64
   36937   }
   36938   is_stateful: true
   36939 }
   36940 op {
   36941   name: "ReaderNumWorkUnitsCompleted"
   36942   input_arg {
   36943     name: "reader_handle"
   36944     type: DT_STRING
   36945     is_ref: true
   36946   }
   36947   output_arg {
   36948     name: "units_completed"
   36949     type: DT_INT64
   36950   }
   36951 }
   36952 op {
   36953   name: "ReaderNumWorkUnitsCompletedV2"
   36954   input_arg {
   36955     name: "reader_handle"
   36956     type: DT_RESOURCE
   36957   }
   36958   output_arg {
   36959     name: "units_completed"
   36960     type: DT_INT64
   36961   }
   36962   is_stateful: true
   36963 }
   36964 op {
   36965   name: "ReaderRead"
   36966   input_arg {
   36967     name: "reader_handle"
   36968     type: DT_STRING
   36969     is_ref: true
   36970   }
   36971   input_arg {
   36972     name: "queue_handle"
   36973     type: DT_STRING
   36974     is_ref: true
   36975   }
   36976   output_arg {
   36977     name: "key"
   36978     type: DT_STRING
   36979   }
   36980   output_arg {
   36981     name: "value"
   36982     type: DT_STRING
   36983   }
   36984 }
   36985 op {
   36986   name: "ReaderReadUpTo"
   36987   input_arg {
   36988     name: "reader_handle"
   36989     type: DT_STRING
   36990     is_ref: true
   36991   }
   36992   input_arg {
   36993     name: "queue_handle"
   36994     type: DT_STRING
   36995     is_ref: true
   36996   }
   36997   input_arg {
   36998     name: "num_records"
   36999     type: DT_INT64
   37000   }
   37001   output_arg {
   37002     name: "keys"
   37003     type: DT_STRING
   37004   }
   37005   output_arg {
   37006     name: "values"
   37007     type: DT_STRING
   37008   }
   37009 }
   37010 op {
   37011   name: "ReaderReadUpToV2"
   37012   input_arg {
   37013     name: "reader_handle"
   37014     type: DT_RESOURCE
   37015   }
   37016   input_arg {
   37017     name: "queue_handle"
   37018     type: DT_RESOURCE
   37019   }
   37020   input_arg {
   37021     name: "num_records"
   37022     type: DT_INT64
   37023   }
   37024   output_arg {
   37025     name: "keys"
   37026     type: DT_STRING
   37027   }
   37028   output_arg {
   37029     name: "values"
   37030     type: DT_STRING
   37031   }
   37032   is_stateful: true
   37033 }
   37034 op {
   37035   name: "ReaderReadV2"
   37036   input_arg {
   37037     name: "reader_handle"
   37038     type: DT_RESOURCE
   37039   }
   37040   input_arg {
   37041     name: "queue_handle"
   37042     type: DT_RESOURCE
   37043   }
   37044   output_arg {
   37045     name: "key"
   37046     type: DT_STRING
   37047   }
   37048   output_arg {
   37049     name: "value"
   37050     type: DT_STRING
   37051   }
   37052   is_stateful: true
   37053 }
   37054 op {
   37055   name: "ReaderReset"
   37056   input_arg {
   37057     name: "reader_handle"
   37058     type: DT_STRING
   37059     is_ref: true
   37060   }
   37061 }
   37062 op {
   37063   name: "ReaderResetV2"
   37064   input_arg {
   37065     name: "reader_handle"
   37066     type: DT_RESOURCE
   37067   }
   37068   is_stateful: true
   37069 }
   37070 op {
   37071   name: "ReaderRestoreState"
   37072   input_arg {
   37073     name: "reader_handle"
   37074     type: DT_STRING
   37075     is_ref: true
   37076   }
   37077   input_arg {
   37078     name: "state"
   37079     type: DT_STRING
   37080   }
   37081 }
   37082 op {
   37083   name: "ReaderRestoreStateV2"
   37084   input_arg {
   37085     name: "reader_handle"
   37086     type: DT_RESOURCE
   37087   }
   37088   input_arg {
   37089     name: "state"
   37090     type: DT_STRING
   37091   }
   37092   is_stateful: true
   37093 }
   37094 op {
   37095   name: "ReaderSerializeState"
   37096   input_arg {
   37097     name: "reader_handle"
   37098     type: DT_STRING
   37099     is_ref: true
   37100   }
   37101   output_arg {
   37102     name: "state"
   37103     type: DT_STRING
   37104   }
   37105 }
   37106 op {
   37107   name: "ReaderSerializeStateV2"
   37108   input_arg {
   37109     name: "reader_handle"
   37110     type: DT_RESOURCE
   37111   }
   37112   output_arg {
   37113     name: "state"
   37114     type: DT_STRING
   37115   }
   37116   is_stateful: true
   37117 }
   37118 op {
   37119   name: "Real"
   37120   input_arg {
   37121     name: "input"
   37122     type_attr: "T"
   37123   }
   37124   output_arg {
   37125     name: "output"
   37126     type_attr: "Tout"
   37127   }
   37128   attr {
   37129     name: "T"
   37130     type: "type"
   37131     default_value {
   37132       type: DT_COMPLEX64
   37133     }
   37134     allowed_values {
   37135       list {
   37136         type: DT_COMPLEX64
   37137         type: DT_COMPLEX128
   37138       }
   37139     }
   37140   }
   37141   attr {
   37142     name: "Tout"
   37143     type: "type"
   37144     default_value {
   37145       type: DT_FLOAT
   37146     }
   37147     allowed_values {
   37148       list {
   37149         type: DT_FLOAT
   37150         type: DT_DOUBLE
   37151       }
   37152     }
   37153   }
   37154 }
   37155 op {
   37156   name: "RealDiv"
   37157   input_arg {
   37158     name: "x"
   37159     type_attr: "T"
   37160   }
   37161   input_arg {
   37162     name: "y"
   37163     type_attr: "T"
   37164   }
   37165   output_arg {
   37166     name: "z"
   37167     type_attr: "T"
   37168   }
   37169   attr {
   37170     name: "T"
   37171     type: "type"
   37172     allowed_values {
   37173       list {
   37174         type: DT_HALF
   37175         type: DT_FLOAT
   37176         type: DT_DOUBLE
   37177         type: DT_UINT8
   37178         type: DT_INT8
   37179         type: DT_UINT16
   37180         type: DT_INT16
   37181         type: DT_INT32
   37182         type: DT_INT64
   37183         type: DT_COMPLEX64
   37184         type: DT_COMPLEX128
   37185       }
   37186     }
   37187   }
   37188 }
   37189 op {
   37190   name: "RealDiv"
   37191   input_arg {
   37192     name: "x"
   37193     type_attr: "T"
   37194   }
   37195   input_arg {
   37196     name: "y"
   37197     type_attr: "T"
   37198   }
   37199   output_arg {
   37200     name: "z"
   37201     type_attr: "T"
   37202   }
   37203   attr {
   37204     name: "T"
   37205     type: "type"
   37206     allowed_values {
   37207       list {
   37208         type: DT_HALF
   37209         type: DT_BFLOAT16
   37210         type: DT_FLOAT
   37211         type: DT_DOUBLE
   37212         type: DT_UINT8
   37213         type: DT_INT8
   37214         type: DT_UINT16
   37215         type: DT_INT16
   37216         type: DT_INT32
   37217         type: DT_INT64
   37218         type: DT_COMPLEX64
   37219         type: DT_COMPLEX128
   37220       }
   37221     }
   37222   }
   37223 }
   37224 op {
   37225   name: "Reciprocal"
   37226   input_arg {
   37227     name: "x"
   37228     type_attr: "T"
   37229   }
   37230   output_arg {
   37231     name: "y"
   37232     type_attr: "T"
   37233   }
   37234   attr {
   37235     name: "T"
   37236     type: "type"
   37237     allowed_values {
   37238       list {
   37239         type: DT_HALF
   37240         type: DT_FLOAT
   37241         type: DT_DOUBLE
   37242         type: DT_INT32
   37243         type: DT_INT64
   37244         type: DT_COMPLEX64
   37245         type: DT_COMPLEX128
   37246       }
   37247     }
   37248   }
   37249 }
   37250 op {
   37251   name: "Reciprocal"
   37252   input_arg {
   37253     name: "x"
   37254     type_attr: "T"
   37255   }
   37256   output_arg {
   37257     name: "y"
   37258     type_attr: "T"
   37259   }
   37260   attr {
   37261     name: "T"
   37262     type: "type"
   37263     allowed_values {
   37264       list {
   37265         type: DT_HALF
   37266         type: DT_BFLOAT16
   37267         type: DT_FLOAT
   37268         type: DT_DOUBLE
   37269         type: DT_INT32
   37270         type: DT_INT64
   37271         type: DT_COMPLEX64
   37272         type: DT_COMPLEX128
   37273       }
   37274     }
   37275   }
   37276 }
   37277 op {
   37278   name: "ReciprocalGrad"
   37279   input_arg {
   37280     name: "x"
   37281     type_attr: "T"
   37282   }
   37283   input_arg {
   37284     name: "y"
   37285     type_attr: "T"
   37286   }
   37287   output_arg {
   37288     name: "z"
   37289     type_attr: "T"
   37290   }
   37291   attr {
   37292     name: "T"
   37293     type: "type"
   37294     allowed_values {
   37295       list {
   37296         type: DT_HALF
   37297         type: DT_FLOAT
   37298         type: DT_DOUBLE
   37299         type: DT_COMPLEX64
   37300         type: DT_COMPLEX128
   37301       }
   37302     }
   37303   }
   37304 }
   37305 op {
   37306   name: "ReciprocalGrad"
   37307   input_arg {
   37308     name: "y"
   37309     type_attr: "T"
   37310   }
   37311   input_arg {
   37312     name: "dy"
   37313     type_attr: "T"
   37314   }
   37315   output_arg {
   37316     name: "z"
   37317     type_attr: "T"
   37318   }
   37319   attr {
   37320     name: "T"
   37321     type: "type"
   37322     allowed_values {
   37323       list {
   37324         type: DT_HALF
   37325         type: DT_FLOAT
   37326         type: DT_DOUBLE
   37327         type: DT_COMPLEX64
   37328         type: DT_COMPLEX128
   37329       }
   37330     }
   37331   }
   37332 }
   37333 op {
   37334   name: "ReciprocalGrad"
   37335   input_arg {
   37336     name: "y"
   37337     type_attr: "T"
   37338   }
   37339   input_arg {
   37340     name: "dy"
   37341     type_attr: "T"
   37342   }
   37343   output_arg {
   37344     name: "z"
   37345     type_attr: "T"
   37346   }
   37347   attr {
   37348     name: "T"
   37349     type: "type"
   37350     allowed_values {
   37351       list {
   37352         type: DT_HALF
   37353         type: DT_BFLOAT16
   37354         type: DT_FLOAT
   37355         type: DT_DOUBLE
   37356         type: DT_COMPLEX64
   37357         type: DT_COMPLEX128
   37358       }
   37359     }
   37360   }
   37361 }
   37362 op {
   37363   name: "RecordInput"
   37364   output_arg {
   37365     name: "records"
   37366     type: DT_STRING
   37367   }
   37368   attr {
   37369     name: "file_pattern"
   37370     type: "string"
   37371   }
   37372   attr {
   37373     name: "file_random_seed"
   37374     type: "int"
   37375     default_value {
   37376       i: 301
   37377     }
   37378   }
   37379   attr {
   37380     name: "file_shuffle_shift_ratio"
   37381     type: "float"
   37382     default_value {
   37383       f: 0
   37384     }
   37385   }
   37386   attr {
   37387     name: "file_buffer_size"
   37388     type: "int"
   37389     default_value {
   37390       i: 10000
   37391     }
   37392   }
   37393   attr {
   37394     name: "file_parallelism"
   37395     type: "int"
   37396     default_value {
   37397       i: 16
   37398     }
   37399   }
   37400   attr {
   37401     name: "batch_size"
   37402     type: "int"
   37403     default_value {
   37404       i: 32
   37405     }
   37406   }
   37407   is_stateful: true
   37408 }
   37409 op {
   37410   name: "RecordInput"
   37411   output_arg {
   37412     name: "records"
   37413     type: DT_STRING
   37414   }
   37415   attr {
   37416     name: "file_pattern"
   37417     type: "string"
   37418   }
   37419   attr {
   37420     name: "file_random_seed"
   37421     type: "int"
   37422     default_value {
   37423       i: 301
   37424     }
   37425   }
   37426   attr {
   37427     name: "file_shuffle_shift_ratio"
   37428     type: "float"
   37429     default_value {
   37430       f: 0
   37431     }
   37432   }
   37433   attr {
   37434     name: "file_buffer_size"
   37435     type: "int"
   37436     default_value {
   37437       i: 10000
   37438     }
   37439   }
   37440   attr {
   37441     name: "file_parallelism"
   37442     type: "int"
   37443     default_value {
   37444       i: 16
   37445     }
   37446   }
   37447   attr {
   37448     name: "batch_size"
   37449     type: "int"
   37450     default_value {
   37451       i: 32
   37452     }
   37453   }
   37454   attr {
   37455     name: "compression_type"
   37456     type: "string"
   37457     default_value {
   37458       s: ""
   37459     }
   37460   }
   37461   is_stateful: true
   37462 }
   37463 op {
   37464   name: "ReduceJoin"
   37465   input_arg {
   37466     name: "inputs"
   37467     type: DT_STRING
   37468   }
   37469   input_arg {
   37470     name: "reduction_indices"
   37471     type: DT_INT32
   37472   }
   37473   output_arg {
   37474     name: "output"
   37475     type: DT_STRING
   37476   }
   37477   attr {
   37478     name: "keep_dims"
   37479     type: "bool"
   37480     default_value {
   37481       b: false
   37482     }
   37483   }
   37484   attr {
   37485     name: "separator"
   37486     type: "string"
   37487     default_value {
   37488       s: ""
   37489     }
   37490   }
   37491 }
   37492 op {
   37493   name: "RefEnter"
   37494   input_arg {
   37495     name: "data"
   37496     type_attr: "T"
   37497     is_ref: true
   37498   }
   37499   output_arg {
   37500     name: "output"
   37501     type_attr: "T"
   37502     is_ref: true
   37503   }
   37504   attr {
   37505     name: "T"
   37506     type: "type"
   37507   }
   37508   attr {
   37509     name: "frame_name"
   37510     type: "string"
   37511   }
   37512   attr {
   37513     name: "is_constant"
   37514     type: "bool"
   37515     default_value {
   37516       b: false
   37517     }
   37518   }
   37519   attr {
   37520     name: "parallel_iterations"
   37521     type: "int"
   37522     default_value {
   37523       i: 10
   37524     }
   37525   }
   37526 }
   37527 op {
   37528   name: "RefExit"
   37529   input_arg {
   37530     name: "data"
   37531     type_attr: "T"
   37532     is_ref: true
   37533   }
   37534   output_arg {
   37535     name: "output"
   37536     type_attr: "T"
   37537     is_ref: true
   37538   }
   37539   attr {
   37540     name: "T"
   37541     type: "type"
   37542   }
   37543 }
   37544 op {
   37545   name: "RefIdentity"
   37546   input_arg {
   37547     name: "input"
   37548     type_attr: "T"
   37549     is_ref: true
   37550   }
   37551   output_arg {
   37552     name: "output"
   37553     type_attr: "T"
   37554     is_ref: true
   37555   }
   37556   attr {
   37557     name: "T"
   37558     type: "type"
   37559   }
   37560   allows_uninitialized_input: true
   37561 }
   37562 op {
   37563   name: "RefMerge"
   37564   input_arg {
   37565     name: "inputs"
   37566     type_attr: "T"
   37567     number_attr: "N"
   37568     is_ref: true
   37569   }
   37570   output_arg {
   37571     name: "output"
   37572     type_attr: "T"
   37573     is_ref: true
   37574   }
   37575   output_arg {
   37576     name: "value_index"
   37577     type: DT_INT32
   37578   }
   37579   attr {
   37580     name: "T"
   37581     type: "type"
   37582   }
   37583   attr {
   37584     name: "N"
   37585     type: "int"
   37586     has_minimum: true
   37587     minimum: 1
   37588   }
   37589 }
   37590 op {
   37591   name: "RefNextIteration"
   37592   input_arg {
   37593     name: "data"
   37594     type_attr: "T"
   37595     is_ref: true
   37596   }
   37597   output_arg {
   37598     name: "output"
   37599     type_attr: "T"
   37600     is_ref: true
   37601   }
   37602   attr {
   37603     name: "T"
   37604     type: "type"
   37605   }
   37606 }
   37607 op {
   37608   name: "RefSelect"
   37609   input_arg {
   37610     name: "index"
   37611     type: DT_INT32
   37612   }
   37613   input_arg {
   37614     name: "inputs"
   37615     type_attr: "T"
   37616     number_attr: "N"
   37617     is_ref: true
   37618   }
   37619   output_arg {
   37620     name: "output"
   37621     type_attr: "T"
   37622     is_ref: true
   37623   }
   37624   attr {
   37625     name: "T"
   37626     type: "type"
   37627   }
   37628   attr {
   37629     name: "N"
   37630     type: "int"
   37631     has_minimum: true
   37632     minimum: 1
   37633   }
   37634 }
   37635 op {
   37636   name: "RefSwitch"
   37637   input_arg {
   37638     name: "data"
   37639     type_attr: "T"
   37640     is_ref: true
   37641   }
   37642   input_arg {
   37643     name: "pred"
   37644     type: DT_BOOL
   37645   }
   37646   output_arg {
   37647     name: "output_false"
   37648     type_attr: "T"
   37649     is_ref: true
   37650   }
   37651   output_arg {
   37652     name: "output_true"
   37653     type_attr: "T"
   37654     is_ref: true
   37655   }
   37656   attr {
   37657     name: "T"
   37658     type: "type"
   37659   }
   37660   allows_uninitialized_input: true
   37661 }
   37662 op {
   37663   name: "Relu"
   37664   input_arg {
   37665     name: "features"
   37666     type_attr: "T"
   37667   }
   37668   output_arg {
   37669     name: "activations"
   37670     type_attr: "T"
   37671   }
   37672   attr {
   37673     name: "T"
   37674     type: "type"
   37675     allowed_values {
   37676       list {
   37677         type: DT_FLOAT
   37678         type: DT_DOUBLE
   37679         type: DT_INT32
   37680         type: DT_INT64
   37681         type: DT_UINT8
   37682         type: DT_INT16
   37683         type: DT_INT8
   37684         type: DT_UINT16
   37685         type: DT_HALF
   37686       }
   37687     }
   37688   }
   37689 }
   37690 op {
   37691   name: "Relu"
   37692   input_arg {
   37693     name: "features"
   37694     type_attr: "T"
   37695   }
   37696   output_arg {
   37697     name: "activations"
   37698     type_attr: "T"
   37699   }
   37700   attr {
   37701     name: "T"
   37702     type: "type"
   37703     allowed_values {
   37704       list {
   37705         type: DT_FLOAT
   37706         type: DT_DOUBLE
   37707         type: DT_INT32
   37708         type: DT_INT64
   37709         type: DT_UINT8
   37710         type: DT_INT16
   37711         type: DT_INT8
   37712         type: DT_UINT16
   37713         type: DT_HALF
   37714         type: DT_UINT32
   37715         type: DT_UINT64
   37716       }
   37717     }
   37718   }
   37719 }
   37720 op {
   37721   name: "Relu"
   37722   input_arg {
   37723     name: "features"
   37724     type_attr: "T"
   37725   }
   37726   output_arg {
   37727     name: "activations"
   37728     type_attr: "T"
   37729   }
   37730   attr {
   37731     name: "T"
   37732     type: "type"
   37733     allowed_values {
   37734       list {
   37735         type: DT_FLOAT
   37736         type: DT_DOUBLE
   37737         type: DT_INT32
   37738         type: DT_INT64
   37739         type: DT_UINT8
   37740         type: DT_INT16
   37741         type: DT_INT8
   37742         type: DT_UINT16
   37743         type: DT_HALF
   37744         type: DT_UINT32
   37745         type: DT_UINT64
   37746         type: DT_BFLOAT16
   37747       }
   37748     }
   37749   }
   37750 }
   37751 op {
   37752   name: "Relu"
   37753   input_arg {
   37754     name: "features"
   37755     type_attr: "T"
   37756   }
   37757   output_arg {
   37758     name: "activations"
   37759     type_attr: "T"
   37760   }
   37761   attr {
   37762     name: "T"
   37763     type: "type"
   37764     allowed_values {
   37765       list {
   37766         type: DT_FLOAT
   37767         type: DT_DOUBLE
   37768         type: DT_INT32
   37769         type: DT_UINT8
   37770         type: DT_INT16
   37771         type: DT_INT8
   37772         type: DT_INT64
   37773         type: DT_BFLOAT16
   37774         type: DT_UINT16
   37775         type: DT_HALF
   37776         type: DT_UINT32
   37777         type: DT_UINT64
   37778       }
   37779     }
   37780   }
   37781 }
   37782 op {
   37783   name: "Relu6"
   37784   input_arg {
   37785     name: "features"
   37786     type_attr: "T"
   37787   }
   37788   output_arg {
   37789     name: "activations"
   37790     type_attr: "T"
   37791   }
   37792   attr {
   37793     name: "T"
   37794     type: "type"
   37795     allowed_values {
   37796       list {
   37797         type: DT_FLOAT
   37798         type: DT_DOUBLE
   37799         type: DT_INT32
   37800         type: DT_INT64
   37801         type: DT_UINT8
   37802         type: DT_INT16
   37803         type: DT_INT8
   37804         type: DT_UINT16
   37805         type: DT_HALF
   37806       }
   37807     }
   37808   }
   37809 }
   37810 op {
   37811   name: "Relu6"
   37812   input_arg {
   37813     name: "features"
   37814     type_attr: "T"
   37815   }
   37816   output_arg {
   37817     name: "activations"
   37818     type_attr: "T"
   37819   }
   37820   attr {
   37821     name: "T"
   37822     type: "type"
   37823     allowed_values {
   37824       list {
   37825         type: DT_FLOAT
   37826         type: DT_DOUBLE
   37827         type: DT_INT32
   37828         type: DT_INT64
   37829         type: DT_UINT8
   37830         type: DT_INT16
   37831         type: DT_INT8
   37832         type: DT_UINT16
   37833         type: DT_HALF
   37834         type: DT_UINT32
   37835         type: DT_UINT64
   37836       }
   37837     }
   37838   }
   37839 }
   37840 op {
   37841   name: "Relu6"
   37842   input_arg {
   37843     name: "features"
   37844     type_attr: "T"
   37845   }
   37846   output_arg {
   37847     name: "activations"
   37848     type_attr: "T"
   37849   }
   37850   attr {
   37851     name: "T"
   37852     type: "type"
   37853     allowed_values {
   37854       list {
   37855         type: DT_FLOAT
   37856         type: DT_DOUBLE
   37857         type: DT_INT32
   37858         type: DT_INT64
   37859         type: DT_UINT8
   37860         type: DT_INT16
   37861         type: DT_INT8
   37862         type: DT_UINT16
   37863         type: DT_HALF
   37864         type: DT_UINT32
   37865         type: DT_UINT64
   37866         type: DT_BFLOAT16
   37867       }
   37868     }
   37869   }
   37870 }
   37871 op {
   37872   name: "Relu6"
   37873   input_arg {
   37874     name: "features"
   37875     type_attr: "T"
   37876   }
   37877   output_arg {
   37878     name: "activations"
   37879     type_attr: "T"
   37880   }
   37881   attr {
   37882     name: "T"
   37883     type: "type"
   37884     allowed_values {
   37885       list {
   37886         type: DT_FLOAT
   37887         type: DT_DOUBLE
   37888         type: DT_INT32
   37889         type: DT_UINT8
   37890         type: DT_INT16
   37891         type: DT_INT8
   37892         type: DT_INT64
   37893         type: DT_BFLOAT16
   37894         type: DT_UINT16
   37895         type: DT_HALF
   37896         type: DT_UINT32
   37897         type: DT_UINT64
   37898       }
   37899     }
   37900   }
   37901 }
   37902 op {
   37903   name: "Relu6Grad"
   37904   input_arg {
   37905     name: "gradients"
   37906     type_attr: "T"
   37907   }
   37908   input_arg {
   37909     name: "features"
   37910     type_attr: "T"
   37911   }
   37912   output_arg {
   37913     name: "backprops"
   37914     type_attr: "T"
   37915   }
   37916   attr {
   37917     name: "T"
   37918     type: "type"
   37919     allowed_values {
   37920       list {
   37921         type: DT_FLOAT
   37922         type: DT_DOUBLE
   37923         type: DT_INT32
   37924         type: DT_INT64
   37925         type: DT_UINT8
   37926         type: DT_INT16
   37927         type: DT_INT8
   37928         type: DT_UINT16
   37929         type: DT_HALF
   37930       }
   37931     }
   37932   }
   37933 }
   37934 op {
   37935   name: "Relu6Grad"
   37936   input_arg {
   37937     name: "gradients"
   37938     type_attr: "T"
   37939   }
   37940   input_arg {
   37941     name: "features"
   37942     type_attr: "T"
   37943   }
   37944   output_arg {
   37945     name: "backprops"
   37946     type_attr: "T"
   37947   }
   37948   attr {
   37949     name: "T"
   37950     type: "type"
   37951     allowed_values {
   37952       list {
   37953         type: DT_FLOAT
   37954         type: DT_DOUBLE
   37955         type: DT_INT32
   37956         type: DT_INT64
   37957         type: DT_UINT8
   37958         type: DT_INT16
   37959         type: DT_INT8
   37960         type: DT_UINT16
   37961         type: DT_HALF
   37962         type: DT_UINT32
   37963         type: DT_UINT64
   37964       }
   37965     }
   37966   }
   37967 }
   37968 op {
   37969   name: "Relu6Grad"
   37970   input_arg {
   37971     name: "gradients"
   37972     type_attr: "T"
   37973   }
   37974   input_arg {
   37975     name: "features"
   37976     type_attr: "T"
   37977   }
   37978   output_arg {
   37979     name: "backprops"
   37980     type_attr: "T"
   37981   }
   37982   attr {
   37983     name: "T"
   37984     type: "type"
   37985     allowed_values {
   37986       list {
   37987         type: DT_FLOAT
   37988         type: DT_DOUBLE
   37989         type: DT_INT32
   37990         type: DT_INT64
   37991         type: DT_UINT8
   37992         type: DT_INT16
   37993         type: DT_INT8
   37994         type: DT_UINT16
   37995         type: DT_HALF
   37996         type: DT_UINT32
   37997         type: DT_UINT64
   37998         type: DT_BFLOAT16
   37999       }
   38000     }
   38001   }
   38002 }
   38003 op {
   38004   name: "Relu6Grad"
   38005   input_arg {
   38006     name: "gradients"
   38007     type_attr: "T"
   38008   }
   38009   input_arg {
   38010     name: "features"
   38011     type_attr: "T"
   38012   }
   38013   output_arg {
   38014     name: "backprops"
   38015     type_attr: "T"
   38016   }
   38017   attr {
   38018     name: "T"
   38019     type: "type"
   38020     allowed_values {
   38021       list {
   38022         type: DT_FLOAT
   38023         type: DT_DOUBLE
   38024         type: DT_INT32
   38025         type: DT_UINT8
   38026         type: DT_INT16
   38027         type: DT_INT8
   38028         type: DT_INT64
   38029         type: DT_BFLOAT16
   38030         type: DT_UINT16
   38031         type: DT_HALF
   38032         type: DT_UINT32
   38033         type: DT_UINT64
   38034       }
   38035     }
   38036   }
   38037 }
   38038 op {
   38039   name: "ReluGrad"
   38040   input_arg {
   38041     name: "gradients"
   38042     type_attr: "T"
   38043   }
   38044   input_arg {
   38045     name: "features"
   38046     type_attr: "T"
   38047   }
   38048   output_arg {
   38049     name: "backprops"
   38050     type_attr: "T"
   38051   }
   38052   attr {
   38053     name: "T"
   38054     type: "type"
   38055     allowed_values {
   38056       list {
   38057         type: DT_FLOAT
   38058         type: DT_DOUBLE
   38059         type: DT_INT32
   38060         type: DT_INT64
   38061         type: DT_UINT8
   38062         type: DT_INT16
   38063         type: DT_INT8
   38064         type: DT_UINT16
   38065         type: DT_HALF
   38066       }
   38067     }
   38068   }
   38069 }
   38070 op {
   38071   name: "ReluGrad"
   38072   input_arg {
   38073     name: "gradients"
   38074     type_attr: "T"
   38075   }
   38076   input_arg {
   38077     name: "features"
   38078     type_attr: "T"
   38079   }
   38080   output_arg {
   38081     name: "backprops"
   38082     type_attr: "T"
   38083   }
   38084   attr {
   38085     name: "T"
   38086     type: "type"
   38087     allowed_values {
   38088       list {
   38089         type: DT_FLOAT
   38090         type: DT_DOUBLE
   38091         type: DT_INT32
   38092         type: DT_INT64
   38093         type: DT_UINT8
   38094         type: DT_INT16
   38095         type: DT_INT8
   38096         type: DT_UINT16
   38097         type: DT_HALF
   38098         type: DT_UINT32
   38099         type: DT_UINT64
   38100       }
   38101     }
   38102   }
   38103 }
   38104 op {
   38105   name: "ReluGrad"
   38106   input_arg {
   38107     name: "gradients"
   38108     type_attr: "T"
   38109   }
   38110   input_arg {
   38111     name: "features"
   38112     type_attr: "T"
   38113   }
   38114   output_arg {
   38115     name: "backprops"
   38116     type_attr: "T"
   38117   }
   38118   attr {
   38119     name: "T"
   38120     type: "type"
   38121     allowed_values {
   38122       list {
   38123         type: DT_FLOAT
   38124         type: DT_DOUBLE
   38125         type: DT_INT32
   38126         type: DT_INT64
   38127         type: DT_UINT8
   38128         type: DT_INT16
   38129         type: DT_INT8
   38130         type: DT_UINT16
   38131         type: DT_HALF
   38132         type: DT_UINT32
   38133         type: DT_UINT64
   38134         type: DT_BFLOAT16
   38135       }
   38136     }
   38137   }
   38138 }
   38139 op {
   38140   name: "ReluGrad"
   38141   input_arg {
   38142     name: "gradients"
   38143     type_attr: "T"
   38144   }
   38145   input_arg {
   38146     name: "features"
   38147     type_attr: "T"
   38148   }
   38149   output_arg {
   38150     name: "backprops"
   38151     type_attr: "T"
   38152   }
   38153   attr {
   38154     name: "T"
   38155     type: "type"
   38156     allowed_values {
   38157       list {
   38158         type: DT_FLOAT
   38159         type: DT_DOUBLE
   38160         type: DT_INT32
   38161         type: DT_UINT8
   38162         type: DT_INT16
   38163         type: DT_INT8
   38164         type: DT_INT64
   38165         type: DT_BFLOAT16
   38166         type: DT_UINT16
   38167         type: DT_HALF
   38168         type: DT_UINT32
   38169         type: DT_UINT64
   38170       }
   38171     }
   38172   }
   38173 }
   38174 op {
   38175   name: "RemoteCall"
   38176   input_arg {
   38177     name: "target"
   38178     type: DT_STRING
   38179   }
   38180   input_arg {
   38181     name: "args"
   38182     type_list_attr: "Tin"
   38183   }
   38184   output_arg {
   38185     name: "output"
   38186     type_list_attr: "Tout"
   38187   }
   38188   attr {
   38189     name: "Tin"
   38190     type: "list(type)"
   38191     has_minimum: true
   38192     minimum: 1
   38193   }
   38194   attr {
   38195     name: "Tout"
   38196     type: "list(type)"
   38197     has_minimum: true
   38198     minimum: 1
   38199   }
   38200   attr {
   38201     name: "f"
   38202     type: "func"
   38203   }
   38204 }
   38205 op {
   38206   name: "RemoteFusedGraphExecute"
   38207   input_arg {
   38208     name: "inputs"
   38209     type_list_attr: "Tinputs"
   38210   }
   38211   output_arg {
   38212     name: "outputs"
   38213     type_list_attr: "Toutputs"
   38214   }
   38215   attr {
   38216     name: "Tinputs"
   38217     type: "list(type)"
   38218     has_minimum: true
   38219   }
   38220   attr {
   38221     name: "Toutputs"
   38222     type: "list(type)"
   38223     has_minimum: true
   38224   }
   38225   attr {
   38226     name: "serialized_remote_fused_graph_execute_info"
   38227     type: "string"
   38228   }
   38229 }
   38230 op {
   38231   name: "RepeatDataset"
   38232   input_arg {
   38233     name: "input_dataset"
   38234     type: DT_VARIANT
   38235   }
   38236   input_arg {
   38237     name: "count"
   38238     type: DT_INT64
   38239   }
   38240   output_arg {
   38241     name: "handle"
   38242     type: DT_VARIANT
   38243   }
   38244   attr {
   38245     name: "output_types"
   38246     type: "list(type)"
   38247     has_minimum: true
   38248     minimum: 1
   38249   }
   38250   attr {
   38251     name: "output_shapes"
   38252     type: "list(shape)"
   38253     has_minimum: true
   38254     minimum: 1
   38255   }
   38256   is_stateful: true
   38257 }
   38258 op {
   38259   name: "RepeatDataset"
   38260   input_arg {
   38261     name: "input_dataset"
   38262     type: DT_VARIANT
   38263   }
   38264   input_arg {
   38265     name: "count"
   38266     type: DT_INT64
   38267   }
   38268   output_arg {
   38269     name: "handle"
   38270     type: DT_VARIANT
   38271   }
   38272   attr {
   38273     name: "output_types"
   38274     type: "list(type)"
   38275     has_minimum: true
   38276     minimum: 1
   38277   }
   38278   attr {
   38279     name: "output_shapes"
   38280     type: "list(shape)"
   38281     has_minimum: true
   38282     minimum: 1
   38283   }
   38284 }
   38285 op {
   38286   name: "RequantizationRange"
   38287   input_arg {
   38288     name: "input"
   38289     type_attr: "Tinput"
   38290   }
   38291   input_arg {
   38292     name: "input_min"
   38293     type: DT_FLOAT
   38294   }
   38295   input_arg {
   38296     name: "input_max"
   38297     type: DT_FLOAT
   38298   }
   38299   output_arg {
   38300     name: "output_min"
   38301     type: DT_FLOAT
   38302   }
   38303   output_arg {
   38304     name: "output_max"
   38305     type: DT_FLOAT
   38306   }
   38307   attr {
   38308     name: "Tinput"
   38309     type: "type"
   38310     allowed_values {
   38311       list {
   38312         type: DT_QINT8
   38313         type: DT_QUINT8
   38314         type: DT_QINT16
   38315         type: DT_QUINT16
   38316         type: DT_QINT32
   38317       }
   38318     }
   38319   }
   38320 }
   38321 op {
   38322   name: "RequantizationRange"
   38323   input_arg {
   38324     name: "input"
   38325     type_attr: "Tinput"
   38326   }
   38327   input_arg {
   38328     name: "input_min"
   38329     type: DT_FLOAT
   38330   }
   38331   input_arg {
   38332     name: "input_max"
   38333     type: DT_FLOAT
   38334   }
   38335   output_arg {
   38336     name: "output_min"
   38337     type: DT_FLOAT
   38338   }
   38339   output_arg {
   38340     name: "output_max"
   38341     type: DT_FLOAT
   38342   }
   38343   attr {
   38344     name: "Tinput"
   38345     type: "type"
   38346     allowed_values {
   38347       list {
   38348         type: DT_QINT8
   38349         type: DT_QUINT8
   38350         type: DT_QINT32
   38351         type: DT_QINT16
   38352         type: DT_QUINT16
   38353       }
   38354     }
   38355   }
   38356 }
   38357 op {
   38358   name: "Requantize"
   38359   input_arg {
   38360     name: "input"
   38361     type_attr: "Tinput"
   38362   }
   38363   input_arg {
   38364     name: "input_min"
   38365     type: DT_FLOAT
   38366   }
   38367   input_arg {
   38368     name: "input_max"
   38369     type: DT_FLOAT
   38370   }
   38371   input_arg {
   38372     name: "requested_output_min"
   38373     type: DT_FLOAT
   38374   }
   38375   input_arg {
   38376     name: "requested_output_max"
   38377     type: DT_FLOAT
   38378   }
   38379   output_arg {
   38380     name: "output"
   38381     type_attr: "out_type"
   38382   }
   38383   output_arg {
   38384     name: "output_min"
   38385     type: DT_FLOAT
   38386   }
   38387   output_arg {
   38388     name: "output_max"
   38389     type: DT_FLOAT
   38390   }
   38391   attr {
   38392     name: "Tinput"
   38393     type: "type"
   38394     allowed_values {
   38395       list {
   38396         type: DT_QINT8
   38397         type: DT_QUINT8
   38398         type: DT_QINT16
   38399         type: DT_QUINT16
   38400         type: DT_QINT32
   38401       }
   38402     }
   38403   }
   38404   attr {
   38405     name: "out_type"
   38406     type: "type"
   38407     allowed_values {
   38408       list {
   38409         type: DT_QINT8
   38410         type: DT_QUINT8
   38411         type: DT_QINT16
   38412         type: DT_QUINT16
   38413         type: DT_QINT32
   38414       }
   38415     }
   38416   }
   38417 }
   38418 op {
   38419   name: "Requantize"
   38420   input_arg {
   38421     name: "input"
   38422     type_attr: "Tinput"
   38423   }
   38424   input_arg {
   38425     name: "input_min"
   38426     type: DT_FLOAT
   38427   }
   38428   input_arg {
   38429     name: "input_max"
   38430     type: DT_FLOAT
   38431   }
   38432   input_arg {
   38433     name: "requested_output_min"
   38434     type: DT_FLOAT
   38435   }
   38436   input_arg {
   38437     name: "requested_output_max"
   38438     type: DT_FLOAT
   38439   }
   38440   output_arg {
   38441     name: "output"
   38442     type_attr: "out_type"
   38443   }
   38444   output_arg {
   38445     name: "output_min"
   38446     type: DT_FLOAT
   38447   }
   38448   output_arg {
   38449     name: "output_max"
   38450     type: DT_FLOAT
   38451   }
   38452   attr {
   38453     name: "Tinput"
   38454     type: "type"
   38455     allowed_values {
   38456       list {
   38457         type: DT_QINT8
   38458         type: DT_QUINT8
   38459         type: DT_QINT32
   38460         type: DT_QINT16
   38461         type: DT_QUINT16
   38462       }
   38463     }
   38464   }
   38465   attr {
   38466     name: "out_type"
   38467     type: "type"
   38468     allowed_values {
   38469       list {
   38470         type: DT_QINT8
   38471         type: DT_QUINT8
   38472         type: DT_QINT32
   38473         type: DT_QINT16
   38474         type: DT_QUINT16
   38475       }
   38476     }
   38477   }
   38478 }
   38479 op {
   38480   name: "Reshape"
   38481   input_arg {
   38482     name: "tensor"
   38483     type_attr: "T"
   38484   }
   38485   input_arg {
   38486     name: "shape"
   38487     type_attr: "Tshape"
   38488   }
   38489   output_arg {
   38490     name: "output"
   38491     type_attr: "T"
   38492   }
   38493   attr {
   38494     name: "T"
   38495     type: "type"
   38496   }
   38497   attr {
   38498     name: "Tshape"
   38499     type: "type"
   38500     default_value {
   38501       type: DT_INT32
   38502     }
   38503     allowed_values {
   38504       list {
   38505         type: DT_INT32
   38506         type: DT_INT64
   38507       }
   38508     }
   38509   }
   38510 }
   38511 op {
   38512   name: "ResizeArea"
   38513   input_arg {
   38514     name: "images"
   38515     type_attr: "T"
   38516   }
   38517   input_arg {
   38518     name: "size"
   38519     type: DT_INT32
   38520   }
   38521   output_arg {
   38522     name: "resized_images"
   38523     type: DT_FLOAT
   38524   }
   38525   attr {
   38526     name: "T"
   38527     type: "type"
   38528     allowed_values {
   38529       list {
   38530         type: DT_UINT8
   38531         type: DT_INT8
   38532         type: DT_INT16
   38533         type: DT_INT32
   38534         type: DT_INT64
   38535         type: DT_HALF
   38536         type: DT_FLOAT
   38537         type: DT_DOUBLE
   38538       }
   38539     }
   38540   }
   38541   attr {
   38542     name: "align_corners"
   38543     type: "bool"
   38544     default_value {
   38545       b: false
   38546     }
   38547   }
   38548 }
   38549 op {
   38550   name: "ResizeArea"
   38551   input_arg {
   38552     name: "images"
   38553     type_attr: "T"
   38554   }
   38555   input_arg {
   38556     name: "size"
   38557     type: DT_INT32
   38558   }
   38559   output_arg {
   38560     name: "resized_images"
   38561     type: DT_FLOAT
   38562   }
   38563   attr {
   38564     name: "T"
   38565     type: "type"
   38566     allowed_values {
   38567       list {
   38568         type: DT_INT8
   38569         type: DT_UINT8
   38570         type: DT_INT16
   38571         type: DT_UINT16
   38572         type: DT_INT32
   38573         type: DT_INT64
   38574         type: DT_HALF
   38575         type: DT_FLOAT
   38576         type: DT_DOUBLE
   38577       }
   38578     }
   38579   }
   38580   attr {
   38581     name: "align_corners"
   38582     type: "bool"
   38583     default_value {
   38584       b: false
   38585     }
   38586   }
   38587 }
   38588 op {
   38589   name: "ResizeBicubic"
   38590   input_arg {
   38591     name: "images"
   38592     type_attr: "T"
   38593   }
   38594   input_arg {
   38595     name: "size"
   38596     type: DT_INT32
   38597   }
   38598   output_arg {
   38599     name: "resized_images"
   38600     type: DT_FLOAT
   38601   }
   38602   attr {
   38603     name: "T"
   38604     type: "type"
   38605     allowed_values {
   38606       list {
   38607         type: DT_UINT8
   38608         type: DT_INT8
   38609         type: DT_INT16
   38610         type: DT_INT32
   38611         type: DT_INT64
   38612         type: DT_HALF
   38613         type: DT_FLOAT
   38614         type: DT_DOUBLE
   38615       }
   38616     }
   38617   }
   38618   attr {
   38619     name: "align_corners"
   38620     type: "bool"
   38621     default_value {
   38622       b: false
   38623     }
   38624   }
   38625 }
   38626 op {
   38627   name: "ResizeBicubic"
   38628   input_arg {
   38629     name: "images"
   38630     type_attr: "T"
   38631   }
   38632   input_arg {
   38633     name: "size"
   38634     type: DT_INT32
   38635   }
   38636   output_arg {
   38637     name: "resized_images"
   38638     type: DT_FLOAT
   38639   }
   38640   attr {
   38641     name: "T"
   38642     type: "type"
   38643     allowed_values {
   38644       list {
   38645         type: DT_INT8
   38646         type: DT_UINT8
   38647         type: DT_INT16
   38648         type: DT_UINT16
   38649         type: DT_INT32
   38650         type: DT_INT64
   38651         type: DT_HALF
   38652         type: DT_FLOAT
   38653         type: DT_DOUBLE
   38654       }
   38655     }
   38656   }
   38657   attr {
   38658     name: "align_corners"
   38659     type: "bool"
   38660     default_value {
   38661       b: false
   38662     }
   38663   }
   38664 }
   38665 op {
   38666   name: "ResizeBicubicGrad"
   38667   input_arg {
   38668     name: "grads"
   38669     type: DT_FLOAT
   38670   }
   38671   input_arg {
   38672     name: "original_image"
   38673     type_attr: "T"
   38674   }
   38675   output_arg {
   38676     name: "output"
   38677     type_attr: "T"
   38678   }
   38679   attr {
   38680     name: "T"
   38681     type: "type"
   38682     allowed_values {
   38683       list {
   38684         type: DT_FLOAT
   38685         type: DT_DOUBLE
   38686       }
   38687     }
   38688   }
   38689   attr {
   38690     name: "align_corners"
   38691     type: "bool"
   38692     default_value {
   38693       b: false
   38694     }
   38695   }
   38696 }
   38697 op {
   38698   name: "ResizeBilinear"
   38699   input_arg {
   38700     name: "images"
   38701     type_attr: "T"
   38702   }
   38703   input_arg {
   38704     name: "size"
   38705     type: DT_INT32
   38706   }
   38707   output_arg {
   38708     name: "resized_images"
   38709     type: DT_FLOAT
   38710   }
   38711   attr {
   38712     name: "T"
   38713     type: "type"
   38714     allowed_values {
   38715       list {
   38716         type: DT_UINT8
   38717         type: DT_INT8
   38718         type: DT_INT16
   38719         type: DT_INT32
   38720         type: DT_INT64
   38721         type: DT_HALF
   38722         type: DT_FLOAT
   38723         type: DT_DOUBLE
   38724       }
   38725     }
   38726   }
   38727   attr {
   38728     name: "align_corners"
   38729     type: "bool"
   38730     default_value {
   38731       b: false
   38732     }
   38733   }
   38734 }
   38735 op {
   38736   name: "ResizeBilinear"
   38737   input_arg {
   38738     name: "images"
   38739     type_attr: "T"
   38740   }
   38741   input_arg {
   38742     name: "size"
   38743     type: DT_INT32
   38744   }
   38745   output_arg {
   38746     name: "resized_images"
   38747     type: DT_FLOAT
   38748   }
   38749   attr {
   38750     name: "T"
   38751     type: "type"
   38752     allowed_values {
   38753       list {
   38754         type: DT_INT8
   38755         type: DT_UINT8
   38756         type: DT_INT16
   38757         type: DT_UINT16
   38758         type: DT_INT32
   38759         type: DT_INT64
   38760         type: DT_HALF
   38761         type: DT_FLOAT
   38762         type: DT_DOUBLE
   38763       }
   38764     }
   38765   }
   38766   attr {
   38767     name: "align_corners"
   38768     type: "bool"
   38769     default_value {
   38770       b: false
   38771     }
   38772   }
   38773 }
   38774 op {
   38775   name: "ResizeBilinear"
   38776   input_arg {
   38777     name: "images"
   38778     type_attr: "T"
   38779   }
   38780   input_arg {
   38781     name: "size"
   38782     type: DT_INT32
   38783   }
   38784   output_arg {
   38785     name: "resized_images"
   38786     type: DT_FLOAT
   38787   }
   38788   attr {
   38789     name: "T"
   38790     type: "type"
   38791     allowed_values {
   38792       list {
   38793         type: DT_INT8
   38794         type: DT_UINT8
   38795         type: DT_INT16
   38796         type: DT_UINT16
   38797         type: DT_INT32
   38798         type: DT_INT64
   38799         type: DT_BFLOAT16
   38800         type: DT_HALF
   38801         type: DT_FLOAT
   38802         type: DT_DOUBLE
   38803       }
   38804     }
   38805   }
   38806   attr {
   38807     name: "align_corners"
   38808     type: "bool"
   38809     default_value {
   38810       b: false
   38811     }
   38812   }
   38813 }
   38814 op {
   38815   name: "ResizeBilinearGrad"
   38816   input_arg {
   38817     name: "grads"
   38818     type: DT_FLOAT
   38819   }
   38820   input_arg {
   38821     name: "original_image"
   38822     type_attr: "T"
   38823   }
   38824   output_arg {
   38825     name: "output"
   38826     type_attr: "T"
   38827   }
   38828   attr {
   38829     name: "T"
   38830     type: "type"
   38831     allowed_values {
   38832       list {
   38833         type: DT_FLOAT
   38834         type: DT_HALF
   38835         type: DT_DOUBLE
   38836       }
   38837     }
   38838   }
   38839   attr {
   38840     name: "align_corners"
   38841     type: "bool"
   38842     default_value {
   38843       b: false
   38844     }
   38845   }
   38846 }
   38847 op {
   38848   name: "ResizeBilinearGrad"
   38849   input_arg {
   38850     name: "grads"
   38851     type: DT_FLOAT
   38852   }
   38853   input_arg {
   38854     name: "original_image"
   38855     type_attr: "T"
   38856   }
   38857   output_arg {
   38858     name: "output"
   38859     type_attr: "T"
   38860   }
   38861   attr {
   38862     name: "T"
   38863     type: "type"
   38864     allowed_values {
   38865       list {
   38866         type: DT_FLOAT
   38867         type: DT_BFLOAT16
   38868         type: DT_HALF
   38869         type: DT_DOUBLE
   38870       }
   38871     }
   38872   }
   38873   attr {
   38874     name: "align_corners"
   38875     type: "bool"
   38876     default_value {
   38877       b: false
   38878     }
   38879   }
   38880 }
   38881 op {
   38882   name: "ResizeNearestNeighbor"
   38883   input_arg {
   38884     name: "images"
   38885     type_attr: "T"
   38886   }
   38887   input_arg {
   38888     name: "size"
   38889     type: DT_INT32
   38890   }
   38891   output_arg {
   38892     name: "resized_images"
   38893     type_attr: "T"
   38894   }
   38895   attr {
   38896     name: "T"
   38897     type: "type"
   38898     allowed_values {
   38899       list {
   38900         type: DT_UINT8
   38901         type: DT_INT8
   38902         type: DT_INT16
   38903         type: DT_INT32
   38904         type: DT_INT64
   38905         type: DT_HALF
   38906         type: DT_FLOAT
   38907         type: DT_DOUBLE
   38908       }
   38909     }
   38910   }
   38911   attr {
   38912     name: "align_corners"
   38913     type: "bool"
   38914     default_value {
   38915       b: false
   38916     }
   38917   }
   38918 }
   38919 op {
   38920   name: "ResizeNearestNeighbor"
   38921   input_arg {
   38922     name: "images"
   38923     type_attr: "T"
   38924   }
   38925   input_arg {
   38926     name: "size"
   38927     type: DT_INT32
   38928   }
   38929   output_arg {
   38930     name: "resized_images"
   38931     type_attr: "T"
   38932   }
   38933   attr {
   38934     name: "T"
   38935     type: "type"
   38936     allowed_values {
   38937       list {
   38938         type: DT_INT8
   38939         type: DT_UINT8
   38940         type: DT_INT16
   38941         type: DT_UINT16
   38942         type: DT_INT32
   38943         type: DT_INT64
   38944         type: DT_HALF
   38945         type: DT_FLOAT
   38946         type: DT_DOUBLE
   38947       }
   38948     }
   38949   }
   38950   attr {
   38951     name: "align_corners"
   38952     type: "bool"
   38953     default_value {
   38954       b: false
   38955     }
   38956   }
   38957 }
   38958 op {
   38959   name: "ResizeNearestNeighborGrad"
   38960   input_arg {
   38961     name: "grads"
   38962     type_attr: "T"
   38963   }
   38964   input_arg {
   38965     name: "size"
   38966     type: DT_INT32
   38967   }
   38968   output_arg {
   38969     name: "output"
   38970     type_attr: "T"
   38971   }
   38972   attr {
   38973     name: "T"
   38974     type: "type"
   38975     allowed_values {
   38976       list {
   38977         type: DT_UINT8
   38978         type: DT_INT8
   38979         type: DT_INT32
   38980         type: DT_HALF
   38981         type: DT_FLOAT
   38982         type: DT_DOUBLE
   38983       }
   38984     }
   38985   }
   38986   attr {
   38987     name: "align_corners"
   38988     type: "bool"
   38989     default_value {
   38990       b: false
   38991     }
   38992   }
   38993 }
   38994 op {
   38995   name: "ResourceApplyAdadelta"
   38996   input_arg {
   38997     name: "var"
   38998     type: DT_RESOURCE
   38999   }
   39000   input_arg {
   39001     name: "accum"
   39002     type: DT_RESOURCE
   39003   }
   39004   input_arg {
   39005     name: "accum_update"
   39006     type: DT_RESOURCE
   39007   }
   39008   input_arg {
   39009     name: "lr"
   39010     type_attr: "T"
   39011   }
   39012   input_arg {
   39013     name: "rho"
   39014     type_attr: "T"
   39015   }
   39016   input_arg {
   39017     name: "epsilon"
   39018     type_attr: "T"
   39019   }
   39020   input_arg {
   39021     name: "grad"
   39022     type_attr: "T"
   39023   }
   39024   attr {
   39025     name: "T"
   39026     type: "type"
   39027     allowed_values {
   39028       list {
   39029         type: DT_FLOAT
   39030         type: DT_DOUBLE
   39031         type: DT_INT64
   39032         type: DT_INT32
   39033         type: DT_UINT8
   39034         type: DT_UINT16
   39035         type: DT_INT16
   39036         type: DT_INT8
   39037         type: DT_COMPLEX64
   39038         type: DT_COMPLEX128
   39039         type: DT_QINT8
   39040         type: DT_QUINT8
   39041         type: DT_QINT32
   39042         type: DT_HALF
   39043       }
   39044     }
   39045   }
   39046   attr {
   39047     name: "use_locking"
   39048     type: "bool"
   39049     default_value {
   39050       b: false
   39051     }
   39052   }
   39053   is_stateful: true
   39054 }
   39055 op {
   39056   name: "ResourceApplyAdadelta"
   39057   input_arg {
   39058     name: "var"
   39059     type: DT_RESOURCE
   39060   }
   39061   input_arg {
   39062     name: "accum"
   39063     type: DT_RESOURCE
   39064   }
   39065   input_arg {
   39066     name: "accum_update"
   39067     type: DT_RESOURCE
   39068   }
   39069   input_arg {
   39070     name: "lr"
   39071     type_attr: "T"
   39072   }
   39073   input_arg {
   39074     name: "rho"
   39075     type_attr: "T"
   39076   }
   39077   input_arg {
   39078     name: "epsilon"
   39079     type_attr: "T"
   39080   }
   39081   input_arg {
   39082     name: "grad"
   39083     type_attr: "T"
   39084   }
   39085   attr {
   39086     name: "T"
   39087     type: "type"
   39088     allowed_values {
   39089       list {
   39090         type: DT_FLOAT
   39091         type: DT_DOUBLE
   39092         type: DT_INT64
   39093         type: DT_INT32
   39094         type: DT_UINT8
   39095         type: DT_UINT16
   39096         type: DT_INT16
   39097         type: DT_INT8
   39098         type: DT_COMPLEX64
   39099         type: DT_COMPLEX128
   39100         type: DT_QINT8
   39101         type: DT_QUINT8
   39102         type: DT_QINT32
   39103         type: DT_HALF
   39104         type: DT_UINT32
   39105         type: DT_UINT64
   39106       }
   39107     }
   39108   }
   39109   attr {
   39110     name: "use_locking"
   39111     type: "bool"
   39112     default_value {
   39113       b: false
   39114     }
   39115   }
   39116   is_stateful: true
   39117 }
   39118 op {
   39119   name: "ResourceApplyAdadelta"
   39120   input_arg {
   39121     name: "var"
   39122     type: DT_RESOURCE
   39123   }
   39124   input_arg {
   39125     name: "accum"
   39126     type: DT_RESOURCE
   39127   }
   39128   input_arg {
   39129     name: "accum_update"
   39130     type: DT_RESOURCE
   39131   }
   39132   input_arg {
   39133     name: "lr"
   39134     type_attr: "T"
   39135   }
   39136   input_arg {
   39137     name: "rho"
   39138     type_attr: "T"
   39139   }
   39140   input_arg {
   39141     name: "epsilon"
   39142     type_attr: "T"
   39143   }
   39144   input_arg {
   39145     name: "grad"
   39146     type_attr: "T"
   39147   }
   39148   attr {
   39149     name: "T"
   39150     type: "type"
   39151     allowed_values {
   39152       list {
   39153         type: DT_FLOAT
   39154         type: DT_DOUBLE
   39155         type: DT_INT64
   39156         type: DT_INT32
   39157         type: DT_UINT8
   39158         type: DT_UINT16
   39159         type: DT_INT16
   39160         type: DT_INT8
   39161         type: DT_COMPLEX64
   39162         type: DT_COMPLEX128
   39163         type: DT_QINT8
   39164         type: DT_QUINT8
   39165         type: DT_QINT32
   39166         type: DT_HALF
   39167         type: DT_UINT32
   39168         type: DT_UINT64
   39169         type: DT_BFLOAT16
   39170       }
   39171     }
   39172   }
   39173   attr {
   39174     name: "use_locking"
   39175     type: "bool"
   39176     default_value {
   39177       b: false
   39178     }
   39179   }
   39180   is_stateful: true
   39181 }
   39182 op {
   39183   name: "ResourceApplyAdadelta"
   39184   input_arg {
   39185     name: "var"
   39186     type: DT_RESOURCE
   39187   }
   39188   input_arg {
   39189     name: "accum"
   39190     type: DT_RESOURCE
   39191   }
   39192   input_arg {
   39193     name: "accum_update"
   39194     type: DT_RESOURCE
   39195   }
   39196   input_arg {
   39197     name: "lr"
   39198     type_attr: "T"
   39199   }
   39200   input_arg {
   39201     name: "rho"
   39202     type_attr: "T"
   39203   }
   39204   input_arg {
   39205     name: "epsilon"
   39206     type_attr: "T"
   39207   }
   39208   input_arg {
   39209     name: "grad"
   39210     type_attr: "T"
   39211   }
   39212   attr {
   39213     name: "T"
   39214     type: "type"
   39215     allowed_values {
   39216       list {
   39217         type: DT_FLOAT
   39218         type: DT_DOUBLE
   39219         type: DT_INT32
   39220         type: DT_UINT8
   39221         type: DT_INT16
   39222         type: DT_INT8
   39223         type: DT_COMPLEX64
   39224         type: DT_INT64
   39225         type: DT_QINT8
   39226         type: DT_QUINT8
   39227         type: DT_QINT32
   39228         type: DT_BFLOAT16
   39229         type: DT_UINT16
   39230         type: DT_COMPLEX128
   39231         type: DT_HALF
   39232         type: DT_UINT32
   39233         type: DT_UINT64
   39234       }
   39235     }
   39236   }
   39237   attr {
   39238     name: "use_locking"
   39239     type: "bool"
   39240     default_value {
   39241       b: false
   39242     }
   39243   }
   39244   is_stateful: true
   39245 }
   39246 op {
   39247   name: "ResourceApplyAdagrad"
   39248   input_arg {
   39249     name: "var"
   39250     type: DT_RESOURCE
   39251   }
   39252   input_arg {
   39253     name: "accum"
   39254     type: DT_RESOURCE
   39255   }
   39256   input_arg {
   39257     name: "lr"
   39258     type_attr: "T"
   39259   }
   39260   input_arg {
   39261     name: "grad"
   39262     type_attr: "T"
   39263   }
   39264   attr {
   39265     name: "T"
   39266     type: "type"
   39267     allowed_values {
   39268       list {
   39269         type: DT_FLOAT
   39270         type: DT_DOUBLE
   39271         type: DT_INT64
   39272         type: DT_INT32
   39273         type: DT_UINT8
   39274         type: DT_UINT16
   39275         type: DT_INT16
   39276         type: DT_INT8
   39277         type: DT_COMPLEX64
   39278         type: DT_COMPLEX128
   39279         type: DT_QINT8
   39280         type: DT_QUINT8
   39281         type: DT_QINT32
   39282         type: DT_HALF
   39283       }
   39284     }
   39285   }
   39286   attr {
   39287     name: "use_locking"
   39288     type: "bool"
   39289     default_value {
   39290       b: false
   39291     }
   39292   }
   39293   is_stateful: true
   39294 }
   39295 op {
   39296   name: "ResourceApplyAdagrad"
   39297   input_arg {
   39298     name: "var"
   39299     type: DT_RESOURCE
   39300   }
   39301   input_arg {
   39302     name: "accum"
   39303     type: DT_RESOURCE
   39304   }
   39305   input_arg {
   39306     name: "lr"
   39307     type_attr: "T"
   39308   }
   39309   input_arg {
   39310     name: "grad"
   39311     type_attr: "T"
   39312   }
   39313   attr {
   39314     name: "T"
   39315     type: "type"
   39316     allowed_values {
   39317       list {
   39318         type: DT_FLOAT
   39319         type: DT_DOUBLE
   39320         type: DT_INT64
   39321         type: DT_INT32
   39322         type: DT_UINT8
   39323         type: DT_UINT16
   39324         type: DT_INT16
   39325         type: DT_INT8
   39326         type: DT_COMPLEX64
   39327         type: DT_COMPLEX128
   39328         type: DT_QINT8
   39329         type: DT_QUINT8
   39330         type: DT_QINT32
   39331         type: DT_HALF
   39332         type: DT_UINT32
   39333         type: DT_UINT64
   39334       }
   39335     }
   39336   }
   39337   attr {
   39338     name: "use_locking"
   39339     type: "bool"
   39340     default_value {
   39341       b: false
   39342     }
   39343   }
   39344   is_stateful: true
   39345 }
   39346 op {
   39347   name: "ResourceApplyAdagrad"
   39348   input_arg {
   39349     name: "var"
   39350     type: DT_RESOURCE
   39351   }
   39352   input_arg {
   39353     name: "accum"
   39354     type: DT_RESOURCE
   39355   }
   39356   input_arg {
   39357     name: "lr"
   39358     type_attr: "T"
   39359   }
   39360   input_arg {
   39361     name: "grad"
   39362     type_attr: "T"
   39363   }
   39364   attr {
   39365     name: "T"
   39366     type: "type"
   39367     allowed_values {
   39368       list {
   39369         type: DT_FLOAT
   39370         type: DT_DOUBLE
   39371         type: DT_INT64
   39372         type: DT_INT32
   39373         type: DT_UINT8
   39374         type: DT_UINT16
   39375         type: DT_INT16
   39376         type: DT_INT8
   39377         type: DT_COMPLEX64
   39378         type: DT_COMPLEX128
   39379         type: DT_QINT8
   39380         type: DT_QUINT8
   39381         type: DT_QINT32
   39382         type: DT_HALF
   39383         type: DT_UINT32
   39384         type: DT_UINT64
   39385         type: DT_BFLOAT16
   39386       }
   39387     }
   39388   }
   39389   attr {
   39390     name: "use_locking"
   39391     type: "bool"
   39392     default_value {
   39393       b: false
   39394     }
   39395   }
   39396   is_stateful: true
   39397 }
   39398 op {
   39399   name: "ResourceApplyAdagrad"
   39400   input_arg {
   39401     name: "var"
   39402     type: DT_RESOURCE
   39403   }
   39404   input_arg {
   39405     name: "accum"
   39406     type: DT_RESOURCE
   39407   }
   39408   input_arg {
   39409     name: "lr"
   39410     type_attr: "T"
   39411   }
   39412   input_arg {
   39413     name: "grad"
   39414     type_attr: "T"
   39415   }
   39416   attr {
   39417     name: "T"
   39418     type: "type"
   39419     allowed_values {
   39420       list {
   39421         type: DT_FLOAT
   39422         type: DT_DOUBLE
   39423         type: DT_INT32
   39424         type: DT_UINT8
   39425         type: DT_INT16
   39426         type: DT_INT8
   39427         type: DT_COMPLEX64
   39428         type: DT_INT64
   39429         type: DT_QINT8
   39430         type: DT_QUINT8
   39431         type: DT_QINT32
   39432         type: DT_BFLOAT16
   39433         type: DT_UINT16
   39434         type: DT_COMPLEX128
   39435         type: DT_HALF
   39436         type: DT_UINT32
   39437         type: DT_UINT64
   39438       }
   39439     }
   39440   }
   39441   attr {
   39442     name: "use_locking"
   39443     type: "bool"
   39444     default_value {
   39445       b: false
   39446     }
   39447   }
   39448   is_stateful: true
   39449 }
   39450 op {
   39451   name: "ResourceApplyAdagradDA"
   39452   input_arg {
   39453     name: "var"
   39454     type: DT_RESOURCE
   39455   }
   39456   input_arg {
   39457     name: "gradient_accumulator"
   39458     type: DT_RESOURCE
   39459   }
   39460   input_arg {
   39461     name: "gradient_squared_accumulator"
   39462     type: DT_RESOURCE
   39463   }
   39464   input_arg {
   39465     name: "grad"
   39466     type_attr: "T"
   39467   }
   39468   input_arg {
   39469     name: "lr"
   39470     type_attr: "T"
   39471   }
   39472   input_arg {
   39473     name: "l1"
   39474     type_attr: "T"
   39475   }
   39476   input_arg {
   39477     name: "l2"
   39478     type_attr: "T"
   39479   }
   39480   input_arg {
   39481     name: "global_step"
   39482     type: DT_INT64
   39483   }
   39484   attr {
   39485     name: "T"
   39486     type: "type"
   39487     allowed_values {
   39488       list {
   39489         type: DT_FLOAT
   39490         type: DT_DOUBLE
   39491         type: DT_INT64
   39492         type: DT_INT32
   39493         type: DT_UINT8
   39494         type: DT_UINT16
   39495         type: DT_INT16
   39496         type: DT_INT8
   39497         type: DT_COMPLEX64
   39498         type: DT_COMPLEX128
   39499         type: DT_QINT8
   39500         type: DT_QUINT8
   39501         type: DT_QINT32
   39502         type: DT_HALF
   39503       }
   39504     }
   39505   }
   39506   attr {
   39507     name: "use_locking"
   39508     type: "bool"
   39509     default_value {
   39510       b: false
   39511     }
   39512   }
   39513   is_stateful: true
   39514 }
   39515 op {
   39516   name: "ResourceApplyAdagradDA"
   39517   input_arg {
   39518     name: "var"
   39519     type: DT_RESOURCE
   39520   }
   39521   input_arg {
   39522     name: "gradient_accumulator"
   39523     type: DT_RESOURCE
   39524   }
   39525   input_arg {
   39526     name: "gradient_squared_accumulator"
   39527     type: DT_RESOURCE
   39528   }
   39529   input_arg {
   39530     name: "grad"
   39531     type_attr: "T"
   39532   }
   39533   input_arg {
   39534     name: "lr"
   39535     type_attr: "T"
   39536   }
   39537   input_arg {
   39538     name: "l1"
   39539     type_attr: "T"
   39540   }
   39541   input_arg {
   39542     name: "l2"
   39543     type_attr: "T"
   39544   }
   39545   input_arg {
   39546     name: "global_step"
   39547     type: DT_INT64
   39548   }
   39549   attr {
   39550     name: "T"
   39551     type: "type"
   39552     allowed_values {
   39553       list {
   39554         type: DT_FLOAT
   39555         type: DT_DOUBLE
   39556         type: DT_INT64
   39557         type: DT_INT32
   39558         type: DT_UINT8
   39559         type: DT_UINT16
   39560         type: DT_INT16
   39561         type: DT_INT8
   39562         type: DT_COMPLEX64
   39563         type: DT_COMPLEX128
   39564         type: DT_QINT8
   39565         type: DT_QUINT8
   39566         type: DT_QINT32
   39567         type: DT_HALF
   39568         type: DT_UINT32
   39569         type: DT_UINT64
   39570       }
   39571     }
   39572   }
   39573   attr {
   39574     name: "use_locking"
   39575     type: "bool"
   39576     default_value {
   39577       b: false
   39578     }
   39579   }
   39580   is_stateful: true
   39581 }
   39582 op {
   39583   name: "ResourceApplyAdagradDA"
   39584   input_arg {
   39585     name: "var"
   39586     type: DT_RESOURCE
   39587   }
   39588   input_arg {
   39589     name: "gradient_accumulator"
   39590     type: DT_RESOURCE
   39591   }
   39592   input_arg {
   39593     name: "gradient_squared_accumulator"
   39594     type: DT_RESOURCE
   39595   }
   39596   input_arg {
   39597     name: "grad"
   39598     type_attr: "T"
   39599   }
   39600   input_arg {
   39601     name: "lr"
   39602     type_attr: "T"
   39603   }
   39604   input_arg {
   39605     name: "l1"
   39606     type_attr: "T"
   39607   }
   39608   input_arg {
   39609     name: "l2"
   39610     type_attr: "T"
   39611   }
   39612   input_arg {
   39613     name: "global_step"
   39614     type: DT_INT64
   39615   }
   39616   attr {
   39617     name: "T"
   39618     type: "type"
   39619     allowed_values {
   39620       list {
   39621         type: DT_FLOAT
   39622         type: DT_DOUBLE
   39623         type: DT_INT64
   39624         type: DT_INT32
   39625         type: DT_UINT8
   39626         type: DT_UINT16
   39627         type: DT_INT16
   39628         type: DT_INT8
   39629         type: DT_COMPLEX64
   39630         type: DT_COMPLEX128
   39631         type: DT_QINT8
   39632         type: DT_QUINT8
   39633         type: DT_QINT32
   39634         type: DT_HALF
   39635         type: DT_UINT32
   39636         type: DT_UINT64
   39637         type: DT_BFLOAT16
   39638       }
   39639     }
   39640   }
   39641   attr {
   39642     name: "use_locking"
   39643     type: "bool"
   39644     default_value {
   39645       b: false
   39646     }
   39647   }
   39648   is_stateful: true
   39649 }
   39650 op {
   39651   name: "ResourceApplyAdagradDA"
   39652   input_arg {
   39653     name: "var"
   39654     type: DT_RESOURCE
   39655   }
   39656   input_arg {
   39657     name: "gradient_accumulator"
   39658     type: DT_RESOURCE
   39659   }
   39660   input_arg {
   39661     name: "gradient_squared_accumulator"
   39662     type: DT_RESOURCE
   39663   }
   39664   input_arg {
   39665     name: "grad"
   39666     type_attr: "T"
   39667   }
   39668   input_arg {
   39669     name: "lr"
   39670     type_attr: "T"
   39671   }
   39672   input_arg {
   39673     name: "l1"
   39674     type_attr: "T"
   39675   }
   39676   input_arg {
   39677     name: "l2"
   39678     type_attr: "T"
   39679   }
   39680   input_arg {
   39681     name: "global_step"
   39682     type: DT_INT64
   39683   }
   39684   attr {
   39685     name: "T"
   39686     type: "type"
   39687     allowed_values {
   39688       list {
   39689         type: DT_FLOAT
   39690         type: DT_DOUBLE
   39691         type: DT_INT32
   39692         type: DT_UINT8
   39693         type: DT_INT16
   39694         type: DT_INT8
   39695         type: DT_COMPLEX64
   39696         type: DT_INT64
   39697         type: DT_QINT8
   39698         type: DT_QUINT8
   39699         type: DT_QINT32
   39700         type: DT_BFLOAT16
   39701         type: DT_UINT16
   39702         type: DT_COMPLEX128
   39703         type: DT_HALF
   39704         type: DT_UINT32
   39705         type: DT_UINT64
   39706       }
   39707     }
   39708   }
   39709   attr {
   39710     name: "use_locking"
   39711     type: "bool"
   39712     default_value {
   39713       b: false
   39714     }
   39715   }
   39716   is_stateful: true
   39717 }
   39718 op {
   39719   name: "ResourceApplyAdam"
   39720   input_arg {
   39721     name: "var"
   39722     type: DT_RESOURCE
   39723   }
   39724   input_arg {
   39725     name: "m"
   39726     type: DT_RESOURCE
   39727   }
   39728   input_arg {
   39729     name: "v"
   39730     type: DT_RESOURCE
   39731   }
   39732   input_arg {
   39733     name: "beta1_power"
   39734     type_attr: "T"
   39735   }
   39736   input_arg {
   39737     name: "beta2_power"
   39738     type_attr: "T"
   39739   }
   39740   input_arg {
   39741     name: "lr"
   39742     type_attr: "T"
   39743   }
   39744   input_arg {
   39745     name: "beta1"
   39746     type_attr: "T"
   39747   }
   39748   input_arg {
   39749     name: "beta2"
   39750     type_attr: "T"
   39751   }
   39752   input_arg {
   39753     name: "epsilon"
   39754     type_attr: "T"
   39755   }
   39756   input_arg {
   39757     name: "grad"
   39758     type_attr: "T"
   39759   }
   39760   attr {
   39761     name: "T"
   39762     type: "type"
   39763     allowed_values {
   39764       list {
   39765         type: DT_FLOAT
   39766         type: DT_DOUBLE
   39767         type: DT_INT64
   39768         type: DT_INT32
   39769         type: DT_UINT8
   39770         type: DT_UINT16
   39771         type: DT_INT16
   39772         type: DT_INT8
   39773         type: DT_COMPLEX64
   39774         type: DT_COMPLEX128
   39775         type: DT_QINT8
   39776         type: DT_QUINT8
   39777         type: DT_QINT32
   39778         type: DT_HALF
   39779       }
   39780     }
   39781   }
   39782   attr {
   39783     name: "use_locking"
   39784     type: "bool"
   39785     default_value {
   39786       b: false
   39787     }
   39788   }
   39789   is_stateful: true
   39790 }
   39791 op {
   39792   name: "ResourceApplyAdam"
   39793   input_arg {
   39794     name: "var"
   39795     type: DT_RESOURCE
   39796   }
   39797   input_arg {
   39798     name: "m"
   39799     type: DT_RESOURCE
   39800   }
   39801   input_arg {
   39802     name: "v"
   39803     type: DT_RESOURCE
   39804   }
   39805   input_arg {
   39806     name: "beta1_power"
   39807     type_attr: "T"
   39808   }
   39809   input_arg {
   39810     name: "beta2_power"
   39811     type_attr: "T"
   39812   }
   39813   input_arg {
   39814     name: "lr"
   39815     type_attr: "T"
   39816   }
   39817   input_arg {
   39818     name: "beta1"
   39819     type_attr: "T"
   39820   }
   39821   input_arg {
   39822     name: "beta2"
   39823     type_attr: "T"
   39824   }
   39825   input_arg {
   39826     name: "epsilon"
   39827     type_attr: "T"
   39828   }
   39829   input_arg {
   39830     name: "grad"
   39831     type_attr: "T"
   39832   }
   39833   attr {
   39834     name: "T"
   39835     type: "type"
   39836     allowed_values {
   39837       list {
   39838         type: DT_FLOAT
   39839         type: DT_DOUBLE
   39840         type: DT_INT64
   39841         type: DT_INT32
   39842         type: DT_UINT8
   39843         type: DT_UINT16
   39844         type: DT_INT16
   39845         type: DT_INT8
   39846         type: DT_COMPLEX64
   39847         type: DT_COMPLEX128
   39848         type: DT_QINT8
   39849         type: DT_QUINT8
   39850         type: DT_QINT32
   39851         type: DT_HALF
   39852       }
   39853     }
   39854   }
   39855   attr {
   39856     name: "use_locking"
   39857     type: "bool"
   39858     default_value {
   39859       b: false
   39860     }
   39861   }
   39862   attr {
   39863     name: "use_nesterov"
   39864     type: "bool"
   39865     default_value {
   39866       b: false
   39867     }
   39868   }
   39869   is_stateful: true
   39870 }
   39871 op {
   39872   name: "ResourceApplyAdam"
   39873   input_arg {
   39874     name: "var"
   39875     type: DT_RESOURCE
   39876   }
   39877   input_arg {
   39878     name: "m"
   39879     type: DT_RESOURCE
   39880   }
   39881   input_arg {
   39882     name: "v"
   39883     type: DT_RESOURCE
   39884   }
   39885   input_arg {
   39886     name: "beta1_power"
   39887     type_attr: "T"
   39888   }
   39889   input_arg {
   39890     name: "beta2_power"
   39891     type_attr: "T"
   39892   }
   39893   input_arg {
   39894     name: "lr"
   39895     type_attr: "T"
   39896   }
   39897   input_arg {
   39898     name: "beta1"
   39899     type_attr: "T"
   39900   }
   39901   input_arg {
   39902     name: "beta2"
   39903     type_attr: "T"
   39904   }
   39905   input_arg {
   39906     name: "epsilon"
   39907     type_attr: "T"
   39908   }
   39909   input_arg {
   39910     name: "grad"
   39911     type_attr: "T"
   39912   }
   39913   attr {
   39914     name: "T"
   39915     type: "type"
   39916     allowed_values {
   39917       list {
   39918         type: DT_FLOAT
   39919         type: DT_DOUBLE
   39920         type: DT_INT64
   39921         type: DT_INT32
   39922         type: DT_UINT8
   39923         type: DT_UINT16
   39924         type: DT_INT16
   39925         type: DT_INT8
   39926         type: DT_COMPLEX64
   39927         type: DT_COMPLEX128
   39928         type: DT_QINT8
   39929         type: DT_QUINT8
   39930         type: DT_QINT32
   39931         type: DT_HALF
   39932         type: DT_UINT32
   39933         type: DT_UINT64
   39934       }
   39935     }
   39936   }
   39937   attr {
   39938     name: "use_locking"
   39939     type: "bool"
   39940     default_value {
   39941       b: false
   39942     }
   39943   }
   39944   attr {
   39945     name: "use_nesterov"
   39946     type: "bool"
   39947     default_value {
   39948       b: false
   39949     }
   39950   }
   39951   is_stateful: true
   39952 }
   39953 op {
   39954   name: "ResourceApplyAdam"
   39955   input_arg {
   39956     name: "var"
   39957     type: DT_RESOURCE
   39958   }
   39959   input_arg {
   39960     name: "m"
   39961     type: DT_RESOURCE
   39962   }
   39963   input_arg {
   39964     name: "v"
   39965     type: DT_RESOURCE
   39966   }
   39967   input_arg {
   39968     name: "beta1_power"
   39969     type_attr: "T"
   39970   }
   39971   input_arg {
   39972     name: "beta2_power"
   39973     type_attr: "T"
   39974   }
   39975   input_arg {
   39976     name: "lr"
   39977     type_attr: "T"
   39978   }
   39979   input_arg {
   39980     name: "beta1"
   39981     type_attr: "T"
   39982   }
   39983   input_arg {
   39984     name: "beta2"
   39985     type_attr: "T"
   39986   }
   39987   input_arg {
   39988     name: "epsilon"
   39989     type_attr: "T"
   39990   }
   39991   input_arg {
   39992     name: "grad"
   39993     type_attr: "T"
   39994   }
   39995   attr {
   39996     name: "T"
   39997     type: "type"
   39998     allowed_values {
   39999       list {
   40000         type: DT_FLOAT
   40001         type: DT_DOUBLE
   40002         type: DT_INT64
   40003         type: DT_INT32
   40004         type: DT_UINT8
   40005         type: DT_UINT16
   40006         type: DT_INT16
   40007         type: DT_INT8
   40008         type: DT_COMPLEX64
   40009         type: DT_COMPLEX128
   40010         type: DT_QINT8
   40011         type: DT_QUINT8
   40012         type: DT_QINT32
   40013         type: DT_HALF
   40014         type: DT_UINT32
   40015         type: DT_UINT64
   40016         type: DT_BFLOAT16
   40017       }
   40018     }
   40019   }
   40020   attr {
   40021     name: "use_locking"
   40022     type: "bool"
   40023     default_value {
   40024       b: false
   40025     }
   40026   }
   40027   attr {
   40028     name: "use_nesterov"
   40029     type: "bool"
   40030     default_value {
   40031       b: false
   40032     }
   40033   }
   40034   is_stateful: true
   40035 }
   40036 op {
   40037   name: "ResourceApplyAdam"
   40038   input_arg {
   40039     name: "var"
   40040     type: DT_RESOURCE
   40041   }
   40042   input_arg {
   40043     name: "m"
   40044     type: DT_RESOURCE
   40045   }
   40046   input_arg {
   40047     name: "v"
   40048     type: DT_RESOURCE
   40049   }
   40050   input_arg {
   40051     name: "beta1_power"
   40052     type_attr: "T"
   40053   }
   40054   input_arg {
   40055     name: "beta2_power"
   40056     type_attr: "T"
   40057   }
   40058   input_arg {
   40059     name: "lr"
   40060     type_attr: "T"
   40061   }
   40062   input_arg {
   40063     name: "beta1"
   40064     type_attr: "T"
   40065   }
   40066   input_arg {
   40067     name: "beta2"
   40068     type_attr: "T"
   40069   }
   40070   input_arg {
   40071     name: "epsilon"
   40072     type_attr: "T"
   40073   }
   40074   input_arg {
   40075     name: "grad"
   40076     type_attr: "T"
   40077   }
   40078   attr {
   40079     name: "T"
   40080     type: "type"
   40081     allowed_values {
   40082       list {
   40083         type: DT_FLOAT
   40084         type: DT_DOUBLE
   40085         type: DT_INT32
   40086         type: DT_UINT8
   40087         type: DT_INT16
   40088         type: DT_INT8
   40089         type: DT_COMPLEX64
   40090         type: DT_INT64
   40091         type: DT_QINT8
   40092         type: DT_QUINT8
   40093         type: DT_QINT32
   40094         type: DT_BFLOAT16
   40095         type: DT_UINT16
   40096         type: DT_COMPLEX128
   40097         type: DT_HALF
   40098         type: DT_UINT32
   40099         type: DT_UINT64
   40100       }
   40101     }
   40102   }
   40103   attr {
   40104     name: "use_locking"
   40105     type: "bool"
   40106     default_value {
   40107       b: false
   40108     }
   40109   }
   40110   attr {
   40111     name: "use_nesterov"
   40112     type: "bool"
   40113     default_value {
   40114       b: false
   40115     }
   40116   }
   40117   is_stateful: true
   40118 }
   40119 op {
   40120   name: "ResourceApplyAddSign"
   40121   input_arg {
   40122     name: "var"
   40123     type: DT_RESOURCE
   40124   }
   40125   input_arg {
   40126     name: "m"
   40127     type: DT_RESOURCE
   40128   }
   40129   input_arg {
   40130     name: "lr"
   40131     type_attr: "T"
   40132   }
   40133   input_arg {
   40134     name: "alpha"
   40135     type_attr: "T"
   40136   }
   40137   input_arg {
   40138     name: "sign_decay"
   40139     type_attr: "T"
   40140   }
   40141   input_arg {
   40142     name: "beta"
   40143     type_attr: "T"
   40144   }
   40145   input_arg {
   40146     name: "grad"
   40147     type_attr: "T"
   40148   }
   40149   attr {
   40150     name: "T"
   40151     type: "type"
   40152     allowed_values {
   40153       list {
   40154         type: DT_FLOAT
   40155         type: DT_DOUBLE
   40156         type: DT_INT64
   40157         type: DT_INT32
   40158         type: DT_UINT8
   40159         type: DT_UINT16
   40160         type: DT_INT16
   40161         type: DT_INT8
   40162         type: DT_COMPLEX64
   40163         type: DT_COMPLEX128
   40164         type: DT_QINT8
   40165         type: DT_QUINT8
   40166         type: DT_QINT32
   40167         type: DT_HALF
   40168         type: DT_UINT32
   40169         type: DT_UINT64
   40170       }
   40171     }
   40172   }
   40173   attr {
   40174     name: "use_locking"
   40175     type: "bool"
   40176     default_value {
   40177       b: false
   40178     }
   40179   }
   40180   is_stateful: true
   40181 }
   40182 op {
   40183   name: "ResourceApplyAddSign"
   40184   input_arg {
   40185     name: "var"
   40186     type: DT_RESOURCE
   40187   }
   40188   input_arg {
   40189     name: "m"
   40190     type: DT_RESOURCE
   40191   }
   40192   input_arg {
   40193     name: "lr"
   40194     type_attr: "T"
   40195   }
   40196   input_arg {
   40197     name: "alpha"
   40198     type_attr: "T"
   40199   }
   40200   input_arg {
   40201     name: "sign_decay"
   40202     type_attr: "T"
   40203   }
   40204   input_arg {
   40205     name: "beta"
   40206     type_attr: "T"
   40207   }
   40208   input_arg {
   40209     name: "grad"
   40210     type_attr: "T"
   40211   }
   40212   attr {
   40213     name: "T"
   40214     type: "type"
   40215     allowed_values {
   40216       list {
   40217         type: DT_FLOAT
   40218         type: DT_DOUBLE
   40219         type: DT_INT64
   40220         type: DT_INT32
   40221         type: DT_UINT8
   40222         type: DT_UINT16
   40223         type: DT_INT16
   40224         type: DT_INT8
   40225         type: DT_COMPLEX64
   40226         type: DT_COMPLEX128
   40227         type: DT_QINT8
   40228         type: DT_QUINT8
   40229         type: DT_QINT32
   40230         type: DT_HALF
   40231         type: DT_UINT32
   40232         type: DT_UINT64
   40233         type: DT_BFLOAT16
   40234       }
   40235     }
   40236   }
   40237   attr {
   40238     name: "use_locking"
   40239     type: "bool"
   40240     default_value {
   40241       b: false
   40242     }
   40243   }
   40244   is_stateful: true
   40245 }
   40246 op {
   40247   name: "ResourceApplyAddSign"
   40248   input_arg {
   40249     name: "var"
   40250     type: DT_RESOURCE
   40251   }
   40252   input_arg {
   40253     name: "m"
   40254     type: DT_RESOURCE
   40255   }
   40256   input_arg {
   40257     name: "lr"
   40258     type_attr: "T"
   40259   }
   40260   input_arg {
   40261     name: "alpha"
   40262     type_attr: "T"
   40263   }
   40264   input_arg {
   40265     name: "sign_decay"
   40266     type_attr: "T"
   40267   }
   40268   input_arg {
   40269     name: "beta"
   40270     type_attr: "T"
   40271   }
   40272   input_arg {
   40273     name: "grad"
   40274     type_attr: "T"
   40275   }
   40276   attr {
   40277     name: "T"
   40278     type: "type"
   40279     allowed_values {
   40280       list {
   40281         type: DT_FLOAT
   40282         type: DT_DOUBLE
   40283         type: DT_INT32
   40284         type: DT_UINT8
   40285         type: DT_INT16
   40286         type: DT_INT8
   40287         type: DT_COMPLEX64
   40288         type: DT_INT64
   40289         type: DT_QINT8
   40290         type: DT_QUINT8
   40291         type: DT_QINT32
   40292         type: DT_BFLOAT16
   40293         type: DT_UINT16
   40294         type: DT_COMPLEX128
   40295         type: DT_HALF
   40296         type: DT_UINT32
   40297         type: DT_UINT64
   40298       }
   40299     }
   40300   }
   40301   attr {
   40302     name: "use_locking"
   40303     type: "bool"
   40304     default_value {
   40305       b: false
   40306     }
   40307   }
   40308   is_stateful: true
   40309 }
   40310 op {
   40311   name: "ResourceApplyCenteredRMSProp"
   40312   input_arg {
   40313     name: "var"
   40314     type: DT_RESOURCE
   40315   }
   40316   input_arg {
   40317     name: "mg"
   40318     type: DT_RESOURCE
   40319   }
   40320   input_arg {
   40321     name: "ms"
   40322     type: DT_RESOURCE
   40323   }
   40324   input_arg {
   40325     name: "mom"
   40326     type: DT_RESOURCE
   40327   }
   40328   input_arg {
   40329     name: "lr"
   40330     type_attr: "T"
   40331   }
   40332   input_arg {
   40333     name: "rho"
   40334     type_attr: "T"
   40335   }
   40336   input_arg {
   40337     name: "momentum"
   40338     type_attr: "T"
   40339   }
   40340   input_arg {
   40341     name: "epsilon"
   40342     type_attr: "T"
   40343   }
   40344   input_arg {
   40345     name: "grad"
   40346     type_attr: "T"
   40347   }
   40348   attr {
   40349     name: "T"
   40350     type: "type"
   40351     allowed_values {
   40352       list {
   40353         type: DT_FLOAT
   40354         type: DT_DOUBLE
   40355         type: DT_INT64
   40356         type: DT_INT32
   40357         type: DT_UINT8
   40358         type: DT_UINT16
   40359         type: DT_INT16
   40360         type: DT_INT8
   40361         type: DT_COMPLEX64
   40362         type: DT_COMPLEX128
   40363         type: DT_QINT8
   40364         type: DT_QUINT8
   40365         type: DT_QINT32
   40366         type: DT_HALF
   40367       }
   40368     }
   40369   }
   40370   attr {
   40371     name: "use_locking"
   40372     type: "bool"
   40373     default_value {
   40374       b: false
   40375     }
   40376   }
   40377   is_stateful: true
   40378 }
   40379 op {
   40380   name: "ResourceApplyCenteredRMSProp"
   40381   input_arg {
   40382     name: "var"
   40383     type: DT_RESOURCE
   40384   }
   40385   input_arg {
   40386     name: "mg"
   40387     type: DT_RESOURCE
   40388   }
   40389   input_arg {
   40390     name: "ms"
   40391     type: DT_RESOURCE
   40392   }
   40393   input_arg {
   40394     name: "mom"
   40395     type: DT_RESOURCE
   40396   }
   40397   input_arg {
   40398     name: "lr"
   40399     type_attr: "T"
   40400   }
   40401   input_arg {
   40402     name: "rho"
   40403     type_attr: "T"
   40404   }
   40405   input_arg {
   40406     name: "momentum"
   40407     type_attr: "T"
   40408   }
   40409   input_arg {
   40410     name: "epsilon"
   40411     type_attr: "T"
   40412   }
   40413   input_arg {
   40414     name: "grad"
   40415     type_attr: "T"
   40416   }
   40417   attr {
   40418     name: "T"
   40419     type: "type"
   40420     allowed_values {
   40421       list {
   40422         type: DT_FLOAT
   40423         type: DT_DOUBLE
   40424         type: DT_INT64
   40425         type: DT_INT32
   40426         type: DT_UINT8
   40427         type: DT_UINT16
   40428         type: DT_INT16
   40429         type: DT_INT8
   40430         type: DT_COMPLEX64
   40431         type: DT_COMPLEX128
   40432         type: DT_QINT8
   40433         type: DT_QUINT8
   40434         type: DT_QINT32
   40435         type: DT_HALF
   40436         type: DT_UINT32
   40437         type: DT_UINT64
   40438       }
   40439     }
   40440   }
   40441   attr {
   40442     name: "use_locking"
   40443     type: "bool"
   40444     default_value {
   40445       b: false
   40446     }
   40447   }
   40448   is_stateful: true
   40449 }
   40450 op {
   40451   name: "ResourceApplyCenteredRMSProp"
   40452   input_arg {
   40453     name: "var"
   40454     type: DT_RESOURCE
   40455   }
   40456   input_arg {
   40457     name: "mg"
   40458     type: DT_RESOURCE
   40459   }
   40460   input_arg {
   40461     name: "ms"
   40462     type: DT_RESOURCE
   40463   }
   40464   input_arg {
   40465     name: "mom"
   40466     type: DT_RESOURCE
   40467   }
   40468   input_arg {
   40469     name: "lr"
   40470     type_attr: "T"
   40471   }
   40472   input_arg {
   40473     name: "rho"
   40474     type_attr: "T"
   40475   }
   40476   input_arg {
   40477     name: "momentum"
   40478     type_attr: "T"
   40479   }
   40480   input_arg {
   40481     name: "epsilon"
   40482     type_attr: "T"
   40483   }
   40484   input_arg {
   40485     name: "grad"
   40486     type_attr: "T"
   40487   }
   40488   attr {
   40489     name: "T"
   40490     type: "type"
   40491     allowed_values {
   40492       list {
   40493         type: DT_FLOAT
   40494         type: DT_DOUBLE
   40495         type: DT_INT64
   40496         type: DT_INT32
   40497         type: DT_UINT8
   40498         type: DT_UINT16
   40499         type: DT_INT16
   40500         type: DT_INT8
   40501         type: DT_COMPLEX64
   40502         type: DT_COMPLEX128
   40503         type: DT_QINT8
   40504         type: DT_QUINT8
   40505         type: DT_QINT32
   40506         type: DT_HALF
   40507         type: DT_UINT32
   40508         type: DT_UINT64
   40509         type: DT_BFLOAT16
   40510       }
   40511     }
   40512   }
   40513   attr {
   40514     name: "use_locking"
   40515     type: "bool"
   40516     default_value {
   40517       b: false
   40518     }
   40519   }
   40520   is_stateful: true
   40521 }
   40522 op {
   40523   name: "ResourceApplyCenteredRMSProp"
   40524   input_arg {
   40525     name: "var"
   40526     type: DT_RESOURCE
   40527   }
   40528   input_arg {
   40529     name: "mg"
   40530     type: DT_RESOURCE
   40531   }
   40532   input_arg {
   40533     name: "ms"
   40534     type: DT_RESOURCE
   40535   }
   40536   input_arg {
   40537     name: "mom"
   40538     type: DT_RESOURCE
   40539   }
   40540   input_arg {
   40541     name: "lr"
   40542     type_attr: "T"
   40543   }
   40544   input_arg {
   40545     name: "rho"
   40546     type_attr: "T"
   40547   }
   40548   input_arg {
   40549     name: "momentum"
   40550     type_attr: "T"
   40551   }
   40552   input_arg {
   40553     name: "epsilon"
   40554     type_attr: "T"
   40555   }
   40556   input_arg {
   40557     name: "grad"
   40558     type_attr: "T"
   40559   }
   40560   attr {
   40561     name: "T"
   40562     type: "type"
   40563     allowed_values {
   40564       list {
   40565         type: DT_FLOAT
   40566         type: DT_DOUBLE
   40567         type: DT_INT32
   40568         type: DT_UINT8
   40569         type: DT_INT16
   40570         type: DT_INT8
   40571         type: DT_COMPLEX64
   40572         type: DT_INT64
   40573         type: DT_QINT8
   40574         type: DT_QUINT8
   40575         type: DT_QINT32
   40576         type: DT_BFLOAT16
   40577         type: DT_UINT16
   40578         type: DT_COMPLEX128
   40579         type: DT_HALF
   40580         type: DT_UINT32
   40581         type: DT_UINT64
   40582       }
   40583     }
   40584   }
   40585   attr {
   40586     name: "use_locking"
   40587     type: "bool"
   40588     default_value {
   40589       b: false
   40590     }
   40591   }
   40592   is_stateful: true
   40593 }
   40594 op {
   40595   name: "ResourceApplyFtrl"
   40596   input_arg {
   40597     name: "var"
   40598     type: DT_RESOURCE
   40599   }
   40600   input_arg {
   40601     name: "accum"
   40602     type: DT_RESOURCE
   40603   }
   40604   input_arg {
   40605     name: "linear"
   40606     type: DT_RESOURCE
   40607   }
   40608   input_arg {
   40609     name: "grad"
   40610     type_attr: "T"
   40611   }
   40612   input_arg {
   40613     name: "lr"
   40614     type_attr: "T"
   40615   }
   40616   input_arg {
   40617     name: "l1"
   40618     type_attr: "T"
   40619   }
   40620   input_arg {
   40621     name: "l2"
   40622     type_attr: "T"
   40623   }
   40624   input_arg {
   40625     name: "lr_power"
   40626     type_attr: "T"
   40627   }
   40628   attr {
   40629     name: "T"
   40630     type: "type"
   40631     allowed_values {
   40632       list {
   40633         type: DT_FLOAT
   40634         type: DT_DOUBLE
   40635         type: DT_INT64
   40636         type: DT_INT32
   40637         type: DT_UINT8
   40638         type: DT_UINT16
   40639         type: DT_INT16
   40640         type: DT_INT8
   40641         type: DT_COMPLEX64
   40642         type: DT_COMPLEX128
   40643         type: DT_QINT8
   40644         type: DT_QUINT8
   40645         type: DT_QINT32
   40646         type: DT_HALF
   40647       }
   40648     }
   40649   }
   40650   attr {
   40651     name: "use_locking"
   40652     type: "bool"
   40653     default_value {
   40654       b: false
   40655     }
   40656   }
   40657   is_stateful: true
   40658 }
   40659 op {
   40660   name: "ResourceApplyFtrl"
   40661   input_arg {
   40662     name: "var"
   40663     type: DT_RESOURCE
   40664   }
   40665   input_arg {
   40666     name: "accum"
   40667     type: DT_RESOURCE
   40668   }
   40669   input_arg {
   40670     name: "linear"
   40671     type: DT_RESOURCE
   40672   }
   40673   input_arg {
   40674     name: "grad"
   40675     type_attr: "T"
   40676   }
   40677   input_arg {
   40678     name: "lr"
   40679     type_attr: "T"
   40680   }
   40681   input_arg {
   40682     name: "l1"
   40683     type_attr: "T"
   40684   }
   40685   input_arg {
   40686     name: "l2"
   40687     type_attr: "T"
   40688   }
   40689   input_arg {
   40690     name: "lr_power"
   40691     type_attr: "T"
   40692   }
   40693   attr {
   40694     name: "T"
   40695     type: "type"
   40696     allowed_values {
   40697       list {
   40698         type: DT_FLOAT
   40699         type: DT_DOUBLE
   40700         type: DT_INT64
   40701         type: DT_INT32
   40702         type: DT_UINT8
   40703         type: DT_UINT16
   40704         type: DT_INT16
   40705         type: DT_INT8
   40706         type: DT_COMPLEX64
   40707         type: DT_COMPLEX128
   40708         type: DT_QINT8
   40709         type: DT_QUINT8
   40710         type: DT_QINT32
   40711         type: DT_HALF
   40712         type: DT_UINT32
   40713         type: DT_UINT64
   40714       }
   40715     }
   40716   }
   40717   attr {
   40718     name: "use_locking"
   40719     type: "bool"
   40720     default_value {
   40721       b: false
   40722     }
   40723   }
   40724   is_stateful: true
   40725 }
   40726 op {
   40727   name: "ResourceApplyFtrl"
   40728   input_arg {
   40729     name: "var"
   40730     type: DT_RESOURCE
   40731   }
   40732   input_arg {
   40733     name: "accum"
   40734     type: DT_RESOURCE
   40735   }
   40736   input_arg {
   40737     name: "linear"
   40738     type: DT_RESOURCE
   40739   }
   40740   input_arg {
   40741     name: "grad"
   40742     type_attr: "T"
   40743   }
   40744   input_arg {
   40745     name: "lr"
   40746     type_attr: "T"
   40747   }
   40748   input_arg {
   40749     name: "l1"
   40750     type_attr: "T"
   40751   }
   40752   input_arg {
   40753     name: "l2"
   40754     type_attr: "T"
   40755   }
   40756   input_arg {
   40757     name: "lr_power"
   40758     type_attr: "T"
   40759   }
   40760   attr {
   40761     name: "T"
   40762     type: "type"
   40763     allowed_values {
   40764       list {
   40765         type: DT_FLOAT
   40766         type: DT_DOUBLE
   40767         type: DT_INT64
   40768         type: DT_INT32
   40769         type: DT_UINT8
   40770         type: DT_UINT16
   40771         type: DT_INT16
   40772         type: DT_INT8
   40773         type: DT_COMPLEX64
   40774         type: DT_COMPLEX128
   40775         type: DT_QINT8
   40776         type: DT_QUINT8
   40777         type: DT_QINT32
   40778         type: DT_HALF
   40779         type: DT_UINT32
   40780         type: DT_UINT64
   40781         type: DT_BFLOAT16
   40782       }
   40783     }
   40784   }
   40785   attr {
   40786     name: "use_locking"
   40787     type: "bool"
   40788     default_value {
   40789       b: false
   40790     }
   40791   }
   40792   is_stateful: true
   40793 }
   40794 op {
   40795   name: "ResourceApplyFtrl"
   40796   input_arg {
   40797     name: "var"
   40798     type: DT_RESOURCE
   40799   }
   40800   input_arg {
   40801     name: "accum"
   40802     type: DT_RESOURCE
   40803   }
   40804   input_arg {
   40805     name: "linear"
   40806     type: DT_RESOURCE
   40807   }
   40808   input_arg {
   40809     name: "grad"
   40810     type_attr: "T"
   40811   }
   40812   input_arg {
   40813     name: "lr"
   40814     type_attr: "T"
   40815   }
   40816   input_arg {
   40817     name: "l1"
   40818     type_attr: "T"
   40819   }
   40820   input_arg {
   40821     name: "l2"
   40822     type_attr: "T"
   40823   }
   40824   input_arg {
   40825     name: "lr_power"
   40826     type_attr: "T"
   40827   }
   40828   attr {
   40829     name: "T"
   40830     type: "type"
   40831     allowed_values {
   40832       list {
   40833         type: DT_FLOAT
   40834         type: DT_DOUBLE
   40835         type: DT_INT32
   40836         type: DT_UINT8
   40837         type: DT_INT16
   40838         type: DT_INT8
   40839         type: DT_COMPLEX64
   40840         type: DT_INT64
   40841         type: DT_QINT8
   40842         type: DT_QUINT8
   40843         type: DT_QINT32
   40844         type: DT_BFLOAT16
   40845         type: DT_UINT16
   40846         type: DT_COMPLEX128
   40847         type: DT_HALF
   40848         type: DT_UINT32
   40849         type: DT_UINT64
   40850       }
   40851     }
   40852   }
   40853   attr {
   40854     name: "use_locking"
   40855     type: "bool"
   40856     default_value {
   40857       b: false
   40858     }
   40859   }
   40860   is_stateful: true
   40861 }
   40862 op {
   40863   name: "ResourceApplyFtrlV2"
   40864   input_arg {
   40865     name: "var"
   40866     type: DT_RESOURCE
   40867   }
   40868   input_arg {
   40869     name: "accum"
   40870     type: DT_RESOURCE
   40871   }
   40872   input_arg {
   40873     name: "linear"
   40874     type: DT_RESOURCE
   40875   }
   40876   input_arg {
   40877     name: "grad"
   40878     type_attr: "T"
   40879   }
   40880   input_arg {
   40881     name: "lr"
   40882     type_attr: "T"
   40883   }
   40884   input_arg {
   40885     name: "l1"
   40886     type_attr: "T"
   40887   }
   40888   input_arg {
   40889     name: "l2"
   40890     type_attr: "T"
   40891   }
   40892   input_arg {
   40893     name: "l2_shrinkage"
   40894     type_attr: "T"
   40895   }
   40896   input_arg {
   40897     name: "lr_power"
   40898     type_attr: "T"
   40899   }
   40900   attr {
   40901     name: "T"
   40902     type: "type"
   40903     allowed_values {
   40904       list {
   40905         type: DT_FLOAT
   40906         type: DT_DOUBLE
   40907         type: DT_INT64
   40908         type: DT_INT32
   40909         type: DT_UINT8
   40910         type: DT_UINT16
   40911         type: DT_INT16
   40912         type: DT_INT8
   40913         type: DT_COMPLEX64
   40914         type: DT_COMPLEX128
   40915         type: DT_QINT8
   40916         type: DT_QUINT8
   40917         type: DT_QINT32
   40918         type: DT_HALF
   40919       }
   40920     }
   40921   }
   40922   attr {
   40923     name: "use_locking"
   40924     type: "bool"
   40925     default_value {
   40926       b: false
   40927     }
   40928   }
   40929   is_stateful: true
   40930 }
   40931 op {
   40932   name: "ResourceApplyFtrlV2"
   40933   input_arg {
   40934     name: "var"
   40935     type: DT_RESOURCE
   40936   }
   40937   input_arg {
   40938     name: "accum"
   40939     type: DT_RESOURCE
   40940   }
   40941   input_arg {
   40942     name: "linear"
   40943     type: DT_RESOURCE
   40944   }
   40945   input_arg {
   40946     name: "grad"
   40947     type_attr: "T"
   40948   }
   40949   input_arg {
   40950     name: "lr"
   40951     type_attr: "T"
   40952   }
   40953   input_arg {
   40954     name: "l1"
   40955     type_attr: "T"
   40956   }
   40957   input_arg {
   40958     name: "l2"
   40959     type_attr: "T"
   40960   }
   40961   input_arg {
   40962     name: "l2_shrinkage"
   40963     type_attr: "T"
   40964   }
   40965   input_arg {
   40966     name: "lr_power"
   40967     type_attr: "T"
   40968   }
   40969   attr {
   40970     name: "T"
   40971     type: "type"
   40972     allowed_values {
   40973       list {
   40974         type: DT_FLOAT
   40975         type: DT_DOUBLE
   40976         type: DT_INT64
   40977         type: DT_INT32
   40978         type: DT_UINT8
   40979         type: DT_UINT16
   40980         type: DT_INT16
   40981         type: DT_INT8
   40982         type: DT_COMPLEX64
   40983         type: DT_COMPLEX128
   40984         type: DT_QINT8
   40985         type: DT_QUINT8
   40986         type: DT_QINT32
   40987         type: DT_HALF
   40988         type: DT_UINT32
   40989         type: DT_UINT64
   40990       }
   40991     }
   40992   }
   40993   attr {
   40994     name: "use_locking"
   40995     type: "bool"
   40996     default_value {
   40997       b: false
   40998     }
   40999   }
   41000   is_stateful: true
   41001 }
   41002 op {
   41003   name: "ResourceApplyFtrlV2"
   41004   input_arg {
   41005     name: "var"
   41006     type: DT_RESOURCE
   41007   }
   41008   input_arg {
   41009     name: "accum"
   41010     type: DT_RESOURCE
   41011   }
   41012   input_arg {
   41013     name: "linear"
   41014     type: DT_RESOURCE
   41015   }
   41016   input_arg {
   41017     name: "grad"
   41018     type_attr: "T"
   41019   }
   41020   input_arg {
   41021     name: "lr"
   41022     type_attr: "T"
   41023   }
   41024   input_arg {
   41025     name: "l1"
   41026     type_attr: "T"
   41027   }
   41028   input_arg {
   41029     name: "l2"
   41030     type_attr: "T"
   41031   }
   41032   input_arg {
   41033     name: "l2_shrinkage"
   41034     type_attr: "T"
   41035   }
   41036   input_arg {
   41037     name: "lr_power"
   41038     type_attr: "T"
   41039   }
   41040   attr {
   41041     name: "T"
   41042     type: "type"
   41043     allowed_values {
   41044       list {
   41045         type: DT_FLOAT
   41046         type: DT_DOUBLE
   41047         type: DT_INT64
   41048         type: DT_INT32
   41049         type: DT_UINT8
   41050         type: DT_UINT16
   41051         type: DT_INT16
   41052         type: DT_INT8
   41053         type: DT_COMPLEX64
   41054         type: DT_COMPLEX128
   41055         type: DT_QINT8
   41056         type: DT_QUINT8
   41057         type: DT_QINT32
   41058         type: DT_HALF
   41059         type: DT_UINT32
   41060         type: DT_UINT64
   41061         type: DT_BFLOAT16
   41062       }
   41063     }
   41064   }
   41065   attr {
   41066     name: "use_locking"
   41067     type: "bool"
   41068     default_value {
   41069       b: false
   41070     }
   41071   }
   41072   is_stateful: true
   41073 }
   41074 op {
   41075   name: "ResourceApplyFtrlV2"
   41076   input_arg {
   41077     name: "var"
   41078     type: DT_RESOURCE
   41079   }
   41080   input_arg {
   41081     name: "accum"
   41082     type: DT_RESOURCE
   41083   }
   41084   input_arg {
   41085     name: "linear"
   41086     type: DT_RESOURCE
   41087   }
   41088   input_arg {
   41089     name: "grad"
   41090     type_attr: "T"
   41091   }
   41092   input_arg {
   41093     name: "lr"
   41094     type_attr: "T"
   41095   }
   41096   input_arg {
   41097     name: "l1"
   41098     type_attr: "T"
   41099   }
   41100   input_arg {
   41101     name: "l2"
   41102     type_attr: "T"
   41103   }
   41104   input_arg {
   41105     name: "l2_shrinkage"
   41106     type_attr: "T"
   41107   }
   41108   input_arg {
   41109     name: "lr_power"
   41110     type_attr: "T"
   41111   }
   41112   attr {
   41113     name: "T"
   41114     type: "type"
   41115     allowed_values {
   41116       list {
   41117         type: DT_FLOAT
   41118         type: DT_DOUBLE
   41119         type: DT_INT32
   41120         type: DT_UINT8
   41121         type: DT_INT16
   41122         type: DT_INT8
   41123         type: DT_COMPLEX64
   41124         type: DT_INT64
   41125         type: DT_QINT8
   41126         type: DT_QUINT8
   41127         type: DT_QINT32
   41128         type: DT_BFLOAT16
   41129         type: DT_UINT16
   41130         type: DT_COMPLEX128
   41131         type: DT_HALF
   41132         type: DT_UINT32
   41133         type: DT_UINT64
   41134       }
   41135     }
   41136   }
   41137   attr {
   41138     name: "use_locking"
   41139     type: "bool"
   41140     default_value {
   41141       b: false
   41142     }
   41143   }
   41144   is_stateful: true
   41145 }
   41146 op {
   41147   name: "ResourceApplyGradientDescent"
   41148   input_arg {
   41149     name: "var"
   41150     type: DT_RESOURCE
   41151   }
   41152   input_arg {
   41153     name: "alpha"
   41154     type_attr: "T"
   41155   }
   41156   input_arg {
   41157     name: "delta"
   41158     type_attr: "T"
   41159   }
   41160   attr {
   41161     name: "T"
   41162     type: "type"
   41163     allowed_values {
   41164       list {
   41165         type: DT_FLOAT
   41166         type: DT_DOUBLE
   41167         type: DT_INT64
   41168         type: DT_INT32
   41169         type: DT_UINT8
   41170         type: DT_UINT16
   41171         type: DT_INT16
   41172         type: DT_INT8
   41173         type: DT_COMPLEX64
   41174         type: DT_COMPLEX128
   41175         type: DT_QINT8
   41176         type: DT_QUINT8
   41177         type: DT_QINT32
   41178         type: DT_HALF
   41179       }
   41180     }
   41181   }
   41182   attr {
   41183     name: "use_locking"
   41184     type: "bool"
   41185     default_value {
   41186       b: false
   41187     }
   41188   }
   41189   is_stateful: true
   41190 }
   41191 op {
   41192   name: "ResourceApplyGradientDescent"
   41193   input_arg {
   41194     name: "var"
   41195     type: DT_RESOURCE
   41196   }
   41197   input_arg {
   41198     name: "alpha"
   41199     type_attr: "T"
   41200   }
   41201   input_arg {
   41202     name: "delta"
   41203     type_attr: "T"
   41204   }
   41205   attr {
   41206     name: "T"
   41207     type: "type"
   41208     allowed_values {
   41209       list {
   41210         type: DT_FLOAT
   41211         type: DT_DOUBLE
   41212         type: DT_INT64
   41213         type: DT_INT32
   41214         type: DT_UINT8
   41215         type: DT_UINT16
   41216         type: DT_INT16
   41217         type: DT_INT8
   41218         type: DT_COMPLEX64
   41219         type: DT_COMPLEX128
   41220         type: DT_QINT8
   41221         type: DT_QUINT8
   41222         type: DT_QINT32
   41223         type: DT_HALF
   41224         type: DT_UINT32
   41225         type: DT_UINT64
   41226       }
   41227     }
   41228   }
   41229   attr {
   41230     name: "use_locking"
   41231     type: "bool"
   41232     default_value {
   41233       b: false
   41234     }
   41235   }
   41236   is_stateful: true
   41237 }
   41238 op {
   41239   name: "ResourceApplyGradientDescent"
   41240   input_arg {
   41241     name: "var"
   41242     type: DT_RESOURCE
   41243   }
   41244   input_arg {
   41245     name: "alpha"
   41246     type_attr: "T"
   41247   }
   41248   input_arg {
   41249     name: "delta"
   41250     type_attr: "T"
   41251   }
   41252   attr {
   41253     name: "T"
   41254     type: "type"
   41255     allowed_values {
   41256       list {
   41257         type: DT_FLOAT
   41258         type: DT_DOUBLE
   41259         type: DT_INT64
   41260         type: DT_INT32
   41261         type: DT_UINT8
   41262         type: DT_UINT16
   41263         type: DT_INT16
   41264         type: DT_INT8
   41265         type: DT_COMPLEX64
   41266         type: DT_COMPLEX128
   41267         type: DT_QINT8
   41268         type: DT_QUINT8
   41269         type: DT_QINT32
   41270         type: DT_HALF
   41271         type: DT_UINT32
   41272         type: DT_UINT64
   41273         type: DT_BFLOAT16
   41274       }
   41275     }
   41276   }
   41277   attr {
   41278     name: "use_locking"
   41279     type: "bool"
   41280     default_value {
   41281       b: false
   41282     }
   41283   }
   41284   is_stateful: true
   41285 }
   41286 op {
   41287   name: "ResourceApplyGradientDescent"
   41288   input_arg {
   41289     name: "var"
   41290     type: DT_RESOURCE
   41291   }
   41292   input_arg {
   41293     name: "alpha"
   41294     type_attr: "T"
   41295   }
   41296   input_arg {
   41297     name: "delta"
   41298     type_attr: "T"
   41299   }
   41300   attr {
   41301     name: "T"
   41302     type: "type"
   41303     allowed_values {
   41304       list {
   41305         type: DT_FLOAT
   41306         type: DT_DOUBLE
   41307         type: DT_INT32
   41308         type: DT_UINT8
   41309         type: DT_INT16
   41310         type: DT_INT8
   41311         type: DT_COMPLEX64
   41312         type: DT_INT64
   41313         type: DT_QINT8
   41314         type: DT_QUINT8
   41315         type: DT_QINT32
   41316         type: DT_BFLOAT16
   41317         type: DT_UINT16
   41318         type: DT_COMPLEX128
   41319         type: DT_HALF
   41320         type: DT_UINT32
   41321         type: DT_UINT64
   41322       }
   41323     }
   41324   }
   41325   attr {
   41326     name: "use_locking"
   41327     type: "bool"
   41328     default_value {
   41329       b: false
   41330     }
   41331   }
   41332   is_stateful: true
   41333 }
   41334 op {
   41335   name: "ResourceApplyMomentum"
   41336   input_arg {
   41337     name: "var"
   41338     type: DT_RESOURCE
   41339   }
   41340   input_arg {
   41341     name: "accum"
   41342     type: DT_RESOURCE
   41343   }
   41344   input_arg {
   41345     name: "lr"
   41346     type_attr: "T"
   41347   }
   41348   input_arg {
   41349     name: "grad"
   41350     type_attr: "T"
   41351   }
   41352   input_arg {
   41353     name: "momentum"
   41354     type_attr: "T"
   41355   }
   41356   attr {
   41357     name: "T"
   41358     type: "type"
   41359     allowed_values {
   41360       list {
   41361         type: DT_FLOAT
   41362         type: DT_DOUBLE
   41363         type: DT_INT64
   41364         type: DT_INT32
   41365         type: DT_UINT8
   41366         type: DT_UINT16
   41367         type: DT_INT16
   41368         type: DT_INT8
   41369         type: DT_COMPLEX64
   41370         type: DT_COMPLEX128
   41371         type: DT_QINT8
   41372         type: DT_QUINT8
   41373         type: DT_QINT32
   41374         type: DT_HALF
   41375       }
   41376     }
   41377   }
   41378   attr {
   41379     name: "use_locking"
   41380     type: "bool"
   41381     default_value {
   41382       b: false
   41383     }
   41384   }
   41385   attr {
   41386     name: "use_nesterov"
   41387     type: "bool"
   41388     default_value {
   41389       b: false
   41390     }
   41391   }
   41392   is_stateful: true
   41393 }
   41394 op {
   41395   name: "ResourceApplyMomentum"
   41396   input_arg {
   41397     name: "var"
   41398     type: DT_RESOURCE
   41399   }
   41400   input_arg {
   41401     name: "accum"
   41402     type: DT_RESOURCE
   41403   }
   41404   input_arg {
   41405     name: "lr"
   41406     type_attr: "T"
   41407   }
   41408   input_arg {
   41409     name: "grad"
   41410     type_attr: "T"
   41411   }
   41412   input_arg {
   41413     name: "momentum"
   41414     type_attr: "T"
   41415   }
   41416   attr {
   41417     name: "T"
   41418     type: "type"
   41419     allowed_values {
   41420       list {
   41421         type: DT_FLOAT
   41422         type: DT_DOUBLE
   41423         type: DT_INT64
   41424         type: DT_INT32
   41425         type: DT_UINT8
   41426         type: DT_UINT16
   41427         type: DT_INT16
   41428         type: DT_INT8
   41429         type: DT_COMPLEX64
   41430         type: DT_COMPLEX128
   41431         type: DT_QINT8
   41432         type: DT_QUINT8
   41433         type: DT_QINT32
   41434         type: DT_HALF
   41435         type: DT_UINT32
   41436         type: DT_UINT64
   41437       }
   41438     }
   41439   }
   41440   attr {
   41441     name: "use_locking"
   41442     type: "bool"
   41443     default_value {
   41444       b: false
   41445     }
   41446   }
   41447   attr {
   41448     name: "use_nesterov"
   41449     type: "bool"
   41450     default_value {
   41451       b: false
   41452     }
   41453   }
   41454   is_stateful: true
   41455 }
   41456 op {
   41457   name: "ResourceApplyMomentum"
   41458   input_arg {
   41459     name: "var"
   41460     type: DT_RESOURCE
   41461   }
   41462   input_arg {
   41463     name: "accum"
   41464     type: DT_RESOURCE
   41465   }
   41466   input_arg {
   41467     name: "lr"
   41468     type_attr: "T"
   41469   }
   41470   input_arg {
   41471     name: "grad"
   41472     type_attr: "T"
   41473   }
   41474   input_arg {
   41475     name: "momentum"
   41476     type_attr: "T"
   41477   }
   41478   attr {
   41479     name: "T"
   41480     type: "type"
   41481     allowed_values {
   41482       list {
   41483         type: DT_FLOAT
   41484         type: DT_DOUBLE
   41485         type: DT_INT64
   41486         type: DT_INT32
   41487         type: DT_UINT8
   41488         type: DT_UINT16
   41489         type: DT_INT16
   41490         type: DT_INT8
   41491         type: DT_COMPLEX64
   41492         type: DT_COMPLEX128
   41493         type: DT_QINT8
   41494         type: DT_QUINT8
   41495         type: DT_QINT32
   41496         type: DT_HALF
   41497         type: DT_UINT32
   41498         type: DT_UINT64
   41499         type: DT_BFLOAT16
   41500       }
   41501     }
   41502   }
   41503   attr {
   41504     name: "use_locking"
   41505     type: "bool"
   41506     default_value {
   41507       b: false
   41508     }
   41509   }
   41510   attr {
   41511     name: "use_nesterov"
   41512     type: "bool"
   41513     default_value {
   41514       b: false
   41515     }
   41516   }
   41517   is_stateful: true
   41518 }
   41519 op {
   41520   name: "ResourceApplyMomentum"
   41521   input_arg {
   41522     name: "var"
   41523     type: DT_RESOURCE
   41524   }
   41525   input_arg {
   41526     name: "accum"
   41527     type: DT_RESOURCE
   41528   }
   41529   input_arg {
   41530     name: "lr"
   41531     type_attr: "T"
   41532   }
   41533   input_arg {
   41534     name: "grad"
   41535     type_attr: "T"
   41536   }
   41537   input_arg {
   41538     name: "momentum"
   41539     type_attr: "T"
   41540   }
   41541   attr {
   41542     name: "T"
   41543     type: "type"
   41544     allowed_values {
   41545       list {
   41546         type: DT_FLOAT
   41547         type: DT_DOUBLE
   41548         type: DT_INT32
   41549         type: DT_UINT8
   41550         type: DT_INT16
   41551         type: DT_INT8
   41552         type: DT_COMPLEX64
   41553         type: DT_INT64
   41554         type: DT_QINT8
   41555         type: DT_QUINT8
   41556         type: DT_QINT32
   41557         type: DT_BFLOAT16
   41558         type: DT_UINT16
   41559         type: DT_COMPLEX128
   41560         type: DT_HALF
   41561         type: DT_UINT32
   41562         type: DT_UINT64
   41563       }
   41564     }
   41565   }
   41566   attr {
   41567     name: "use_locking"
   41568     type: "bool"
   41569     default_value {
   41570       b: false
   41571     }
   41572   }
   41573   attr {
   41574     name: "use_nesterov"
   41575     type: "bool"
   41576     default_value {
   41577       b: false
   41578     }
   41579   }
   41580   is_stateful: true
   41581 }
   41582 op {
   41583   name: "ResourceApplyPowerSign"
   41584   input_arg {
   41585     name: "var"
   41586     type: DT_RESOURCE
   41587   }
   41588   input_arg {
   41589     name: "m"
   41590     type: DT_RESOURCE
   41591   }
   41592   input_arg {
   41593     name: "lr"
   41594     type_attr: "T"
   41595   }
   41596   input_arg {
   41597     name: "logbase"
   41598     type_attr: "T"
   41599   }
   41600   input_arg {
   41601     name: "sign_decay"
   41602     type_attr: "T"
   41603   }
   41604   input_arg {
   41605     name: "beta"
   41606     type_attr: "T"
   41607   }
   41608   input_arg {
   41609     name: "grad"
   41610     type_attr: "T"
   41611   }
   41612   attr {
   41613     name: "T"
   41614     type: "type"
   41615     allowed_values {
   41616       list {
   41617         type: DT_FLOAT
   41618         type: DT_DOUBLE
   41619         type: DT_INT64
   41620         type: DT_INT32
   41621         type: DT_UINT8
   41622         type: DT_UINT16
   41623         type: DT_INT16
   41624         type: DT_INT8
   41625         type: DT_COMPLEX64
   41626         type: DT_COMPLEX128
   41627         type: DT_QINT8
   41628         type: DT_QUINT8
   41629         type: DT_QINT32
   41630         type: DT_HALF
   41631         type: DT_UINT32
   41632         type: DT_UINT64
   41633       }
   41634     }
   41635   }
   41636   attr {
   41637     name: "use_locking"
   41638     type: "bool"
   41639     default_value {
   41640       b: false
   41641     }
   41642   }
   41643   is_stateful: true
   41644 }
   41645 op {
   41646   name: "ResourceApplyPowerSign"
   41647   input_arg {
   41648     name: "var"
   41649     type: DT_RESOURCE
   41650   }
   41651   input_arg {
   41652     name: "m"
   41653     type: DT_RESOURCE
   41654   }
   41655   input_arg {
   41656     name: "lr"
   41657     type_attr: "T"
   41658   }
   41659   input_arg {
   41660     name: "logbase"
   41661     type_attr: "T"
   41662   }
   41663   input_arg {
   41664     name: "sign_decay"
   41665     type_attr: "T"
   41666   }
   41667   input_arg {
   41668     name: "beta"
   41669     type_attr: "T"
   41670   }
   41671   input_arg {
   41672     name: "grad"
   41673     type_attr: "T"
   41674   }
   41675   attr {
   41676     name: "T"
   41677     type: "type"
   41678     allowed_values {
   41679       list {
   41680         type: DT_FLOAT
   41681         type: DT_DOUBLE
   41682         type: DT_INT64
   41683         type: DT_INT32
   41684         type: DT_UINT8
   41685         type: DT_UINT16
   41686         type: DT_INT16
   41687         type: DT_INT8
   41688         type: DT_COMPLEX64
   41689         type: DT_COMPLEX128
   41690         type: DT_QINT8
   41691         type: DT_QUINT8
   41692         type: DT_QINT32
   41693         type: DT_HALF
   41694         type: DT_UINT32
   41695         type: DT_UINT64
   41696         type: DT_BFLOAT16
   41697       }
   41698     }
   41699   }
   41700   attr {
   41701     name: "use_locking"
   41702     type: "bool"
   41703     default_value {
   41704       b: false
   41705     }
   41706   }
   41707   is_stateful: true
   41708 }
   41709 op {
   41710   name: "ResourceApplyPowerSign"
   41711   input_arg {
   41712     name: "var"
   41713     type: DT_RESOURCE
   41714   }
   41715   input_arg {
   41716     name: "m"
   41717     type: DT_RESOURCE
   41718   }
   41719   input_arg {
   41720     name: "lr"
   41721     type_attr: "T"
   41722   }
   41723   input_arg {
   41724     name: "logbase"
   41725     type_attr: "T"
   41726   }
   41727   input_arg {
   41728     name: "sign_decay"
   41729     type_attr: "T"
   41730   }
   41731   input_arg {
   41732     name: "beta"
   41733     type_attr: "T"
   41734   }
   41735   input_arg {
   41736     name: "grad"
   41737     type_attr: "T"
   41738   }
   41739   attr {
   41740     name: "T"
   41741     type: "type"
   41742     allowed_values {
   41743       list {
   41744         type: DT_FLOAT
   41745         type: DT_DOUBLE
   41746         type: DT_INT32
   41747         type: DT_UINT8
   41748         type: DT_INT16
   41749         type: DT_INT8
   41750         type: DT_COMPLEX64
   41751         type: DT_INT64
   41752         type: DT_QINT8
   41753         type: DT_QUINT8
   41754         type: DT_QINT32
   41755         type: DT_BFLOAT16
   41756         type: DT_UINT16
   41757         type: DT_COMPLEX128
   41758         type: DT_HALF
   41759         type: DT_UINT32
   41760         type: DT_UINT64
   41761       }
   41762     }
   41763   }
   41764   attr {
   41765     name: "use_locking"
   41766     type: "bool"
   41767     default_value {
   41768       b: false
   41769     }
   41770   }
   41771   is_stateful: true
   41772 }
   41773 op {
   41774   name: "ResourceApplyProximalAdagrad"
   41775   input_arg {
   41776     name: "var"
   41777     type: DT_RESOURCE
   41778   }
   41779   input_arg {
   41780     name: "accum"
   41781     type: DT_RESOURCE
   41782   }
   41783   input_arg {
   41784     name: "lr"
   41785     type_attr: "T"
   41786   }
   41787   input_arg {
   41788     name: "l1"
   41789     type_attr: "T"
   41790   }
   41791   input_arg {
   41792     name: "l2"
   41793     type_attr: "T"
   41794   }
   41795   input_arg {
   41796     name: "grad"
   41797     type_attr: "T"
   41798   }
   41799   attr {
   41800     name: "T"
   41801     type: "type"
   41802     allowed_values {
   41803       list {
   41804         type: DT_FLOAT
   41805         type: DT_DOUBLE
   41806         type: DT_INT64
   41807         type: DT_INT32
   41808         type: DT_UINT8
   41809         type: DT_UINT16
   41810         type: DT_INT16
   41811         type: DT_INT8
   41812         type: DT_COMPLEX64
   41813         type: DT_COMPLEX128
   41814         type: DT_QINT8
   41815         type: DT_QUINT8
   41816         type: DT_QINT32
   41817         type: DT_HALF
   41818       }
   41819     }
   41820   }
   41821   attr {
   41822     name: "use_locking"
   41823     type: "bool"
   41824     default_value {
   41825       b: false
   41826     }
   41827   }
   41828   is_stateful: true
   41829 }
   41830 op {
   41831   name: "ResourceApplyProximalAdagrad"
   41832   input_arg {
   41833     name: "var"
   41834     type: DT_RESOURCE
   41835   }
   41836   input_arg {
   41837     name: "accum"
   41838     type: DT_RESOURCE
   41839   }
   41840   input_arg {
   41841     name: "lr"
   41842     type_attr: "T"
   41843   }
   41844   input_arg {
   41845     name: "l1"
   41846     type_attr: "T"
   41847   }
   41848   input_arg {
   41849     name: "l2"
   41850     type_attr: "T"
   41851   }
   41852   input_arg {
   41853     name: "grad"
   41854     type_attr: "T"
   41855   }
   41856   attr {
   41857     name: "T"
   41858     type: "type"
   41859     allowed_values {
   41860       list {
   41861         type: DT_FLOAT
   41862         type: DT_DOUBLE
   41863         type: DT_INT64
   41864         type: DT_INT32
   41865         type: DT_UINT8
   41866         type: DT_UINT16
   41867         type: DT_INT16
   41868         type: DT_INT8
   41869         type: DT_COMPLEX64
   41870         type: DT_COMPLEX128
   41871         type: DT_QINT8
   41872         type: DT_QUINT8
   41873         type: DT_QINT32
   41874         type: DT_HALF
   41875         type: DT_UINT32
   41876         type: DT_UINT64
   41877       }
   41878     }
   41879   }
   41880   attr {
   41881     name: "use_locking"
   41882     type: "bool"
   41883     default_value {
   41884       b: false
   41885     }
   41886   }
   41887   is_stateful: true
   41888 }
   41889 op {
   41890   name: "ResourceApplyProximalAdagrad"
   41891   input_arg {
   41892     name: "var"
   41893     type: DT_RESOURCE
   41894   }
   41895   input_arg {
   41896     name: "accum"
   41897     type: DT_RESOURCE
   41898   }
   41899   input_arg {
   41900     name: "lr"
   41901     type_attr: "T"
   41902   }
   41903   input_arg {
   41904     name: "l1"
   41905     type_attr: "T"
   41906   }
   41907   input_arg {
   41908     name: "l2"
   41909     type_attr: "T"
   41910   }
   41911   input_arg {
   41912     name: "grad"
   41913     type_attr: "T"
   41914   }
   41915   attr {
   41916     name: "T"
   41917     type: "type"
   41918     allowed_values {
   41919       list {
   41920         type: DT_FLOAT
   41921         type: DT_DOUBLE
   41922         type: DT_INT64
   41923         type: DT_INT32
   41924         type: DT_UINT8
   41925         type: DT_UINT16
   41926         type: DT_INT16
   41927         type: DT_INT8
   41928         type: DT_COMPLEX64
   41929         type: DT_COMPLEX128
   41930         type: DT_QINT8
   41931         type: DT_QUINT8
   41932         type: DT_QINT32
   41933         type: DT_HALF
   41934         type: DT_UINT32
   41935         type: DT_UINT64
   41936         type: DT_BFLOAT16
   41937       }
   41938     }
   41939   }
   41940   attr {
   41941     name: "use_locking"
   41942     type: "bool"
   41943     default_value {
   41944       b: false
   41945     }
   41946   }
   41947   is_stateful: true
   41948 }
   41949 op {
   41950   name: "ResourceApplyProximalAdagrad"
   41951   input_arg {
   41952     name: "var"
   41953     type: DT_RESOURCE
   41954   }
   41955   input_arg {
   41956     name: "accum"
   41957     type: DT_RESOURCE
   41958   }
   41959   input_arg {
   41960     name: "lr"
   41961     type_attr: "T"
   41962   }
   41963   input_arg {
   41964     name: "l1"
   41965     type_attr: "T"
   41966   }
   41967   input_arg {
   41968     name: "l2"
   41969     type_attr: "T"
   41970   }
   41971   input_arg {
   41972     name: "grad"
   41973     type_attr: "T"
   41974   }
   41975   attr {
   41976     name: "T"
   41977     type: "type"
   41978     allowed_values {
   41979       list {
   41980         type: DT_FLOAT
   41981         type: DT_DOUBLE
   41982         type: DT_INT32
   41983         type: DT_UINT8
   41984         type: DT_INT16
   41985         type: DT_INT8
   41986         type: DT_COMPLEX64
   41987         type: DT_INT64
   41988         type: DT_QINT8
   41989         type: DT_QUINT8
   41990         type: DT_QINT32
   41991         type: DT_BFLOAT16
   41992         type: DT_UINT16
   41993         type: DT_COMPLEX128
   41994         type: DT_HALF
   41995         type: DT_UINT32
   41996         type: DT_UINT64
   41997       }
   41998     }
   41999   }
   42000   attr {
   42001     name: "use_locking"
   42002     type: "bool"
   42003     default_value {
   42004       b: false
   42005     }
   42006   }
   42007   is_stateful: true
   42008 }
   42009 op {
   42010   name: "ResourceApplyProximalGradientDescent"
   42011   input_arg {
   42012     name: "var"
   42013     type: DT_RESOURCE
   42014   }
   42015   input_arg {
   42016     name: "alpha"
   42017     type_attr: "T"
   42018   }
   42019   input_arg {
   42020     name: "l1"
   42021     type_attr: "T"
   42022   }
   42023   input_arg {
   42024     name: "l2"
   42025     type_attr: "T"
   42026   }
   42027   input_arg {
   42028     name: "delta"
   42029     type_attr: "T"
   42030   }
   42031   attr {
   42032     name: "T"
   42033     type: "type"
   42034     allowed_values {
   42035       list {
   42036         type: DT_FLOAT
   42037         type: DT_DOUBLE
   42038         type: DT_INT64
   42039         type: DT_INT32
   42040         type: DT_UINT8
   42041         type: DT_UINT16
   42042         type: DT_INT16
   42043         type: DT_INT8
   42044         type: DT_COMPLEX64
   42045         type: DT_COMPLEX128
   42046         type: DT_QINT8
   42047         type: DT_QUINT8
   42048         type: DT_QINT32
   42049         type: DT_HALF
   42050       }
   42051     }
   42052   }
   42053   attr {
   42054     name: "use_locking"
   42055     type: "bool"
   42056     default_value {
   42057       b: false
   42058     }
   42059   }
   42060   is_stateful: true
   42061 }
   42062 op {
   42063   name: "ResourceApplyProximalGradientDescent"
   42064   input_arg {
   42065     name: "var"
   42066     type: DT_RESOURCE
   42067   }
   42068   input_arg {
   42069     name: "alpha"
   42070     type_attr: "T"
   42071   }
   42072   input_arg {
   42073     name: "l1"
   42074     type_attr: "T"
   42075   }
   42076   input_arg {
   42077     name: "l2"
   42078     type_attr: "T"
   42079   }
   42080   input_arg {
   42081     name: "delta"
   42082     type_attr: "T"
   42083   }
   42084   attr {
   42085     name: "T"
   42086     type: "type"
   42087     allowed_values {
   42088       list {
   42089         type: DT_FLOAT
   42090         type: DT_DOUBLE
   42091         type: DT_INT64
   42092         type: DT_INT32
   42093         type: DT_UINT8
   42094         type: DT_UINT16
   42095         type: DT_INT16
   42096         type: DT_INT8
   42097         type: DT_COMPLEX64
   42098         type: DT_COMPLEX128
   42099         type: DT_QINT8
   42100         type: DT_QUINT8
   42101         type: DT_QINT32
   42102         type: DT_HALF
   42103         type: DT_UINT32
   42104         type: DT_UINT64
   42105       }
   42106     }
   42107   }
   42108   attr {
   42109     name: "use_locking"
   42110     type: "bool"
   42111     default_value {
   42112       b: false
   42113     }
   42114   }
   42115   is_stateful: true
   42116 }
   42117 op {
   42118   name: "ResourceApplyProximalGradientDescent"
   42119   input_arg {
   42120     name: "var"
   42121     type: DT_RESOURCE
   42122   }
   42123   input_arg {
   42124     name: "alpha"
   42125     type_attr: "T"
   42126   }
   42127   input_arg {
   42128     name: "l1"
   42129     type_attr: "T"
   42130   }
   42131   input_arg {
   42132     name: "l2"
   42133     type_attr: "T"
   42134   }
   42135   input_arg {
   42136     name: "delta"
   42137     type_attr: "T"
   42138   }
   42139   attr {
   42140     name: "T"
   42141     type: "type"
   42142     allowed_values {
   42143       list {
   42144         type: DT_FLOAT
   42145         type: DT_DOUBLE
   42146         type: DT_INT64
   42147         type: DT_INT32
   42148         type: DT_UINT8
   42149         type: DT_UINT16
   42150         type: DT_INT16
   42151         type: DT_INT8
   42152         type: DT_COMPLEX64
   42153         type: DT_COMPLEX128
   42154         type: DT_QINT8
   42155         type: DT_QUINT8
   42156         type: DT_QINT32
   42157         type: DT_HALF
   42158         type: DT_UINT32
   42159         type: DT_UINT64
   42160         type: DT_BFLOAT16
   42161       }
   42162     }
   42163   }
   42164   attr {
   42165     name: "use_locking"
   42166     type: "bool"
   42167     default_value {
   42168       b: false
   42169     }
   42170   }
   42171   is_stateful: true
   42172 }
   42173 op {
   42174   name: "ResourceApplyProximalGradientDescent"
   42175   input_arg {
   42176     name: "var"
   42177     type: DT_RESOURCE
   42178   }
   42179   input_arg {
   42180     name: "alpha"
   42181     type_attr: "T"
   42182   }
   42183   input_arg {
   42184     name: "l1"
   42185     type_attr: "T"
   42186   }
   42187   input_arg {
   42188     name: "l2"
   42189     type_attr: "T"
   42190   }
   42191   input_arg {
   42192     name: "delta"
   42193     type_attr: "T"
   42194   }
   42195   attr {
   42196     name: "T"
   42197     type: "type"
   42198     allowed_values {
   42199       list {
   42200         type: DT_FLOAT
   42201         type: DT_DOUBLE
   42202         type: DT_INT32
   42203         type: DT_UINT8
   42204         type: DT_INT16
   42205         type: DT_INT8
   42206         type: DT_COMPLEX64
   42207         type: DT_INT64
   42208         type: DT_QINT8
   42209         type: DT_QUINT8
   42210         type: DT_QINT32
   42211         type: DT_BFLOAT16
   42212         type: DT_UINT16
   42213         type: DT_COMPLEX128
   42214         type: DT_HALF
   42215         type: DT_UINT32
   42216         type: DT_UINT64
   42217       }
   42218     }
   42219   }
   42220   attr {
   42221     name: "use_locking"
   42222     type: "bool"
   42223     default_value {
   42224       b: false
   42225     }
   42226   }
   42227   is_stateful: true
   42228 }
   42229 op {
   42230   name: "ResourceApplyRMSProp"
   42231   input_arg {
   42232     name: "var"
   42233     type: DT_RESOURCE
   42234   }
   42235   input_arg {
   42236     name: "ms"
   42237     type: DT_RESOURCE
   42238   }
   42239   input_arg {
   42240     name: "mom"
   42241     type: DT_RESOURCE
   42242   }
   42243   input_arg {
   42244     name: "lr"
   42245     type_attr: "T"
   42246   }
   42247   input_arg {
   42248     name: "rho"
   42249     type_attr: "T"
   42250   }
   42251   input_arg {
   42252     name: "momentum"
   42253     type_attr: "T"
   42254   }
   42255   input_arg {
   42256     name: "epsilon"
   42257     type_attr: "T"
   42258   }
   42259   input_arg {
   42260     name: "grad"
   42261     type_attr: "T"
   42262   }
   42263   attr {
   42264     name: "T"
   42265     type: "type"
   42266     allowed_values {
   42267       list {
   42268         type: DT_FLOAT
   42269         type: DT_DOUBLE
   42270         type: DT_INT64
   42271         type: DT_INT32
   42272         type: DT_UINT8
   42273         type: DT_UINT16
   42274         type: DT_INT16
   42275         type: DT_INT8
   42276         type: DT_COMPLEX64
   42277         type: DT_COMPLEX128
   42278         type: DT_QINT8
   42279         type: DT_QUINT8
   42280         type: DT_QINT32
   42281         type: DT_HALF
   42282       }
   42283     }
   42284   }
   42285   attr {
   42286     name: "use_locking"
   42287     type: "bool"
   42288     default_value {
   42289       b: false
   42290     }
   42291   }
   42292   is_stateful: true
   42293 }
   42294 op {
   42295   name: "ResourceApplyRMSProp"
   42296   input_arg {
   42297     name: "var"
   42298     type: DT_RESOURCE
   42299   }
   42300   input_arg {
   42301     name: "ms"
   42302     type: DT_RESOURCE
   42303   }
   42304   input_arg {
   42305     name: "mom"
   42306     type: DT_RESOURCE
   42307   }
   42308   input_arg {
   42309     name: "lr"
   42310     type_attr: "T"
   42311   }
   42312   input_arg {
   42313     name: "rho"
   42314     type_attr: "T"
   42315   }
   42316   input_arg {
   42317     name: "momentum"
   42318     type_attr: "T"
   42319   }
   42320   input_arg {
   42321     name: "epsilon"
   42322     type_attr: "T"
   42323   }
   42324   input_arg {
   42325     name: "grad"
   42326     type_attr: "T"
   42327   }
   42328   attr {
   42329     name: "T"
   42330     type: "type"
   42331     allowed_values {
   42332       list {
   42333         type: DT_FLOAT
   42334         type: DT_DOUBLE
   42335         type: DT_INT64
   42336         type: DT_INT32
   42337         type: DT_UINT8
   42338         type: DT_UINT16
   42339         type: DT_INT16
   42340         type: DT_INT8
   42341         type: DT_COMPLEX64
   42342         type: DT_COMPLEX128
   42343         type: DT_QINT8
   42344         type: DT_QUINT8
   42345         type: DT_QINT32
   42346         type: DT_HALF
   42347         type: DT_UINT32
   42348         type: DT_UINT64
   42349       }
   42350     }
   42351   }
   42352   attr {
   42353     name: "use_locking"
   42354     type: "bool"
   42355     default_value {
   42356       b: false
   42357     }
   42358   }
   42359   is_stateful: true
   42360 }
   42361 op {
   42362   name: "ResourceApplyRMSProp"
   42363   input_arg {
   42364     name: "var"
   42365     type: DT_RESOURCE
   42366   }
   42367   input_arg {
   42368     name: "ms"
   42369     type: DT_RESOURCE
   42370   }
   42371   input_arg {
   42372     name: "mom"
   42373     type: DT_RESOURCE
   42374   }
   42375   input_arg {
   42376     name: "lr"
   42377     type_attr: "T"
   42378   }
   42379   input_arg {
   42380     name: "rho"
   42381     type_attr: "T"
   42382   }
   42383   input_arg {
   42384     name: "momentum"
   42385     type_attr: "T"
   42386   }
   42387   input_arg {
   42388     name: "epsilon"
   42389     type_attr: "T"
   42390   }
   42391   input_arg {
   42392     name: "grad"
   42393     type_attr: "T"
   42394   }
   42395   attr {
   42396     name: "T"
   42397     type: "type"
   42398     allowed_values {
   42399       list {
   42400         type: DT_FLOAT
   42401         type: DT_DOUBLE
   42402         type: DT_INT64
   42403         type: DT_INT32
   42404         type: DT_UINT8
   42405         type: DT_UINT16
   42406         type: DT_INT16
   42407         type: DT_INT8
   42408         type: DT_COMPLEX64
   42409         type: DT_COMPLEX128
   42410         type: DT_QINT8
   42411         type: DT_QUINT8
   42412         type: DT_QINT32
   42413         type: DT_HALF
   42414         type: DT_UINT32
   42415         type: DT_UINT64
   42416         type: DT_BFLOAT16
   42417       }
   42418     }
   42419   }
   42420   attr {
   42421     name: "use_locking"
   42422     type: "bool"
   42423     default_value {
   42424       b: false
   42425     }
   42426   }
   42427   is_stateful: true
   42428 }
   42429 op {
   42430   name: "ResourceApplyRMSProp"
   42431   input_arg {
   42432     name: "var"
   42433     type: DT_RESOURCE
   42434   }
   42435   input_arg {
   42436     name: "ms"
   42437     type: DT_RESOURCE
   42438   }
   42439   input_arg {
   42440     name: "mom"
   42441     type: DT_RESOURCE
   42442   }
   42443   input_arg {
   42444     name: "lr"
   42445     type_attr: "T"
   42446   }
   42447   input_arg {
   42448     name: "rho"
   42449     type_attr: "T"
   42450   }
   42451   input_arg {
   42452     name: "momentum"
   42453     type_attr: "T"
   42454   }
   42455   input_arg {
   42456     name: "epsilon"
   42457     type_attr: "T"
   42458   }
   42459   input_arg {
   42460     name: "grad"
   42461     type_attr: "T"
   42462   }
   42463   attr {
   42464     name: "T"
   42465     type: "type"
   42466     allowed_values {
   42467       list {
   42468         type: DT_FLOAT
   42469         type: DT_DOUBLE
   42470         type: DT_INT32
   42471         type: DT_UINT8
   42472         type: DT_INT16
   42473         type: DT_INT8
   42474         type: DT_COMPLEX64
   42475         type: DT_INT64
   42476         type: DT_QINT8
   42477         type: DT_QUINT8
   42478         type: DT_QINT32
   42479         type: DT_BFLOAT16
   42480         type: DT_UINT16
   42481         type: DT_COMPLEX128
   42482         type: DT_HALF
   42483         type: DT_UINT32
   42484         type: DT_UINT64
   42485       }
   42486     }
   42487   }
   42488   attr {
   42489     name: "use_locking"
   42490     type: "bool"
   42491     default_value {
   42492       b: false
   42493     }
   42494   }
   42495   is_stateful: true
   42496 }
   42497 op {
   42498   name: "ResourceCountUpTo"
   42499   input_arg {
   42500     name: "resource"
   42501     type: DT_RESOURCE
   42502   }
   42503   output_arg {
   42504     name: "output"
   42505     type_attr: "T"
   42506   }
   42507   attr {
   42508     name: "limit"
   42509     type: "int"
   42510   }
   42511   attr {
   42512     name: "T"
   42513     type: "type"
   42514     allowed_values {
   42515       list {
   42516         type: DT_INT32
   42517         type: DT_INT64
   42518       }
   42519     }
   42520   }
   42521   is_stateful: true
   42522 }
   42523 op {
   42524   name: "ResourceGather"
   42525   input_arg {
   42526     name: "resource"
   42527     type: DT_RESOURCE
   42528   }
   42529   input_arg {
   42530     name: "indices"
   42531     type_attr: "Tindices"
   42532   }
   42533   output_arg {
   42534     name: "output"
   42535     type_attr: "dtype"
   42536   }
   42537   attr {
   42538     name: "validate_indices"
   42539     type: "bool"
   42540     default_value {
   42541       b: true
   42542     }
   42543   }
   42544   attr {
   42545     name: "dtype"
   42546     type: "type"
   42547   }
   42548   attr {
   42549     name: "Tindices"
   42550     type: "type"
   42551     allowed_values {
   42552       list {
   42553         type: DT_INT32
   42554         type: DT_INT64
   42555       }
   42556     }
   42557   }
   42558   is_stateful: true
   42559 }
   42560 op {
   42561   name: "ResourceScatterAdd"
   42562   input_arg {
   42563     name: "resource"
   42564     type: DT_RESOURCE
   42565   }
   42566   input_arg {
   42567     name: "indices"
   42568     type_attr: "Tindices"
   42569   }
   42570   input_arg {
   42571     name: "updates"
   42572     type_attr: "dtype"
   42573   }
   42574   attr {
   42575     name: "dtype"
   42576     type: "type"
   42577     allowed_values {
   42578       list {
   42579         type: DT_FLOAT
   42580         type: DT_DOUBLE
   42581         type: DT_INT64
   42582         type: DT_INT32
   42583         type: DT_UINT8
   42584         type: DT_UINT16
   42585         type: DT_INT16
   42586         type: DT_INT8
   42587         type: DT_COMPLEX64
   42588         type: DT_COMPLEX128
   42589         type: DT_QINT8
   42590         type: DT_QUINT8
   42591         type: DT_QINT32
   42592         type: DT_HALF
   42593       }
   42594     }
   42595   }
   42596   attr {
   42597     name: "Tindices"
   42598     type: "type"
   42599     allowed_values {
   42600       list {
   42601         type: DT_INT32
   42602         type: DT_INT64
   42603       }
   42604     }
   42605   }
   42606   is_stateful: true
   42607 }
   42608 op {
   42609   name: "ResourceScatterAdd"
   42610   input_arg {
   42611     name: "resource"
   42612     type: DT_RESOURCE
   42613   }
   42614   input_arg {
   42615     name: "indices"
   42616     type_attr: "Tindices"
   42617   }
   42618   input_arg {
   42619     name: "updates"
   42620     type_attr: "dtype"
   42621   }
   42622   attr {
   42623     name: "dtype"
   42624     type: "type"
   42625     allowed_values {
   42626       list {
   42627         type: DT_FLOAT
   42628         type: DT_DOUBLE
   42629         type: DT_INT64
   42630         type: DT_INT32
   42631         type: DT_UINT8
   42632         type: DT_UINT16
   42633         type: DT_INT16
   42634         type: DT_INT8
   42635         type: DT_COMPLEX64
   42636         type: DT_COMPLEX128
   42637         type: DT_QINT8
   42638         type: DT_QUINT8
   42639         type: DT_QINT32
   42640         type: DT_HALF
   42641         type: DT_UINT32
   42642         type: DT_UINT64
   42643       }
   42644     }
   42645   }
   42646   attr {
   42647     name: "Tindices"
   42648     type: "type"
   42649     allowed_values {
   42650       list {
   42651         type: DT_INT32
   42652         type: DT_INT64
   42653       }
   42654     }
   42655   }
   42656   is_stateful: true
   42657 }
   42658 op {
   42659   name: "ResourceScatterAdd"
   42660   input_arg {
   42661     name: "resource"
   42662     type: DT_RESOURCE
   42663   }
   42664   input_arg {
   42665     name: "indices"
   42666     type_attr: "Tindices"
   42667   }
   42668   input_arg {
   42669     name: "updates"
   42670     type_attr: "dtype"
   42671   }
   42672   attr {
   42673     name: "dtype"
   42674     type: "type"
   42675     allowed_values {
   42676       list {
   42677         type: DT_FLOAT
   42678         type: DT_DOUBLE
   42679         type: DT_INT64
   42680         type: DT_INT32
   42681         type: DT_UINT8
   42682         type: DT_UINT16
   42683         type: DT_INT16
   42684         type: DT_INT8
   42685         type: DT_COMPLEX64
   42686         type: DT_COMPLEX128
   42687         type: DT_QINT8
   42688         type: DT_QUINT8
   42689         type: DT_QINT32
   42690         type: DT_HALF
   42691         type: DT_UINT32
   42692         type: DT_UINT64
   42693         type: DT_BFLOAT16
   42694       }
   42695     }
   42696   }
   42697   attr {
   42698     name: "Tindices"
   42699     type: "type"
   42700     allowed_values {
   42701       list {
   42702         type: DT_INT32
   42703         type: DT_INT64
   42704       }
   42705     }
   42706   }
   42707   is_stateful: true
   42708 }
   42709 op {
   42710   name: "ResourceScatterAdd"
   42711   input_arg {
   42712     name: "resource"
   42713     type: DT_RESOURCE
   42714   }
   42715   input_arg {
   42716     name: "indices"
   42717     type_attr: "Tindices"
   42718   }
   42719   input_arg {
   42720     name: "updates"
   42721     type_attr: "dtype"
   42722   }
   42723   attr {
   42724     name: "dtype"
   42725     type: "type"
   42726     allowed_values {
   42727       list {
   42728         type: DT_FLOAT
   42729         type: DT_DOUBLE
   42730         type: DT_INT32
   42731         type: DT_UINT8
   42732         type: DT_INT16
   42733         type: DT_INT8
   42734         type: DT_COMPLEX64
   42735         type: DT_INT64
   42736         type: DT_QINT8
   42737         type: DT_QUINT8
   42738         type: DT_QINT32
   42739         type: DT_BFLOAT16
   42740         type: DT_UINT16
   42741         type: DT_COMPLEX128
   42742         type: DT_HALF
   42743         type: DT_UINT32
   42744         type: DT_UINT64
   42745       }
   42746     }
   42747   }
   42748   attr {
   42749     name: "Tindices"
   42750     type: "type"
   42751     allowed_values {
   42752       list {
   42753         type: DT_INT32
   42754         type: DT_INT64
   42755       }
   42756     }
   42757   }
   42758   is_stateful: true
   42759 }
   42760 op {
   42761   name: "ResourceScatterNdUpdate"
   42762   input_arg {
   42763     name: "ref"
   42764     type: DT_RESOURCE
   42765   }
   42766   input_arg {
   42767     name: "indices"
   42768     type_attr: "Tindices"
   42769   }
   42770   input_arg {
   42771     name: "updates"
   42772     type_attr: "T"
   42773   }
   42774   attr {
   42775     name: "T"
   42776     type: "type"
   42777   }
   42778   attr {
   42779     name: "Tindices"
   42780     type: "type"
   42781     allowed_values {
   42782       list {
   42783         type: DT_INT32
   42784         type: DT_INT64
   42785       }
   42786     }
   42787   }
   42788   attr {
   42789     name: "use_locking"
   42790     type: "bool"
   42791     default_value {
   42792       b: true
   42793     }
   42794   }
   42795   is_stateful: true
   42796 }
   42797 op {
   42798   name: "ResourceScatterUpdate"
   42799   input_arg {
   42800     name: "resource"
   42801     type: DT_RESOURCE
   42802   }
   42803   input_arg {
   42804     name: "indices"
   42805     type_attr: "Tindices"
   42806   }
   42807   input_arg {
   42808     name: "updates"
   42809     type_attr: "dtype"
   42810   }
   42811   attr {
   42812     name: "dtype"
   42813     type: "type"
   42814     allowed_values {
   42815       list {
   42816         type: DT_FLOAT
   42817         type: DT_DOUBLE
   42818         type: DT_INT64
   42819         type: DT_INT32
   42820         type: DT_UINT8
   42821         type: DT_UINT16
   42822         type: DT_INT16
   42823         type: DT_INT8
   42824         type: DT_COMPLEX64
   42825         type: DT_COMPLEX128
   42826         type: DT_QINT8
   42827         type: DT_QUINT8
   42828         type: DT_QINT32
   42829         type: DT_HALF
   42830         type: DT_UINT32
   42831         type: DT_UINT64
   42832       }
   42833     }
   42834   }
   42835   attr {
   42836     name: "Tindices"
   42837     type: "type"
   42838     allowed_values {
   42839       list {
   42840         type: DT_INT32
   42841         type: DT_INT64
   42842       }
   42843     }
   42844   }
   42845   is_stateful: true
   42846 }
   42847 op {
   42848   name: "ResourceScatterUpdate"
   42849   input_arg {
   42850     name: "resource"
   42851     type: DT_RESOURCE
   42852   }
   42853   input_arg {
   42854     name: "indices"
   42855     type_attr: "Tindices"
   42856   }
   42857   input_arg {
   42858     name: "updates"
   42859     type_attr: "dtype"
   42860   }
   42861   attr {
   42862     name: "dtype"
   42863     type: "type"
   42864     allowed_values {
   42865       list {
   42866         type: DT_FLOAT
   42867         type: DT_DOUBLE
   42868         type: DT_INT64
   42869         type: DT_INT32
   42870         type: DT_UINT8
   42871         type: DT_UINT16
   42872         type: DT_INT16
   42873         type: DT_INT8
   42874         type: DT_COMPLEX64
   42875         type: DT_COMPLEX128
   42876         type: DT_QINT8
   42877         type: DT_QUINT8
   42878         type: DT_QINT32
   42879         type: DT_HALF
   42880         type: DT_UINT32
   42881         type: DT_UINT64
   42882         type: DT_BFLOAT16
   42883       }
   42884     }
   42885   }
   42886   attr {
   42887     name: "Tindices"
   42888     type: "type"
   42889     allowed_values {
   42890       list {
   42891         type: DT_INT32
   42892         type: DT_INT64
   42893       }
   42894     }
   42895   }
   42896   is_stateful: true
   42897 }
   42898 op {
   42899   name: "ResourceScatterUpdate"
   42900   input_arg {
   42901     name: "resource"
   42902     type: DT_RESOURCE
   42903   }
   42904   input_arg {
   42905     name: "indices"
   42906     type_attr: "Tindices"
   42907   }
   42908   input_arg {
   42909     name: "updates"
   42910     type_attr: "dtype"
   42911   }
   42912   attr {
   42913     name: "dtype"
   42914     type: "type"
   42915     allowed_values {
   42916       list {
   42917         type: DT_FLOAT
   42918         type: DT_DOUBLE
   42919         type: DT_INT32
   42920         type: DT_UINT8
   42921         type: DT_INT16
   42922         type: DT_INT8
   42923         type: DT_COMPLEX64
   42924         type: DT_INT64
   42925         type: DT_QINT8
   42926         type: DT_QUINT8
   42927         type: DT_QINT32
   42928         type: DT_BFLOAT16
   42929         type: DT_UINT16
   42930         type: DT_COMPLEX128
   42931         type: DT_HALF
   42932         type: DT_UINT32
   42933         type: DT_UINT64
   42934       }
   42935     }
   42936   }
   42937   attr {
   42938     name: "Tindices"
   42939     type: "type"
   42940     allowed_values {
   42941       list {
   42942         type: DT_INT32
   42943         type: DT_INT64
   42944       }
   42945     }
   42946   }
   42947   is_stateful: true
   42948 }
   42949 op {
   42950   name: "ResourceScatterUpdate"
   42951   input_arg {
   42952     name: "resource"
   42953     type: DT_RESOURCE
   42954   }
   42955   input_arg {
   42956     name: "indices"
   42957     type_attr: "Tindices"
   42958   }
   42959   input_arg {
   42960     name: "updates"
   42961     type_attr: "dtype"
   42962   }
   42963   attr {
   42964     name: "dtype"
   42965     type: "type"
   42966   }
   42967   attr {
   42968     name: "Tindices"
   42969     type: "type"
   42970     allowed_values {
   42971       list {
   42972         type: DT_INT32
   42973         type: DT_INT64
   42974       }
   42975     }
   42976   }
   42977   is_stateful: true
   42978 }
   42979 op {
   42980   name: "ResourceSparseApplyAdadelta"
   42981   input_arg {
   42982     name: "var"
   42983     type: DT_RESOURCE
   42984   }
   42985   input_arg {
   42986     name: "accum"
   42987     type: DT_RESOURCE
   42988   }
   42989   input_arg {
   42990     name: "accum_update"
   42991     type: DT_RESOURCE
   42992   }
   42993   input_arg {
   42994     name: "lr"
   42995     type_attr: "T"
   42996   }
   42997   input_arg {
   42998     name: "rho"
   42999     type_attr: "T"
   43000   }
   43001   input_arg {
   43002     name: "epsilon"
   43003     type_attr: "T"
   43004   }
   43005   input_arg {
   43006     name: "grad"
   43007     type_attr: "T"
   43008   }
   43009   input_arg {
   43010     name: "indices"
   43011     type_attr: "Tindices"
   43012   }
   43013   attr {
   43014     name: "T"
   43015     type: "type"
   43016     allowed_values {
   43017       list {
   43018         type: DT_FLOAT
   43019         type: DT_DOUBLE
   43020         type: DT_INT64
   43021         type: DT_INT32
   43022         type: DT_UINT8
   43023         type: DT_UINT16
   43024         type: DT_INT16
   43025         type: DT_INT8
   43026         type: DT_COMPLEX64
   43027         type: DT_COMPLEX128
   43028         type: DT_QINT8
   43029         type: DT_QUINT8
   43030         type: DT_QINT32
   43031         type: DT_HALF
   43032       }
   43033     }
   43034   }
   43035   attr {
   43036     name: "Tindices"
   43037     type: "type"
   43038     allowed_values {
   43039       list {
   43040         type: DT_INT32
   43041         type: DT_INT64
   43042       }
   43043     }
   43044   }
   43045   attr {
   43046     name: "use_locking"
   43047     type: "bool"
   43048     default_value {
   43049       b: false
   43050     }
   43051   }
   43052   is_stateful: true
   43053 }
   43054 op {
   43055   name: "ResourceSparseApplyAdadelta"
   43056   input_arg {
   43057     name: "var"
   43058     type: DT_RESOURCE
   43059   }
   43060   input_arg {
   43061     name: "accum"
   43062     type: DT_RESOURCE
   43063   }
   43064   input_arg {
   43065     name: "accum_update"
   43066     type: DT_RESOURCE
   43067   }
   43068   input_arg {
   43069     name: "lr"
   43070     type_attr: "T"
   43071   }
   43072   input_arg {
   43073     name: "rho"
   43074     type_attr: "T"
   43075   }
   43076   input_arg {
   43077     name: "epsilon"
   43078     type_attr: "T"
   43079   }
   43080   input_arg {
   43081     name: "grad"
   43082     type_attr: "T"
   43083   }
   43084   input_arg {
   43085     name: "indices"
   43086     type_attr: "Tindices"
   43087   }
   43088   attr {
   43089     name: "T"
   43090     type: "type"
   43091     allowed_values {
   43092       list {
   43093         type: DT_FLOAT
   43094         type: DT_DOUBLE
   43095         type: DT_INT64
   43096         type: DT_INT32
   43097         type: DT_UINT8
   43098         type: DT_UINT16
   43099         type: DT_INT16
   43100         type: DT_INT8
   43101         type: DT_COMPLEX64
   43102         type: DT_COMPLEX128
   43103         type: DT_QINT8
   43104         type: DT_QUINT8
   43105         type: DT_QINT32
   43106         type: DT_HALF
   43107         type: DT_UINT32
   43108         type: DT_UINT64
   43109       }
   43110     }
   43111   }
   43112   attr {
   43113     name: "Tindices"
   43114     type: "type"
   43115     allowed_values {
   43116       list {
   43117         type: DT_INT32
   43118         type: DT_INT64
   43119       }
   43120     }
   43121   }
   43122   attr {
   43123     name: "use_locking"
   43124     type: "bool"
   43125     default_value {
   43126       b: false
   43127     }
   43128   }
   43129   is_stateful: true
   43130 }
   43131 op {
   43132   name: "ResourceSparseApplyAdadelta"
   43133   input_arg {
   43134     name: "var"
   43135     type: DT_RESOURCE
   43136   }
   43137   input_arg {
   43138     name: "accum"
   43139     type: DT_RESOURCE
   43140   }
   43141   input_arg {
   43142     name: "accum_update"
   43143     type: DT_RESOURCE
   43144   }
   43145   input_arg {
   43146     name: "lr"
   43147     type_attr: "T"
   43148   }
   43149   input_arg {
   43150     name: "rho"
   43151     type_attr: "T"
   43152   }
   43153   input_arg {
   43154     name: "epsilon"
   43155     type_attr: "T"
   43156   }
   43157   input_arg {
   43158     name: "grad"
   43159     type_attr: "T"
   43160   }
   43161   input_arg {
   43162     name: "indices"
   43163     type_attr: "Tindices"
   43164   }
   43165   attr {
   43166     name: "T"
   43167     type: "type"
   43168     allowed_values {
   43169       list {
   43170         type: DT_FLOAT
   43171         type: DT_DOUBLE
   43172         type: DT_INT64
   43173         type: DT_INT32
   43174         type: DT_UINT8
   43175         type: DT_UINT16
   43176         type: DT_INT16
   43177         type: DT_INT8
   43178         type: DT_COMPLEX64
   43179         type: DT_COMPLEX128
   43180         type: DT_QINT8
   43181         type: DT_QUINT8
   43182         type: DT_QINT32
   43183         type: DT_HALF
   43184         type: DT_UINT32
   43185         type: DT_UINT64
   43186         type: DT_BFLOAT16
   43187       }
   43188     }
   43189   }
   43190   attr {
   43191     name: "Tindices"
   43192     type: "type"
   43193     allowed_values {
   43194       list {
   43195         type: DT_INT32
   43196         type: DT_INT64
   43197       }
   43198     }
   43199   }
   43200   attr {
   43201     name: "use_locking"
   43202     type: "bool"
   43203     default_value {
   43204       b: false
   43205     }
   43206   }
   43207   is_stateful: true
   43208 }
   43209 op {
   43210   name: "ResourceSparseApplyAdadelta"
   43211   input_arg {
   43212     name: "var"
   43213     type: DT_RESOURCE
   43214   }
   43215   input_arg {
   43216     name: "accum"
   43217     type: DT_RESOURCE
   43218   }
   43219   input_arg {
   43220     name: "accum_update"
   43221     type: DT_RESOURCE
   43222   }
   43223   input_arg {
   43224     name: "lr"
   43225     type_attr: "T"
   43226   }
   43227   input_arg {
   43228     name: "rho"
   43229     type_attr: "T"
   43230   }
   43231   input_arg {
   43232     name: "epsilon"
   43233     type_attr: "T"
   43234   }
   43235   input_arg {
   43236     name: "grad"
   43237     type_attr: "T"
   43238   }
   43239   input_arg {
   43240     name: "indices"
   43241     type_attr: "Tindices"
   43242   }
   43243   attr {
   43244     name: "T"
   43245     type: "type"
   43246     allowed_values {
   43247       list {
   43248         type: DT_FLOAT
   43249         type: DT_DOUBLE
   43250         type: DT_INT32
   43251         type: DT_UINT8
   43252         type: DT_INT16
   43253         type: DT_INT8
   43254         type: DT_COMPLEX64
   43255         type: DT_INT64
   43256         type: DT_QINT8
   43257         type: DT_QUINT8
   43258         type: DT_QINT32
   43259         type: DT_BFLOAT16
   43260         type: DT_UINT16
   43261         type: DT_COMPLEX128
   43262         type: DT_HALF
   43263         type: DT_UINT32
   43264         type: DT_UINT64
   43265       }
   43266     }
   43267   }
   43268   attr {
   43269     name: "Tindices"
   43270     type: "type"
   43271     allowed_values {
   43272       list {
   43273         type: DT_INT32
   43274         type: DT_INT64
   43275       }
   43276     }
   43277   }
   43278   attr {
   43279     name: "use_locking"
   43280     type: "bool"
   43281     default_value {
   43282       b: false
   43283     }
   43284   }
   43285   is_stateful: true
   43286 }
   43287 op {
   43288   name: "ResourceSparseApplyAdagrad"
   43289   input_arg {
   43290     name: "var"
   43291     type: DT_RESOURCE
   43292   }
   43293   input_arg {
   43294     name: "accum"
   43295     type: DT_RESOURCE
   43296   }
   43297   input_arg {
   43298     name: "lr"
   43299     type_attr: "T"
   43300   }
   43301   input_arg {
   43302     name: "grad"
   43303     type_attr: "T"
   43304   }
   43305   input_arg {
   43306     name: "indices"
   43307     type_attr: "Tindices"
   43308   }
   43309   attr {
   43310     name: "T"
   43311     type: "type"
   43312     allowed_values {
   43313       list {
   43314         type: DT_FLOAT
   43315         type: DT_DOUBLE
   43316         type: DT_INT64
   43317         type: DT_INT32
   43318         type: DT_UINT8
   43319         type: DT_UINT16
   43320         type: DT_INT16
   43321         type: DT_INT8
   43322         type: DT_COMPLEX64
   43323         type: DT_COMPLEX128
   43324         type: DT_QINT8
   43325         type: DT_QUINT8
   43326         type: DT_QINT32
   43327         type: DT_HALF
   43328       }
   43329     }
   43330   }
   43331   attr {
   43332     name: "Tindices"
   43333     type: "type"
   43334     allowed_values {
   43335       list {
   43336         type: DT_INT32
   43337         type: DT_INT64
   43338       }
   43339     }
   43340   }
   43341   attr {
   43342     name: "use_locking"
   43343     type: "bool"
   43344     default_value {
   43345       b: false
   43346     }
   43347   }
   43348   is_stateful: true
   43349 }
   43350 op {
   43351   name: "ResourceSparseApplyAdagrad"
   43352   input_arg {
   43353     name: "var"
   43354     type: DT_RESOURCE
   43355   }
   43356   input_arg {
   43357     name: "accum"
   43358     type: DT_RESOURCE
   43359   }
   43360   input_arg {
   43361     name: "lr"
   43362     type_attr: "T"
   43363   }
   43364   input_arg {
   43365     name: "grad"
   43366     type_attr: "T"
   43367   }
   43368   input_arg {
   43369     name: "indices"
   43370     type_attr: "Tindices"
   43371   }
   43372   attr {
   43373     name: "T"
   43374     type: "type"
   43375     allowed_values {
   43376       list {
   43377         type: DT_FLOAT
   43378         type: DT_DOUBLE
   43379         type: DT_INT64
   43380         type: DT_INT32
   43381         type: DT_UINT8
   43382         type: DT_UINT16
   43383         type: DT_INT16
   43384         type: DT_INT8
   43385         type: DT_COMPLEX64
   43386         type: DT_COMPLEX128
   43387         type: DT_QINT8
   43388         type: DT_QUINT8
   43389         type: DT_QINT32
   43390         type: DT_HALF
   43391         type: DT_UINT32
   43392         type: DT_UINT64
   43393       }
   43394     }
   43395   }
   43396   attr {
   43397     name: "Tindices"
   43398     type: "type"
   43399     allowed_values {
   43400       list {
   43401         type: DT_INT32
   43402         type: DT_INT64
   43403       }
   43404     }
   43405   }
   43406   attr {
   43407     name: "use_locking"
   43408     type: "bool"
   43409     default_value {
   43410       b: false
   43411     }
   43412   }
   43413   is_stateful: true
   43414 }
   43415 op {
   43416   name: "ResourceSparseApplyAdagrad"
   43417   input_arg {
   43418     name: "var"
   43419     type: DT_RESOURCE
   43420   }
   43421   input_arg {
   43422     name: "accum"
   43423     type: DT_RESOURCE
   43424   }
   43425   input_arg {
   43426     name: "lr"
   43427     type_attr: "T"
   43428   }
   43429   input_arg {
   43430     name: "grad"
   43431     type_attr: "T"
   43432   }
   43433   input_arg {
   43434     name: "indices"
   43435     type_attr: "Tindices"
   43436   }
   43437   attr {
   43438     name: "T"
   43439     type: "type"
   43440     allowed_values {
   43441       list {
   43442         type: DT_FLOAT
   43443         type: DT_DOUBLE
   43444         type: DT_INT64
   43445         type: DT_INT32
   43446         type: DT_UINT8
   43447         type: DT_UINT16
   43448         type: DT_INT16
   43449         type: DT_INT8
   43450         type: DT_COMPLEX64
   43451         type: DT_COMPLEX128
   43452         type: DT_QINT8
   43453         type: DT_QUINT8
   43454         type: DT_QINT32
   43455         type: DT_HALF
   43456         type: DT_UINT32
   43457         type: DT_UINT64
   43458         type: DT_BFLOAT16
   43459       }
   43460     }
   43461   }
   43462   attr {
   43463     name: "Tindices"
   43464     type: "type"
   43465     allowed_values {
   43466       list {
   43467         type: DT_INT32
   43468         type: DT_INT64
   43469       }
   43470     }
   43471   }
   43472   attr {
   43473     name: "use_locking"
   43474     type: "bool"
   43475     default_value {
   43476       b: false
   43477     }
   43478   }
   43479   is_stateful: true
   43480 }
   43481 op {
   43482   name: "ResourceSparseApplyAdagrad"
   43483   input_arg {
   43484     name: "var"
   43485     type: DT_RESOURCE
   43486   }
   43487   input_arg {
   43488     name: "accum"
   43489     type: DT_RESOURCE
   43490   }
   43491   input_arg {
   43492     name: "lr"
   43493     type_attr: "T"
   43494   }
   43495   input_arg {
   43496     name: "grad"
   43497     type_attr: "T"
   43498   }
   43499   input_arg {
   43500     name: "indices"
   43501     type_attr: "Tindices"
   43502   }
   43503   attr {
   43504     name: "T"
   43505     type: "type"
   43506     allowed_values {
   43507       list {
   43508         type: DT_FLOAT
   43509         type: DT_DOUBLE
   43510         type: DT_INT32
   43511         type: DT_UINT8
   43512         type: DT_INT16
   43513         type: DT_INT8
   43514         type: DT_COMPLEX64
   43515         type: DT_INT64
   43516         type: DT_QINT8
   43517         type: DT_QUINT8
   43518         type: DT_QINT32
   43519         type: DT_BFLOAT16
   43520         type: DT_UINT16
   43521         type: DT_COMPLEX128
   43522         type: DT_HALF
   43523         type: DT_UINT32
   43524         type: DT_UINT64
   43525       }
   43526     }
   43527   }
   43528   attr {
   43529     name: "Tindices"
   43530     type: "type"
   43531     allowed_values {
   43532       list {
   43533         type: DT_INT32
   43534         type: DT_INT64
   43535       }
   43536     }
   43537   }
   43538   attr {
   43539     name: "use_locking"
   43540     type: "bool"
   43541     default_value {
   43542       b: false
   43543     }
   43544   }
   43545   is_stateful: true
   43546 }
   43547 op {
   43548   name: "ResourceSparseApplyAdagradDA"
   43549   input_arg {
   43550     name: "var"
   43551     type: DT_RESOURCE
   43552   }
   43553   input_arg {
   43554     name: "gradient_accumulator"
   43555     type: DT_RESOURCE
   43556   }
   43557   input_arg {
   43558     name: "gradient_squared_accumulator"
   43559     type: DT_RESOURCE
   43560   }
   43561   input_arg {
   43562     name: "grad"
   43563     type_attr: "T"
   43564   }
   43565   input_arg {
   43566     name: "indices"
   43567     type_attr: "Tindices"
   43568   }
   43569   input_arg {
   43570     name: "lr"
   43571     type_attr: "T"
   43572   }
   43573   input_arg {
   43574     name: "l1"
   43575     type_attr: "T"
   43576   }
   43577   input_arg {
   43578     name: "l2"
   43579     type_attr: "T"
   43580   }
   43581   input_arg {
   43582     name: "global_step"
   43583     type: DT_INT64
   43584   }
   43585   attr {
   43586     name: "T"
   43587     type: "type"
   43588     allowed_values {
   43589       list {
   43590         type: DT_FLOAT
   43591         type: DT_DOUBLE
   43592         type: DT_INT64
   43593         type: DT_INT32
   43594         type: DT_UINT8
   43595         type: DT_UINT16
   43596         type: DT_INT16
   43597         type: DT_INT8
   43598         type: DT_COMPLEX64
   43599         type: DT_COMPLEX128
   43600         type: DT_QINT8
   43601         type: DT_QUINT8
   43602         type: DT_QINT32
   43603         type: DT_HALF
   43604       }
   43605     }
   43606   }
   43607   attr {
   43608     name: "Tindices"
   43609     type: "type"
   43610     allowed_values {
   43611       list {
   43612         type: DT_INT32
   43613         type: DT_INT64
   43614       }
   43615     }
   43616   }
   43617   attr {
   43618     name: "use_locking"
   43619     type: "bool"
   43620     default_value {
   43621       b: false
   43622     }
   43623   }
   43624   is_stateful: true
   43625 }
   43626 op {
   43627   name: "ResourceSparseApplyAdagradDA"
   43628   input_arg {
   43629     name: "var"
   43630     type: DT_RESOURCE
   43631   }
   43632   input_arg {
   43633     name: "gradient_accumulator"
   43634     type: DT_RESOURCE
   43635   }
   43636   input_arg {
   43637     name: "gradient_squared_accumulator"
   43638     type: DT_RESOURCE
   43639   }
   43640   input_arg {
   43641     name: "grad"
   43642     type_attr: "T"
   43643   }
   43644   input_arg {
   43645     name: "indices"
   43646     type_attr: "Tindices"
   43647   }
   43648   input_arg {
   43649     name: "lr"
   43650     type_attr: "T"
   43651   }
   43652   input_arg {
   43653     name: "l1"
   43654     type_attr: "T"
   43655   }
   43656   input_arg {
   43657     name: "l2"
   43658     type_attr: "T"
   43659   }
   43660   input_arg {
   43661     name: "global_step"
   43662     type: DT_INT64
   43663   }
   43664   attr {
   43665     name: "T"
   43666     type: "type"
   43667     allowed_values {
   43668       list {
   43669         type: DT_FLOAT
   43670         type: DT_DOUBLE
   43671         type: DT_INT64
   43672         type: DT_INT32
   43673         type: DT_UINT8
   43674         type: DT_UINT16
   43675         type: DT_INT16
   43676         type: DT_INT8
   43677         type: DT_COMPLEX64
   43678         type: DT_COMPLEX128
   43679         type: DT_QINT8
   43680         type: DT_QUINT8
   43681         type: DT_QINT32
   43682         type: DT_HALF
   43683         type: DT_UINT32
   43684         type: DT_UINT64
   43685       }
   43686     }
   43687   }
   43688   attr {
   43689     name: "Tindices"
   43690     type: "type"
   43691     allowed_values {
   43692       list {
   43693         type: DT_INT32
   43694         type: DT_INT64
   43695       }
   43696     }
   43697   }
   43698   attr {
   43699     name: "use_locking"
   43700     type: "bool"
   43701     default_value {
   43702       b: false
   43703     }
   43704   }
   43705   is_stateful: true
   43706 }
   43707 op {
   43708   name: "ResourceSparseApplyAdagradDA"
   43709   input_arg {
   43710     name: "var"
   43711     type: DT_RESOURCE
   43712   }
   43713   input_arg {
   43714     name: "gradient_accumulator"
   43715     type: DT_RESOURCE
   43716   }
   43717   input_arg {
   43718     name: "gradient_squared_accumulator"
   43719     type: DT_RESOURCE
   43720   }
   43721   input_arg {
   43722     name: "grad"
   43723     type_attr: "T"
   43724   }
   43725   input_arg {
   43726     name: "indices"
   43727     type_attr: "Tindices"
   43728   }
   43729   input_arg {
   43730     name: "lr"
   43731     type_attr: "T"
   43732   }
   43733   input_arg {
   43734     name: "l1"
   43735     type_attr: "T"
   43736   }
   43737   input_arg {
   43738     name: "l2"
   43739     type_attr: "T"
   43740   }
   43741   input_arg {
   43742     name: "global_step"
   43743     type: DT_INT64
   43744   }
   43745   attr {
   43746     name: "T"
   43747     type: "type"
   43748     allowed_values {
   43749       list {
   43750         type: DT_FLOAT
   43751         type: DT_DOUBLE
   43752         type: DT_INT64
   43753         type: DT_INT32
   43754         type: DT_UINT8
   43755         type: DT_UINT16
   43756         type: DT_INT16
   43757         type: DT_INT8
   43758         type: DT_COMPLEX64
   43759         type: DT_COMPLEX128
   43760         type: DT_QINT8
   43761         type: DT_QUINT8
   43762         type: DT_QINT32
   43763         type: DT_HALF
   43764         type: DT_UINT32
   43765         type: DT_UINT64
   43766         type: DT_BFLOAT16
   43767       }
   43768     }
   43769   }
   43770   attr {
   43771     name: "Tindices"
   43772     type: "type"
   43773     allowed_values {
   43774       list {
   43775         type: DT_INT32
   43776         type: DT_INT64
   43777       }
   43778     }
   43779   }
   43780   attr {
   43781     name: "use_locking"
   43782     type: "bool"
   43783     default_value {
   43784       b: false
   43785     }
   43786   }
   43787   is_stateful: true
   43788 }
   43789 op {
   43790   name: "ResourceSparseApplyAdagradDA"
   43791   input_arg {
   43792     name: "var"
   43793     type: DT_RESOURCE
   43794   }
   43795   input_arg {
   43796     name: "gradient_accumulator"
   43797     type: DT_RESOURCE
   43798   }
   43799   input_arg {
   43800     name: "gradient_squared_accumulator"
   43801     type: DT_RESOURCE
   43802   }
   43803   input_arg {
   43804     name: "grad"
   43805     type_attr: "T"
   43806   }
   43807   input_arg {
   43808     name: "indices"
   43809     type_attr: "Tindices"
   43810   }
   43811   input_arg {
   43812     name: "lr"
   43813     type_attr: "T"
   43814   }
   43815   input_arg {
   43816     name: "l1"
   43817     type_attr: "T"
   43818   }
   43819   input_arg {
   43820     name: "l2"
   43821     type_attr: "T"
   43822   }
   43823   input_arg {
   43824     name: "global_step"
   43825     type: DT_INT64
   43826   }
   43827   attr {
   43828     name: "T"
   43829     type: "type"
   43830     allowed_values {
   43831       list {
   43832         type: DT_FLOAT
   43833         type: DT_DOUBLE
   43834         type: DT_INT32
   43835         type: DT_UINT8
   43836         type: DT_INT16
   43837         type: DT_INT8
   43838         type: DT_COMPLEX64
   43839         type: DT_INT64
   43840         type: DT_QINT8
   43841         type: DT_QUINT8
   43842         type: DT_QINT32
   43843         type: DT_BFLOAT16
   43844         type: DT_UINT16
   43845         type: DT_COMPLEX128
   43846         type: DT_HALF
   43847         type: DT_UINT32
   43848         type: DT_UINT64
   43849       }
   43850     }
   43851   }
   43852   attr {
   43853     name: "Tindices"
   43854     type: "type"
   43855     allowed_values {
   43856       list {
   43857         type: DT_INT32
   43858         type: DT_INT64
   43859       }
   43860     }
   43861   }
   43862   attr {
   43863     name: "use_locking"
   43864     type: "bool"
   43865     default_value {
   43866       b: false
   43867     }
   43868   }
   43869   is_stateful: true
   43870 }
   43871 op {
   43872   name: "ResourceSparseApplyCenteredRMSProp"
   43873   input_arg {
   43874     name: "var"
   43875     type: DT_RESOURCE
   43876   }
   43877   input_arg {
   43878     name: "mg"
   43879     type: DT_RESOURCE
   43880   }
   43881   input_arg {
   43882     name: "ms"
   43883     type: DT_RESOURCE
   43884   }
   43885   input_arg {
   43886     name: "mom"
   43887     type: DT_RESOURCE
   43888   }
   43889   input_arg {
   43890     name: "lr"
   43891     type_attr: "T"
   43892   }
   43893   input_arg {
   43894     name: "rho"
   43895     type_attr: "T"
   43896   }
   43897   input_arg {
   43898     name: "momentum"
   43899     type_attr: "T"
   43900   }
   43901   input_arg {
   43902     name: "epsilon"
   43903     type_attr: "T"
   43904   }
   43905   input_arg {
   43906     name: "grad"
   43907     type_attr: "T"
   43908   }
   43909   input_arg {
   43910     name: "indices"
   43911     type_attr: "Tindices"
   43912   }
   43913   attr {
   43914     name: "T"
   43915     type: "type"
   43916     allowed_values {
   43917       list {
   43918         type: DT_FLOAT
   43919         type: DT_DOUBLE
   43920         type: DT_INT64
   43921         type: DT_INT32
   43922         type: DT_UINT8
   43923         type: DT_UINT16
   43924         type: DT_INT16
   43925         type: DT_INT8
   43926         type: DT_COMPLEX64
   43927         type: DT_COMPLEX128
   43928         type: DT_QINT8
   43929         type: DT_QUINT8
   43930         type: DT_QINT32
   43931         type: DT_HALF
   43932       }
   43933     }
   43934   }
   43935   attr {
   43936     name: "Tindices"
   43937     type: "type"
   43938     allowed_values {
   43939       list {
   43940         type: DT_INT32
   43941         type: DT_INT64
   43942       }
   43943     }
   43944   }
   43945   attr {
   43946     name: "use_locking"
   43947     type: "bool"
   43948     default_value {
   43949       b: false
   43950     }
   43951   }
   43952   is_stateful: true
   43953 }
   43954 op {
   43955   name: "ResourceSparseApplyCenteredRMSProp"
   43956   input_arg {
   43957     name: "var"
   43958     type: DT_RESOURCE
   43959   }
   43960   input_arg {
   43961     name: "mg"
   43962     type: DT_RESOURCE
   43963   }
   43964   input_arg {
   43965     name: "ms"
   43966     type: DT_RESOURCE
   43967   }
   43968   input_arg {
   43969     name: "mom"
   43970     type: DT_RESOURCE
   43971   }
   43972   input_arg {
   43973     name: "lr"
   43974     type_attr: "T"
   43975   }
   43976   input_arg {
   43977     name: "rho"
   43978     type_attr: "T"
   43979   }
   43980   input_arg {
   43981     name: "momentum"
   43982     type_attr: "T"
   43983   }
   43984   input_arg {
   43985     name: "epsilon"
   43986     type_attr: "T"
   43987   }
   43988   input_arg {
   43989     name: "grad"
   43990     type_attr: "T"
   43991   }
   43992   input_arg {
   43993     name: "indices"
   43994     type_attr: "Tindices"
   43995   }
   43996   attr {
   43997     name: "T"
   43998     type: "type"
   43999     allowed_values {
   44000       list {
   44001         type: DT_FLOAT
   44002         type: DT_DOUBLE
   44003         type: DT_INT64
   44004         type: DT_INT32
   44005         type: DT_UINT8
   44006         type: DT_UINT16
   44007         type: DT_INT16
   44008         type: DT_INT8
   44009         type: DT_COMPLEX64
   44010         type: DT_COMPLEX128
   44011         type: DT_QINT8
   44012         type: DT_QUINT8
   44013         type: DT_QINT32
   44014         type: DT_HALF
   44015         type: DT_UINT32
   44016         type: DT_UINT64
   44017       }
   44018     }
   44019   }
   44020   attr {
   44021     name: "Tindices"
   44022     type: "type"
   44023     allowed_values {
   44024       list {
   44025         type: DT_INT32
   44026         type: DT_INT64
   44027       }
   44028     }
   44029   }
   44030   attr {
   44031     name: "use_locking"
   44032     type: "bool"
   44033     default_value {
   44034       b: false
   44035     }
   44036   }
   44037   is_stateful: true
   44038 }
   44039 op {
   44040   name: "ResourceSparseApplyCenteredRMSProp"
   44041   input_arg {
   44042     name: "var"
   44043     type: DT_RESOURCE
   44044   }
   44045   input_arg {
   44046     name: "mg"
   44047     type: DT_RESOURCE
   44048   }
   44049   input_arg {
   44050     name: "ms"
   44051     type: DT_RESOURCE
   44052   }
   44053   input_arg {
   44054     name: "mom"
   44055     type: DT_RESOURCE
   44056   }
   44057   input_arg {
   44058     name: "lr"
   44059     type_attr: "T"
   44060   }
   44061   input_arg {
   44062     name: "rho"
   44063     type_attr: "T"
   44064   }
   44065   input_arg {
   44066     name: "momentum"
   44067     type_attr: "T"
   44068   }
   44069   input_arg {
   44070     name: "epsilon"
   44071     type_attr: "T"
   44072   }
   44073   input_arg {
   44074     name: "grad"
   44075     type_attr: "T"
   44076   }
   44077   input_arg {
   44078     name: "indices"
   44079     type_attr: "Tindices"
   44080   }
   44081   attr {
   44082     name: "T"
   44083     type: "type"
   44084     allowed_values {
   44085       list {
   44086         type: DT_FLOAT
   44087         type: DT_DOUBLE
   44088         type: DT_INT64
   44089         type: DT_INT32
   44090         type: DT_UINT8
   44091         type: DT_UINT16
   44092         type: DT_INT16
   44093         type: DT_INT8
   44094         type: DT_COMPLEX64
   44095         type: DT_COMPLEX128
   44096         type: DT_QINT8
   44097         type: DT_QUINT8
   44098         type: DT_QINT32
   44099         type: DT_HALF
   44100         type: DT_UINT32
   44101         type: DT_UINT64
   44102         type: DT_BFLOAT16
   44103       }
   44104     }
   44105   }
   44106   attr {
   44107     name: "Tindices"
   44108     type: "type"
   44109     allowed_values {
   44110       list {
   44111         type: DT_INT32
   44112         type: DT_INT64
   44113       }
   44114     }
   44115   }
   44116   attr {
   44117     name: "use_locking"
   44118     type: "bool"
   44119     default_value {
   44120       b: false
   44121     }
   44122   }
   44123   is_stateful: true
   44124 }
   44125 op {
   44126   name: "ResourceSparseApplyCenteredRMSProp"
   44127   input_arg {
   44128     name: "var"
   44129     type: DT_RESOURCE
   44130   }
   44131   input_arg {
   44132     name: "mg"
   44133     type: DT_RESOURCE
   44134   }
   44135   input_arg {
   44136     name: "ms"
   44137     type: DT_RESOURCE
   44138   }
   44139   input_arg {
   44140     name: "mom"
   44141     type: DT_RESOURCE
   44142   }
   44143   input_arg {
   44144     name: "lr"
   44145     type_attr: "T"
   44146   }
   44147   input_arg {
   44148     name: "rho"
   44149     type_attr: "T"
   44150   }
   44151   input_arg {
   44152     name: "momentum"
   44153     type_attr: "T"
   44154   }
   44155   input_arg {
   44156     name: "epsilon"
   44157     type_attr: "T"
   44158   }
   44159   input_arg {
   44160     name: "grad"
   44161     type_attr: "T"
   44162   }
   44163   input_arg {
   44164     name: "indices"
   44165     type_attr: "Tindices"
   44166   }
   44167   attr {
   44168     name: "T"
   44169     type: "type"
   44170     allowed_values {
   44171       list {
   44172         type: DT_FLOAT
   44173         type: DT_DOUBLE
   44174         type: DT_INT32
   44175         type: DT_UINT8
   44176         type: DT_INT16
   44177         type: DT_INT8
   44178         type: DT_COMPLEX64
   44179         type: DT_INT64
   44180         type: DT_QINT8
   44181         type: DT_QUINT8
   44182         type: DT_QINT32
   44183         type: DT_BFLOAT16
   44184         type: DT_UINT16
   44185         type: DT_COMPLEX128
   44186         type: DT_HALF
   44187         type: DT_UINT32
   44188         type: DT_UINT64
   44189       }
   44190     }
   44191   }
   44192   attr {
   44193     name: "Tindices"
   44194     type: "type"
   44195     allowed_values {
   44196       list {
   44197         type: DT_INT32
   44198         type: DT_INT64
   44199       }
   44200     }
   44201   }
   44202   attr {
   44203     name: "use_locking"
   44204     type: "bool"
   44205     default_value {
   44206       b: false
   44207     }
   44208   }
   44209   is_stateful: true
   44210 }
   44211 op {
   44212   name: "ResourceSparseApplyFtrl"
   44213   input_arg {
   44214     name: "var"
   44215     type: DT_RESOURCE
   44216   }
   44217   input_arg {
   44218     name: "accum"
   44219     type: DT_RESOURCE
   44220   }
   44221   input_arg {
   44222     name: "linear"
   44223     type: DT_RESOURCE
   44224   }
   44225   input_arg {
   44226     name: "grad"
   44227     type_attr: "T"
   44228   }
   44229   input_arg {
   44230     name: "indices"
   44231     type_attr: "Tindices"
   44232   }
   44233   input_arg {
   44234     name: "lr"
   44235     type_attr: "T"
   44236   }
   44237   input_arg {
   44238     name: "l1"
   44239     type_attr: "T"
   44240   }
   44241   input_arg {
   44242     name: "l2"
   44243     type_attr: "T"
   44244   }
   44245   input_arg {
   44246     name: "lr_power"
   44247     type_attr: "T"
   44248   }
   44249   attr {
   44250     name: "T"
   44251     type: "type"
   44252     allowed_values {
   44253       list {
   44254         type: DT_FLOAT
   44255         type: DT_DOUBLE
   44256         type: DT_INT64
   44257         type: DT_INT32
   44258         type: DT_UINT8
   44259         type: DT_UINT16
   44260         type: DT_INT16
   44261         type: DT_INT8
   44262         type: DT_COMPLEX64
   44263         type: DT_COMPLEX128
   44264         type: DT_QINT8
   44265         type: DT_QUINT8
   44266         type: DT_QINT32
   44267         type: DT_HALF
   44268       }
   44269     }
   44270   }
   44271   attr {
   44272     name: "Tindices"
   44273     type: "type"
   44274     allowed_values {
   44275       list {
   44276         type: DT_INT32
   44277         type: DT_INT64
   44278       }
   44279     }
   44280   }
   44281   attr {
   44282     name: "use_locking"
   44283     type: "bool"
   44284     default_value {
   44285       b: false
   44286     }
   44287   }
   44288   is_stateful: true
   44289 }
   44290 op {
   44291   name: "ResourceSparseApplyFtrl"
   44292   input_arg {
   44293     name: "var"
   44294     type: DT_RESOURCE
   44295   }
   44296   input_arg {
   44297     name: "accum"
   44298     type: DT_RESOURCE
   44299   }
   44300   input_arg {
   44301     name: "linear"
   44302     type: DT_RESOURCE
   44303   }
   44304   input_arg {
   44305     name: "grad"
   44306     type_attr: "T"
   44307   }
   44308   input_arg {
   44309     name: "indices"
   44310     type_attr: "Tindices"
   44311   }
   44312   input_arg {
   44313     name: "lr"
   44314     type_attr: "T"
   44315   }
   44316   input_arg {
   44317     name: "l1"
   44318     type_attr: "T"
   44319   }
   44320   input_arg {
   44321     name: "l2"
   44322     type_attr: "T"
   44323   }
   44324   input_arg {
   44325     name: "lr_power"
   44326     type_attr: "T"
   44327   }
   44328   attr {
   44329     name: "T"
   44330     type: "type"
   44331     allowed_values {
   44332       list {
   44333         type: DT_FLOAT
   44334         type: DT_DOUBLE
   44335         type: DT_INT64
   44336         type: DT_INT32
   44337         type: DT_UINT8
   44338         type: DT_UINT16
   44339         type: DT_INT16
   44340         type: DT_INT8
   44341         type: DT_COMPLEX64
   44342         type: DT_COMPLEX128
   44343         type: DT_QINT8
   44344         type: DT_QUINT8
   44345         type: DT_QINT32
   44346         type: DT_HALF
   44347         type: DT_UINT32
   44348         type: DT_UINT64
   44349       }
   44350     }
   44351   }
   44352   attr {
   44353     name: "Tindices"
   44354     type: "type"
   44355     allowed_values {
   44356       list {
   44357         type: DT_INT32
   44358         type: DT_INT64
   44359       }
   44360     }
   44361   }
   44362   attr {
   44363     name: "use_locking"
   44364     type: "bool"
   44365     default_value {
   44366       b: false
   44367     }
   44368   }
   44369   is_stateful: true
   44370 }
   44371 op {
   44372   name: "ResourceSparseApplyFtrl"
   44373   input_arg {
   44374     name: "var"
   44375     type: DT_RESOURCE
   44376   }
   44377   input_arg {
   44378     name: "accum"
   44379     type: DT_RESOURCE
   44380   }
   44381   input_arg {
   44382     name: "linear"
   44383     type: DT_RESOURCE
   44384   }
   44385   input_arg {
   44386     name: "grad"
   44387     type_attr: "T"
   44388   }
   44389   input_arg {
   44390     name: "indices"
   44391     type_attr: "Tindices"
   44392   }
   44393   input_arg {
   44394     name: "lr"
   44395     type_attr: "T"
   44396   }
   44397   input_arg {
   44398     name: "l1"
   44399     type_attr: "T"
   44400   }
   44401   input_arg {
   44402     name: "l2"
   44403     type_attr: "T"
   44404   }
   44405   input_arg {
   44406     name: "lr_power"
   44407     type_attr: "T"
   44408   }
   44409   attr {
   44410     name: "T"
   44411     type: "type"
   44412     allowed_values {
   44413       list {
   44414         type: DT_FLOAT
   44415         type: DT_DOUBLE
   44416         type: DT_INT64
   44417         type: DT_INT32
   44418         type: DT_UINT8
   44419         type: DT_UINT16
   44420         type: DT_INT16
   44421         type: DT_INT8
   44422         type: DT_COMPLEX64
   44423         type: DT_COMPLEX128
   44424         type: DT_QINT8
   44425         type: DT_QUINT8
   44426         type: DT_QINT32
   44427         type: DT_HALF
   44428         type: DT_UINT32
   44429         type: DT_UINT64
   44430         type: DT_BFLOAT16
   44431       }
   44432     }
   44433   }
   44434   attr {
   44435     name: "Tindices"
   44436     type: "type"
   44437     allowed_values {
   44438       list {
   44439         type: DT_INT32
   44440         type: DT_INT64
   44441       }
   44442     }
   44443   }
   44444   attr {
   44445     name: "use_locking"
   44446     type: "bool"
   44447     default_value {
   44448       b: false
   44449     }
   44450   }
   44451   is_stateful: true
   44452 }
   44453 op {
   44454   name: "ResourceSparseApplyFtrl"
   44455   input_arg {
   44456     name: "var"
   44457     type: DT_RESOURCE
   44458   }
   44459   input_arg {
   44460     name: "accum"
   44461     type: DT_RESOURCE
   44462   }
   44463   input_arg {
   44464     name: "linear"
   44465     type: DT_RESOURCE
   44466   }
   44467   input_arg {
   44468     name: "grad"
   44469     type_attr: "T"
   44470   }
   44471   input_arg {
   44472     name: "indices"
   44473     type_attr: "Tindices"
   44474   }
   44475   input_arg {
   44476     name: "lr"
   44477     type_attr: "T"
   44478   }
   44479   input_arg {
   44480     name: "l1"
   44481     type_attr: "T"
   44482   }
   44483   input_arg {
   44484     name: "l2"
   44485     type_attr: "T"
   44486   }
   44487   input_arg {
   44488     name: "lr_power"
   44489     type_attr: "T"
   44490   }
   44491   attr {
   44492     name: "T"
   44493     type: "type"
   44494     allowed_values {
   44495       list {
   44496         type: DT_FLOAT
   44497         type: DT_DOUBLE
   44498         type: DT_INT32
   44499         type: DT_UINT8
   44500         type: DT_INT16
   44501         type: DT_INT8
   44502         type: DT_COMPLEX64
   44503         type: DT_INT64
   44504         type: DT_QINT8
   44505         type: DT_QUINT8
   44506         type: DT_QINT32
   44507         type: DT_BFLOAT16
   44508         type: DT_UINT16
   44509         type: DT_COMPLEX128
   44510         type: DT_HALF
   44511         type: DT_UINT32
   44512         type: DT_UINT64
   44513       }
   44514     }
   44515   }
   44516   attr {
   44517     name: "Tindices"
   44518     type: "type"
   44519     allowed_values {
   44520       list {
   44521         type: DT_INT32
   44522         type: DT_INT64
   44523       }
   44524     }
   44525   }
   44526   attr {
   44527     name: "use_locking"
   44528     type: "bool"
   44529     default_value {
   44530       b: false
   44531     }
   44532   }
   44533   is_stateful: true
   44534 }
   44535 op {
   44536   name: "ResourceSparseApplyFtrlV2"
   44537   input_arg {
   44538     name: "var"
   44539     type: DT_RESOURCE
   44540   }
   44541   input_arg {
   44542     name: "accum"
   44543     type: DT_RESOURCE
   44544   }
   44545   input_arg {
   44546     name: "linear"
   44547     type: DT_RESOURCE
   44548   }
   44549   input_arg {
   44550     name: "grad"
   44551     type_attr: "T"
   44552   }
   44553   input_arg {
   44554     name: "indices"
   44555     type_attr: "Tindices"
   44556   }
   44557   input_arg {
   44558     name: "lr"
   44559     type_attr: "T"
   44560   }
   44561   input_arg {
   44562     name: "l1"
   44563     type_attr: "T"
   44564   }
   44565   input_arg {
   44566     name: "l2"
   44567     type_attr: "T"
   44568   }
   44569   input_arg {
   44570     name: "l2_shrinkage"
   44571     type_attr: "T"
   44572   }
   44573   input_arg {
   44574     name: "lr_power"
   44575     type_attr: "T"
   44576   }
   44577   attr {
   44578     name: "T"
   44579     type: "type"
   44580     allowed_values {
   44581       list {
   44582         type: DT_FLOAT
   44583         type: DT_DOUBLE
   44584         type: DT_INT64
   44585         type: DT_INT32
   44586         type: DT_UINT8
   44587         type: DT_UINT16
   44588         type: DT_INT16
   44589         type: DT_INT8
   44590         type: DT_COMPLEX64
   44591         type: DT_COMPLEX128
   44592         type: DT_QINT8
   44593         type: DT_QUINT8
   44594         type: DT_QINT32
   44595         type: DT_HALF
   44596       }
   44597     }
   44598   }
   44599   attr {
   44600     name: "Tindices"
   44601     type: "type"
   44602     allowed_values {
   44603       list {
   44604         type: DT_INT32
   44605         type: DT_INT64
   44606       }
   44607     }
   44608   }
   44609   attr {
   44610     name: "use_locking"
   44611     type: "bool"
   44612     default_value {
   44613       b: false
   44614     }
   44615   }
   44616   is_stateful: true
   44617 }
   44618 op {
   44619   name: "ResourceSparseApplyFtrlV2"
   44620   input_arg {
   44621     name: "var"
   44622     type: DT_RESOURCE
   44623   }
   44624   input_arg {
   44625     name: "accum"
   44626     type: DT_RESOURCE
   44627   }
   44628   input_arg {
   44629     name: "linear"
   44630     type: DT_RESOURCE
   44631   }
   44632   input_arg {
   44633     name: "grad"
   44634     type_attr: "T"
   44635   }
   44636   input_arg {
   44637     name: "indices"
   44638     type_attr: "Tindices"
   44639   }
   44640   input_arg {
   44641     name: "lr"
   44642     type_attr: "T"
   44643   }
   44644   input_arg {
   44645     name: "l1"
   44646     type_attr: "T"
   44647   }
   44648   input_arg {
   44649     name: "l2"
   44650     type_attr: "T"
   44651   }
   44652   input_arg {
   44653     name: "l2_shrinkage"
   44654     type_attr: "T"
   44655   }
   44656   input_arg {
   44657     name: "lr_power"
   44658     type_attr: "T"
   44659   }
   44660   attr {
   44661     name: "T"
   44662     type: "type"
   44663     allowed_values {
   44664       list {
   44665         type: DT_FLOAT
   44666         type: DT_DOUBLE
   44667         type: DT_INT64
   44668         type: DT_INT32
   44669         type: DT_UINT8
   44670         type: DT_UINT16
   44671         type: DT_INT16
   44672         type: DT_INT8
   44673         type: DT_COMPLEX64
   44674         type: DT_COMPLEX128
   44675         type: DT_QINT8
   44676         type: DT_QUINT8
   44677         type: DT_QINT32
   44678         type: DT_HALF
   44679         type: DT_UINT32
   44680         type: DT_UINT64
   44681       }
   44682     }
   44683   }
   44684   attr {
   44685     name: "Tindices"
   44686     type: "type"
   44687     allowed_values {
   44688       list {
   44689         type: DT_INT32
   44690         type: DT_INT64
   44691       }
   44692     }
   44693   }
   44694   attr {
   44695     name: "use_locking"
   44696     type: "bool"
   44697     default_value {
   44698       b: false
   44699     }
   44700   }
   44701   is_stateful: true
   44702 }
   44703 op {
   44704   name: "ResourceSparseApplyFtrlV2"
   44705   input_arg {
   44706     name: "var"
   44707     type: DT_RESOURCE
   44708   }
   44709   input_arg {
   44710     name: "accum"
   44711     type: DT_RESOURCE
   44712   }
   44713   input_arg {
   44714     name: "linear"
   44715     type: DT_RESOURCE
   44716   }
   44717   input_arg {
   44718     name: "grad"
   44719     type_attr: "T"
   44720   }
   44721   input_arg {
   44722     name: "indices"
   44723     type_attr: "Tindices"
   44724   }
   44725   input_arg {
   44726     name: "lr"
   44727     type_attr: "T"
   44728   }
   44729   input_arg {
   44730     name: "l1"
   44731     type_attr: "T"
   44732   }
   44733   input_arg {
   44734     name: "l2"
   44735     type_attr: "T"
   44736   }
   44737   input_arg {
   44738     name: "l2_shrinkage"
   44739     type_attr: "T"
   44740   }
   44741   input_arg {
   44742     name: "lr_power"
   44743     type_attr: "T"
   44744   }
   44745   attr {
   44746     name: "T"
   44747     type: "type"
   44748     allowed_values {
   44749       list {
   44750         type: DT_FLOAT
   44751         type: DT_DOUBLE
   44752         type: DT_INT64
   44753         type: DT_INT32
   44754         type: DT_UINT8
   44755         type: DT_UINT16
   44756         type: DT_INT16
   44757         type: DT_INT8
   44758         type: DT_COMPLEX64
   44759         type: DT_COMPLEX128
   44760         type: DT_QINT8
   44761         type: DT_QUINT8
   44762         type: DT_QINT32
   44763         type: DT_HALF
   44764         type: DT_UINT32
   44765         type: DT_UINT64
   44766         type: DT_BFLOAT16
   44767       }
   44768     }
   44769   }
   44770   attr {
   44771     name: "Tindices"
   44772     type: "type"
   44773     allowed_values {
   44774       list {
   44775         type: DT_INT32
   44776         type: DT_INT64
   44777       }
   44778     }
   44779   }
   44780   attr {
   44781     name: "use_locking"
   44782     type: "bool"
   44783     default_value {
   44784       b: false
   44785     }
   44786   }
   44787   is_stateful: true
   44788 }
   44789 op {
   44790   name: "ResourceSparseApplyFtrlV2"
   44791   input_arg {
   44792     name: "var"
   44793     type: DT_RESOURCE
   44794   }
   44795   input_arg {
   44796     name: "accum"
   44797     type: DT_RESOURCE
   44798   }
   44799   input_arg {
   44800     name: "linear"
   44801     type: DT_RESOURCE
   44802   }
   44803   input_arg {
   44804     name: "grad"
   44805     type_attr: "T"
   44806   }
   44807   input_arg {
   44808     name: "indices"
   44809     type_attr: "Tindices"
   44810   }
   44811   input_arg {
   44812     name: "lr"
   44813     type_attr: "T"
   44814   }
   44815   input_arg {
   44816     name: "l1"
   44817     type_attr: "T"
   44818   }
   44819   input_arg {
   44820     name: "l2"
   44821     type_attr: "T"
   44822   }
   44823   input_arg {
   44824     name: "l2_shrinkage"
   44825     type_attr: "T"
   44826   }
   44827   input_arg {
   44828     name: "lr_power"
   44829     type_attr: "T"
   44830   }
   44831   attr {
   44832     name: "T"
   44833     type: "type"
   44834     allowed_values {
   44835       list {
   44836         type: DT_FLOAT
   44837         type: DT_DOUBLE
   44838         type: DT_INT32
   44839         type: DT_UINT8
   44840         type: DT_INT16
   44841         type: DT_INT8
   44842         type: DT_COMPLEX64
   44843         type: DT_INT64
   44844         type: DT_QINT8
   44845         type: DT_QUINT8
   44846         type: DT_QINT32
   44847         type: DT_BFLOAT16
   44848         type: DT_UINT16
   44849         type: DT_COMPLEX128
   44850         type: DT_HALF
   44851         type: DT_UINT32
   44852         type: DT_UINT64
   44853       }
   44854     }
   44855   }
   44856   attr {
   44857     name: "Tindices"
   44858     type: "type"
   44859     allowed_values {
   44860       list {
   44861         type: DT_INT32
   44862         type: DT_INT64
   44863       }
   44864     }
   44865   }
   44866   attr {
   44867     name: "use_locking"
   44868     type: "bool"
   44869     default_value {
   44870       b: false
   44871     }
   44872   }
   44873   is_stateful: true
   44874 }
   44875 op {
   44876   name: "ResourceSparseApplyMomentum"
   44877   input_arg {
   44878     name: "var"
   44879     type: DT_RESOURCE
   44880   }
   44881   input_arg {
   44882     name: "accum"
   44883     type: DT_RESOURCE
   44884   }
   44885   input_arg {
   44886     name: "lr"
   44887     type_attr: "T"
   44888   }
   44889   input_arg {
   44890     name: "grad"
   44891     type_attr: "T"
   44892   }
   44893   input_arg {
   44894     name: "indices"
   44895     type_attr: "Tindices"
   44896   }
   44897   input_arg {
   44898     name: "momentum"
   44899     type_attr: "T"
   44900   }
   44901   attr {
   44902     name: "T"
   44903     type: "type"
   44904     allowed_values {
   44905       list {
   44906         type: DT_FLOAT
   44907         type: DT_DOUBLE
   44908         type: DT_INT64
   44909         type: DT_INT32
   44910         type: DT_UINT8
   44911         type: DT_UINT16
   44912         type: DT_INT16
   44913         type: DT_INT8
   44914         type: DT_COMPLEX64
   44915         type: DT_COMPLEX128
   44916         type: DT_QINT8
   44917         type: DT_QUINT8
   44918         type: DT_QINT32
   44919         type: DT_HALF
   44920       }
   44921     }
   44922   }
   44923   attr {
   44924     name: "Tindices"
   44925     type: "type"
   44926     allowed_values {
   44927       list {
   44928         type: DT_INT32
   44929         type: DT_INT64
   44930       }
   44931     }
   44932   }
   44933   attr {
   44934     name: "use_locking"
   44935     type: "bool"
   44936     default_value {
   44937       b: false
   44938     }
   44939   }
   44940   attr {
   44941     name: "use_nesterov"
   44942     type: "bool"
   44943     default_value {
   44944       b: false
   44945     }
   44946   }
   44947   is_stateful: true
   44948 }
   44949 op {
   44950   name: "ResourceSparseApplyMomentum"
   44951   input_arg {
   44952     name: "var"
   44953     type: DT_RESOURCE
   44954   }
   44955   input_arg {
   44956     name: "accum"
   44957     type: DT_RESOURCE
   44958   }
   44959   input_arg {
   44960     name: "lr"
   44961     type_attr: "T"
   44962   }
   44963   input_arg {
   44964     name: "grad"
   44965     type_attr: "T"
   44966   }
   44967   input_arg {
   44968     name: "indices"
   44969     type_attr: "Tindices"
   44970   }
   44971   input_arg {
   44972     name: "momentum"
   44973     type_attr: "T"
   44974   }
   44975   attr {
   44976     name: "T"
   44977     type: "type"
   44978     allowed_values {
   44979       list {
   44980         type: DT_FLOAT
   44981         type: DT_DOUBLE
   44982         type: DT_INT64
   44983         type: DT_INT32
   44984         type: DT_UINT8
   44985         type: DT_UINT16
   44986         type: DT_INT16
   44987         type: DT_INT8
   44988         type: DT_COMPLEX64
   44989         type: DT_COMPLEX128
   44990         type: DT_QINT8
   44991         type: DT_QUINT8
   44992         type: DT_QINT32
   44993         type: DT_HALF
   44994         type: DT_UINT32
   44995         type: DT_UINT64
   44996       }
   44997     }
   44998   }
   44999   attr {
   45000     name: "Tindices"
   45001     type: "type"
   45002     allowed_values {
   45003       list {
   45004         type: DT_INT32
   45005         type: DT_INT64
   45006       }
   45007     }
   45008   }
   45009   attr {
   45010     name: "use_locking"
   45011     type: "bool"
   45012     default_value {
   45013       b: false
   45014     }
   45015   }
   45016   attr {
   45017     name: "use_nesterov"
   45018     type: "bool"
   45019     default_value {
   45020       b: false
   45021     }
   45022   }
   45023   is_stateful: true
   45024 }
   45025 op {
   45026   name: "ResourceSparseApplyMomentum"
   45027   input_arg {
   45028     name: "var"
   45029     type: DT_RESOURCE
   45030   }
   45031   input_arg {
   45032     name: "accum"
   45033     type: DT_RESOURCE
   45034   }
   45035   input_arg {
   45036     name: "lr"
   45037     type_attr: "T"
   45038   }
   45039   input_arg {
   45040     name: "grad"
   45041     type_attr: "T"
   45042   }
   45043   input_arg {
   45044     name: "indices"
   45045     type_attr: "Tindices"
   45046   }
   45047   input_arg {
   45048     name: "momentum"
   45049     type_attr: "T"
   45050   }
   45051   attr {
   45052     name: "T"
   45053     type: "type"
   45054     allowed_values {
   45055       list {
   45056         type: DT_FLOAT
   45057         type: DT_DOUBLE
   45058         type: DT_INT64
   45059         type: DT_INT32
   45060         type: DT_UINT8
   45061         type: DT_UINT16
   45062         type: DT_INT16
   45063         type: DT_INT8
   45064         type: DT_COMPLEX64
   45065         type: DT_COMPLEX128
   45066         type: DT_QINT8
   45067         type: DT_QUINT8
   45068         type: DT_QINT32
   45069         type: DT_HALF
   45070         type: DT_UINT32
   45071         type: DT_UINT64
   45072         type: DT_BFLOAT16
   45073       }
   45074     }
   45075   }
   45076   attr {
   45077     name: "Tindices"
   45078     type: "type"
   45079     allowed_values {
   45080       list {
   45081         type: DT_INT32
   45082         type: DT_INT64
   45083       }
   45084     }
   45085   }
   45086   attr {
   45087     name: "use_locking"
   45088     type: "bool"
   45089     default_value {
   45090       b: false
   45091     }
   45092   }
   45093   attr {
   45094     name: "use_nesterov"
   45095     type: "bool"
   45096     default_value {
   45097       b: false
   45098     }
   45099   }
   45100   is_stateful: true
   45101 }
   45102 op {
   45103   name: "ResourceSparseApplyMomentum"
   45104   input_arg {
   45105     name: "var"
   45106     type: DT_RESOURCE
   45107   }
   45108   input_arg {
   45109     name: "accum"
   45110     type: DT_RESOURCE
   45111   }
   45112   input_arg {
   45113     name: "lr"
   45114     type_attr: "T"
   45115   }
   45116   input_arg {
   45117     name: "grad"
   45118     type_attr: "T"
   45119   }
   45120   input_arg {
   45121     name: "indices"
   45122     type_attr: "Tindices"
   45123   }
   45124   input_arg {
   45125     name: "momentum"
   45126     type_attr: "T"
   45127   }
   45128   attr {
   45129     name: "T"
   45130     type: "type"
   45131     allowed_values {
   45132       list {
   45133         type: DT_FLOAT
   45134         type: DT_DOUBLE
   45135         type: DT_INT32
   45136         type: DT_UINT8
   45137         type: DT_INT16
   45138         type: DT_INT8
   45139         type: DT_COMPLEX64
   45140         type: DT_INT64
   45141         type: DT_QINT8
   45142         type: DT_QUINT8
   45143         type: DT_QINT32
   45144         type: DT_BFLOAT16
   45145         type: DT_UINT16
   45146         type: DT_COMPLEX128
   45147         type: DT_HALF
   45148         type: DT_UINT32
   45149         type: DT_UINT64
   45150       }
   45151     }
   45152   }
   45153   attr {
   45154     name: "Tindices"
   45155     type: "type"
   45156     allowed_values {
   45157       list {
   45158         type: DT_INT32
   45159         type: DT_INT64
   45160       }
   45161     }
   45162   }
   45163   attr {
   45164     name: "use_locking"
   45165     type: "bool"
   45166     default_value {
   45167       b: false
   45168     }
   45169   }
   45170   attr {
   45171     name: "use_nesterov"
   45172     type: "bool"
   45173     default_value {
   45174       b: false
   45175     }
   45176   }
   45177   is_stateful: true
   45178 }
   45179 op {
   45180   name: "ResourceSparseApplyProximalAdagrad"
   45181   input_arg {
   45182     name: "var"
   45183     type: DT_RESOURCE
   45184   }
   45185   input_arg {
   45186     name: "accum"
   45187     type: DT_RESOURCE
   45188   }
   45189   input_arg {
   45190     name: "lr"
   45191     type_attr: "T"
   45192   }
   45193   input_arg {
   45194     name: "l1"
   45195     type_attr: "T"
   45196   }
   45197   input_arg {
   45198     name: "l2"
   45199     type_attr: "T"
   45200   }
   45201   input_arg {
   45202     name: "grad"
   45203     type_attr: "T"
   45204   }
   45205   input_arg {
   45206     name: "indices"
   45207     type_attr: "Tindices"
   45208   }
   45209   attr {
   45210     name: "T"
   45211     type: "type"
   45212     allowed_values {
   45213       list {
   45214         type: DT_FLOAT
   45215         type: DT_DOUBLE
   45216         type: DT_INT64
   45217         type: DT_INT32
   45218         type: DT_UINT8
   45219         type: DT_UINT16
   45220         type: DT_INT16
   45221         type: DT_INT8
   45222         type: DT_COMPLEX64
   45223         type: DT_COMPLEX128
   45224         type: DT_QINT8
   45225         type: DT_QUINT8
   45226         type: DT_QINT32
   45227         type: DT_HALF
   45228       }
   45229     }
   45230   }
   45231   attr {
   45232     name: "Tindices"
   45233     type: "type"
   45234     allowed_values {
   45235       list {
   45236         type: DT_INT32
   45237         type: DT_INT64
   45238       }
   45239     }
   45240   }
   45241   attr {
   45242     name: "use_locking"
   45243     type: "bool"
   45244     default_value {
   45245       b: false
   45246     }
   45247   }
   45248   is_stateful: true
   45249 }
   45250 op {
   45251   name: "ResourceSparseApplyProximalAdagrad"
   45252   input_arg {
   45253     name: "var"
   45254     type: DT_RESOURCE
   45255   }
   45256   input_arg {
   45257     name: "accum"
   45258     type: DT_RESOURCE
   45259   }
   45260   input_arg {
   45261     name: "lr"
   45262     type_attr: "T"
   45263   }
   45264   input_arg {
   45265     name: "l1"
   45266     type_attr: "T"
   45267   }
   45268   input_arg {
   45269     name: "l2"
   45270     type_attr: "T"
   45271   }
   45272   input_arg {
   45273     name: "grad"
   45274     type_attr: "T"
   45275   }
   45276   input_arg {
   45277     name: "indices"
   45278     type_attr: "Tindices"
   45279   }
   45280   attr {
   45281     name: "T"
   45282     type: "type"
   45283     allowed_values {
   45284       list {
   45285         type: DT_FLOAT
   45286         type: DT_DOUBLE
   45287         type: DT_INT64
   45288         type: DT_INT32
   45289         type: DT_UINT8
   45290         type: DT_UINT16
   45291         type: DT_INT16
   45292         type: DT_INT8
   45293         type: DT_COMPLEX64
   45294         type: DT_COMPLEX128
   45295         type: DT_QINT8
   45296         type: DT_QUINT8
   45297         type: DT_QINT32
   45298         type: DT_HALF
   45299         type: DT_UINT32
   45300         type: DT_UINT64
   45301       }
   45302     }
   45303   }
   45304   attr {
   45305     name: "Tindices"
   45306     type: "type"
   45307     allowed_values {
   45308       list {
   45309         type: DT_INT32
   45310         type: DT_INT64
   45311       }
   45312     }
   45313   }
   45314   attr {
   45315     name: "use_locking"
   45316     type: "bool"
   45317     default_value {
   45318       b: false
   45319     }
   45320   }
   45321   is_stateful: true
   45322 }
   45323 op {
   45324   name: "ResourceSparseApplyProximalAdagrad"
   45325   input_arg {
   45326     name: "var"
   45327     type: DT_RESOURCE
   45328   }
   45329   input_arg {
   45330     name: "accum"
   45331     type: DT_RESOURCE
   45332   }
   45333   input_arg {
   45334     name: "lr"
   45335     type_attr: "T"
   45336   }
   45337   input_arg {
   45338     name: "l1"
   45339     type_attr: "T"
   45340   }
   45341   input_arg {
   45342     name: "l2"
   45343     type_attr: "T"
   45344   }
   45345   input_arg {
   45346     name: "grad"
   45347     type_attr: "T"
   45348   }
   45349   input_arg {
   45350     name: "indices"
   45351     type_attr: "Tindices"
   45352   }
   45353   attr {
   45354     name: "T"
   45355     type: "type"
   45356     allowed_values {
   45357       list {
   45358         type: DT_FLOAT
   45359         type: DT_DOUBLE
   45360         type: DT_INT64
   45361         type: DT_INT32
   45362         type: DT_UINT8
   45363         type: DT_UINT16
   45364         type: DT_INT16
   45365         type: DT_INT8
   45366         type: DT_COMPLEX64
   45367         type: DT_COMPLEX128
   45368         type: DT_QINT8
   45369         type: DT_QUINT8
   45370         type: DT_QINT32
   45371         type: DT_HALF
   45372         type: DT_UINT32
   45373         type: DT_UINT64
   45374         type: DT_BFLOAT16
   45375       }
   45376     }
   45377   }
   45378   attr {
   45379     name: "Tindices"
   45380     type: "type"
   45381     allowed_values {
   45382       list {
   45383         type: DT_INT32
   45384         type: DT_INT64
   45385       }
   45386     }
   45387   }
   45388   attr {
   45389     name: "use_locking"
   45390     type: "bool"
   45391     default_value {
   45392       b: false
   45393     }
   45394   }
   45395   is_stateful: true
   45396 }
   45397 op {
   45398   name: "ResourceSparseApplyProximalAdagrad"
   45399   input_arg {
   45400     name: "var"
   45401     type: DT_RESOURCE
   45402   }
   45403   input_arg {
   45404     name: "accum"
   45405     type: DT_RESOURCE
   45406   }
   45407   input_arg {
   45408     name: "lr"
   45409     type_attr: "T"
   45410   }
   45411   input_arg {
   45412     name: "l1"
   45413     type_attr: "T"
   45414   }
   45415   input_arg {
   45416     name: "l2"
   45417     type_attr: "T"
   45418   }
   45419   input_arg {
   45420     name: "grad"
   45421     type_attr: "T"
   45422   }
   45423   input_arg {
   45424     name: "indices"
   45425     type_attr: "Tindices"
   45426   }
   45427   attr {
   45428     name: "T"
   45429     type: "type"
   45430     allowed_values {
   45431       list {
   45432         type: DT_FLOAT
   45433         type: DT_DOUBLE
   45434         type: DT_INT32
   45435         type: DT_UINT8
   45436         type: DT_INT16
   45437         type: DT_INT8
   45438         type: DT_COMPLEX64
   45439         type: DT_INT64
   45440         type: DT_QINT8
   45441         type: DT_QUINT8
   45442         type: DT_QINT32
   45443         type: DT_BFLOAT16
   45444         type: DT_UINT16
   45445         type: DT_COMPLEX128
   45446         type: DT_HALF
   45447         type: DT_UINT32
   45448         type: DT_UINT64
   45449       }
   45450     }
   45451   }
   45452   attr {
   45453     name: "Tindices"
   45454     type: "type"
   45455     allowed_values {
   45456       list {
   45457         type: DT_INT32
   45458         type: DT_INT64
   45459       }
   45460     }
   45461   }
   45462   attr {
   45463     name: "use_locking"
   45464     type: "bool"
   45465     default_value {
   45466       b: false
   45467     }
   45468   }
   45469   is_stateful: true
   45470 }
   45471 op {
   45472   name: "ResourceSparseApplyProximalGradientDescent"
   45473   input_arg {
   45474     name: "var"
   45475     type: DT_RESOURCE
   45476   }
   45477   input_arg {
   45478     name: "alpha"
   45479     type_attr: "T"
   45480   }
   45481   input_arg {
   45482     name: "l1"
   45483     type_attr: "T"
   45484   }
   45485   input_arg {
   45486     name: "l2"
   45487     type_attr: "T"
   45488   }
   45489   input_arg {
   45490     name: "grad"
   45491     type_attr: "T"
   45492   }
   45493   input_arg {
   45494     name: "indices"
   45495     type_attr: "Tindices"
   45496   }
   45497   attr {
   45498     name: "T"
   45499     type: "type"
   45500     allowed_values {
   45501       list {
   45502         type: DT_FLOAT
   45503         type: DT_DOUBLE
   45504         type: DT_INT64
   45505         type: DT_INT32
   45506         type: DT_UINT8
   45507         type: DT_UINT16
   45508         type: DT_INT16
   45509         type: DT_INT8
   45510         type: DT_COMPLEX64
   45511         type: DT_COMPLEX128
   45512         type: DT_QINT8
   45513         type: DT_QUINT8
   45514         type: DT_QINT32
   45515         type: DT_HALF
   45516       }
   45517     }
   45518   }
   45519   attr {
   45520     name: "Tindices"
   45521     type: "type"
   45522     allowed_values {
   45523       list {
   45524         type: DT_INT32
   45525         type: DT_INT64
   45526       }
   45527     }
   45528   }
   45529   attr {
   45530     name: "use_locking"
   45531     type: "bool"
   45532     default_value {
   45533       b: false
   45534     }
   45535   }
   45536   is_stateful: true
   45537 }
   45538 op {
   45539   name: "ResourceSparseApplyProximalGradientDescent"
   45540   input_arg {
   45541     name: "var"
   45542     type: DT_RESOURCE
   45543   }
   45544   input_arg {
   45545     name: "alpha"
   45546     type_attr: "T"
   45547   }
   45548   input_arg {
   45549     name: "l1"
   45550     type_attr: "T"
   45551   }
   45552   input_arg {
   45553     name: "l2"
   45554     type_attr: "T"
   45555   }
   45556   input_arg {
   45557     name: "grad"
   45558     type_attr: "T"
   45559   }
   45560   input_arg {
   45561     name: "indices"
   45562     type_attr: "Tindices"
   45563   }
   45564   attr {
   45565     name: "T"
   45566     type: "type"
   45567     allowed_values {
   45568       list {
   45569         type: DT_FLOAT
   45570         type: DT_DOUBLE
   45571         type: DT_INT64
   45572         type: DT_INT32
   45573         type: DT_UINT8
   45574         type: DT_UINT16
   45575         type: DT_INT16
   45576         type: DT_INT8
   45577         type: DT_COMPLEX64
   45578         type: DT_COMPLEX128
   45579         type: DT_QINT8
   45580         type: DT_QUINT8
   45581         type: DT_QINT32
   45582         type: DT_HALF
   45583         type: DT_UINT32
   45584         type: DT_UINT64
   45585       }
   45586     }
   45587   }
   45588   attr {
   45589     name: "Tindices"
   45590     type: "type"
   45591     allowed_values {
   45592       list {
   45593         type: DT_INT32
   45594         type: DT_INT64
   45595       }
   45596     }
   45597   }
   45598   attr {
   45599     name: "use_locking"
   45600     type: "bool"
   45601     default_value {
   45602       b: false
   45603     }
   45604   }
   45605   is_stateful: true
   45606 }
   45607 op {
   45608   name: "ResourceSparseApplyProximalGradientDescent"
   45609   input_arg {
   45610     name: "var"
   45611     type: DT_RESOURCE
   45612   }
   45613   input_arg {
   45614     name: "alpha"
   45615     type_attr: "T"
   45616   }
   45617   input_arg {
   45618     name: "l1"
   45619     type_attr: "T"
   45620   }
   45621   input_arg {
   45622     name: "l2"
   45623     type_attr: "T"
   45624   }
   45625   input_arg {
   45626     name: "grad"
   45627     type_attr: "T"
   45628   }
   45629   input_arg {
   45630     name: "indices"
   45631     type_attr: "Tindices"
   45632   }
   45633   attr {
   45634     name: "T"
   45635     type: "type"
   45636     allowed_values {
   45637       list {
   45638         type: DT_FLOAT
   45639         type: DT_DOUBLE
   45640         type: DT_INT64
   45641         type: DT_INT32
   45642         type: DT_UINT8
   45643         type: DT_UINT16
   45644         type: DT_INT16
   45645         type: DT_INT8
   45646         type: DT_COMPLEX64
   45647         type: DT_COMPLEX128
   45648         type: DT_QINT8
   45649         type: DT_QUINT8
   45650         type: DT_QINT32
   45651         type: DT_HALF
   45652         type: DT_UINT32
   45653         type: DT_UINT64
   45654         type: DT_BFLOAT16
   45655       }
   45656     }
   45657   }
   45658   attr {
   45659     name: "Tindices"
   45660     type: "type"
   45661     allowed_values {
   45662       list {
   45663         type: DT_INT32
   45664         type: DT_INT64
   45665       }
   45666     }
   45667   }
   45668   attr {
   45669     name: "use_locking"
   45670     type: "bool"
   45671     default_value {
   45672       b: false
   45673     }
   45674   }
   45675   is_stateful: true
   45676 }
   45677 op {
   45678   name: "ResourceSparseApplyProximalGradientDescent"
   45679   input_arg {
   45680     name: "var"
   45681     type: DT_RESOURCE
   45682   }
   45683   input_arg {
   45684     name: "alpha"
   45685     type_attr: "T"
   45686   }
   45687   input_arg {
   45688     name: "l1"
   45689     type_attr: "T"
   45690   }
   45691   input_arg {
   45692     name: "l2"
   45693     type_attr: "T"
   45694   }
   45695   input_arg {
   45696     name: "grad"
   45697     type_attr: "T"
   45698   }
   45699   input_arg {
   45700     name: "indices"
   45701     type_attr: "Tindices"
   45702   }
   45703   attr {
   45704     name: "T"
   45705     type: "type"
   45706     allowed_values {
   45707       list {
   45708         type: DT_FLOAT
   45709         type: DT_DOUBLE
   45710         type: DT_INT32
   45711         type: DT_UINT8
   45712         type: DT_INT16
   45713         type: DT_INT8
   45714         type: DT_COMPLEX64
   45715         type: DT_INT64
   45716         type: DT_QINT8
   45717         type: DT_QUINT8
   45718         type: DT_QINT32
   45719         type: DT_BFLOAT16
   45720         type: DT_UINT16
   45721         type: DT_COMPLEX128
   45722         type: DT_HALF
   45723         type: DT_UINT32
   45724         type: DT_UINT64
   45725       }
   45726     }
   45727   }
   45728   attr {
   45729     name: "Tindices"
   45730     type: "type"
   45731     allowed_values {
   45732       list {
   45733         type: DT_INT32
   45734         type: DT_INT64
   45735       }
   45736     }
   45737   }
   45738   attr {
   45739     name: "use_locking"
   45740     type: "bool"
   45741     default_value {
   45742       b: false
   45743     }
   45744   }
   45745   is_stateful: true
   45746 }
   45747 op {
   45748   name: "ResourceSparseApplyRMSProp"
   45749   input_arg {
   45750     name: "var"
   45751     type: DT_RESOURCE
   45752   }
   45753   input_arg {
   45754     name: "ms"
   45755     type: DT_RESOURCE
   45756   }
   45757   input_arg {
   45758     name: "mom"
   45759     type: DT_RESOURCE
   45760   }
   45761   input_arg {
   45762     name: "lr"
   45763     type_attr: "T"
   45764   }
   45765   input_arg {
   45766     name: "rho"
   45767     type_attr: "T"
   45768   }
   45769   input_arg {
   45770     name: "momentum"
   45771     type_attr: "T"
   45772   }
   45773   input_arg {
   45774     name: "epsilon"
   45775     type_attr: "T"
   45776   }
   45777   input_arg {
   45778     name: "grad"
   45779     type_attr: "T"
   45780   }
   45781   input_arg {
   45782     name: "indices"
   45783     type_attr: "Tindices"
   45784   }
   45785   attr {
   45786     name: "T"
   45787     type: "type"
   45788     allowed_values {
   45789       list {
   45790         type: DT_FLOAT
   45791         type: DT_DOUBLE
   45792         type: DT_INT64
   45793         type: DT_INT32
   45794         type: DT_UINT8
   45795         type: DT_UINT16
   45796         type: DT_INT16
   45797         type: DT_INT8
   45798         type: DT_COMPLEX64
   45799         type: DT_COMPLEX128
   45800         type: DT_QINT8
   45801         type: DT_QUINT8
   45802         type: DT_QINT32
   45803         type: DT_HALF
   45804       }
   45805     }
   45806   }
   45807   attr {
   45808     name: "Tindices"
   45809     type: "type"
   45810     allowed_values {
   45811       list {
   45812         type: DT_INT32
   45813         type: DT_INT64
   45814       }
   45815     }
   45816   }
   45817   attr {
   45818     name: "use_locking"
   45819     type: "bool"
   45820     default_value {
   45821       b: false
   45822     }
   45823   }
   45824   is_stateful: true
   45825 }
   45826 op {
   45827   name: "ResourceSparseApplyRMSProp"
   45828   input_arg {
   45829     name: "var"
   45830     type: DT_RESOURCE
   45831   }
   45832   input_arg {
   45833     name: "ms"
   45834     type: DT_RESOURCE
   45835   }
   45836   input_arg {
   45837     name: "mom"
   45838     type: DT_RESOURCE
   45839   }
   45840   input_arg {
   45841     name: "lr"
   45842     type_attr: "T"
   45843   }
   45844   input_arg {
   45845     name: "rho"
   45846     type_attr: "T"
   45847   }
   45848   input_arg {
   45849     name: "momentum"
   45850     type_attr: "T"
   45851   }
   45852   input_arg {
   45853     name: "epsilon"
   45854     type_attr: "T"
   45855   }
   45856   input_arg {
   45857     name: "grad"
   45858     type_attr: "T"
   45859   }
   45860   input_arg {
   45861     name: "indices"
   45862     type_attr: "Tindices"
   45863   }
   45864   attr {
   45865     name: "T"
   45866     type: "type"
   45867     allowed_values {
   45868       list {
   45869         type: DT_FLOAT
   45870         type: DT_DOUBLE
   45871         type: DT_INT64
   45872         type: DT_INT32
   45873         type: DT_UINT8
   45874         type: DT_UINT16
   45875         type: DT_INT16
   45876         type: DT_INT8
   45877         type: DT_COMPLEX64
   45878         type: DT_COMPLEX128
   45879         type: DT_QINT8
   45880         type: DT_QUINT8
   45881         type: DT_QINT32
   45882         type: DT_HALF
   45883         type: DT_UINT32
   45884         type: DT_UINT64
   45885       }
   45886     }
   45887   }
   45888   attr {
   45889     name: "Tindices"
   45890     type: "type"
   45891     allowed_values {
   45892       list {
   45893         type: DT_INT32
   45894         type: DT_INT64
   45895       }
   45896     }
   45897   }
   45898   attr {
   45899     name: "use_locking"
   45900     type: "bool"
   45901     default_value {
   45902       b: false
   45903     }
   45904   }
   45905   is_stateful: true
   45906 }
   45907 op {
   45908   name: "ResourceSparseApplyRMSProp"
   45909   input_arg {
   45910     name: "var"
   45911     type: DT_RESOURCE
   45912   }
   45913   input_arg {
   45914     name: "ms"
   45915     type: DT_RESOURCE
   45916   }
   45917   input_arg {
   45918     name: "mom"
   45919     type: DT_RESOURCE
   45920   }
   45921   input_arg {
   45922     name: "lr"
   45923     type_attr: "T"
   45924   }
   45925   input_arg {
   45926     name: "rho"
   45927     type_attr: "T"
   45928   }
   45929   input_arg {
   45930     name: "momentum"
   45931     type_attr: "T"
   45932   }
   45933   input_arg {
   45934     name: "epsilon"
   45935     type_attr: "T"
   45936   }
   45937   input_arg {
   45938     name: "grad"
   45939     type_attr: "T"
   45940   }
   45941   input_arg {
   45942     name: "indices"
   45943     type_attr: "Tindices"
   45944   }
   45945   attr {
   45946     name: "T"
   45947     type: "type"
   45948     allowed_values {
   45949       list {
   45950         type: DT_FLOAT
   45951         type: DT_DOUBLE
   45952         type: DT_INT64
   45953         type: DT_INT32
   45954         type: DT_UINT8
   45955         type: DT_UINT16
   45956         type: DT_INT16
   45957         type: DT_INT8
   45958         type: DT_COMPLEX64
   45959         type: DT_COMPLEX128
   45960         type: DT_QINT8
   45961         type: DT_QUINT8
   45962         type: DT_QINT32
   45963         type: DT_HALF
   45964         type: DT_UINT32
   45965         type: DT_UINT64
   45966         type: DT_BFLOAT16
   45967       }
   45968     }
   45969   }
   45970   attr {
   45971     name: "Tindices"
   45972     type: "type"
   45973     allowed_values {
   45974       list {
   45975         type: DT_INT32
   45976         type: DT_INT64
   45977       }
   45978     }
   45979   }
   45980   attr {
   45981     name: "use_locking"
   45982     type: "bool"
   45983     default_value {
   45984       b: false
   45985     }
   45986   }
   45987   is_stateful: true
   45988 }
   45989 op {
   45990   name: "ResourceSparseApplyRMSProp"
   45991   input_arg {
   45992     name: "var"
   45993     type: DT_RESOURCE
   45994   }
   45995   input_arg {
   45996     name: "ms"
   45997     type: DT_RESOURCE
   45998   }
   45999   input_arg {
   46000     name: "mom"
   46001     type: DT_RESOURCE
   46002   }
   46003   input_arg {
   46004     name: "lr"
   46005     type_attr: "T"
   46006   }
   46007   input_arg {
   46008     name: "rho"
   46009     type_attr: "T"
   46010   }
   46011   input_arg {
   46012     name: "momentum"
   46013     type_attr: "T"
   46014   }
   46015   input_arg {
   46016     name: "epsilon"
   46017     type_attr: "T"
   46018   }
   46019   input_arg {
   46020     name: "grad"
   46021     type_attr: "T"
   46022   }
   46023   input_arg {
   46024     name: "indices"
   46025     type_attr: "Tindices"
   46026   }
   46027   attr {
   46028     name: "T"
   46029     type: "type"
   46030     allowed_values {
   46031       list {
   46032         type: DT_FLOAT
   46033         type: DT_DOUBLE
   46034         type: DT_INT32
   46035         type: DT_UINT8
   46036         type: DT_INT16
   46037         type: DT_INT8
   46038         type: DT_COMPLEX64
   46039         type: DT_INT64
   46040         type: DT_QINT8
   46041         type: DT_QUINT8
   46042         type: DT_QINT32
   46043         type: DT_BFLOAT16
   46044         type: DT_UINT16
   46045         type: DT_COMPLEX128
   46046         type: DT_HALF
   46047         type: DT_UINT32
   46048         type: DT_UINT64
   46049       }
   46050     }
   46051   }
   46052   attr {
   46053     name: "Tindices"
   46054     type: "type"
   46055     allowed_values {
   46056       list {
   46057         type: DT_INT32
   46058         type: DT_INT64
   46059       }
   46060     }
   46061   }
   46062   attr {
   46063     name: "use_locking"
   46064     type: "bool"
   46065     default_value {
   46066       b: false
   46067     }
   46068   }
   46069   is_stateful: true
   46070 }
   46071 op {
   46072   name: "ResourceStridedSliceAssign"
   46073   input_arg {
   46074     name: "ref"
   46075     type: DT_RESOURCE
   46076   }
   46077   input_arg {
   46078     name: "begin"
   46079     type_attr: "Index"
   46080   }
   46081   input_arg {
   46082     name: "end"
   46083     type_attr: "Index"
   46084   }
   46085   input_arg {
   46086     name: "strides"
   46087     type_attr: "Index"
   46088   }
   46089   input_arg {
   46090     name: "value"
   46091     type_attr: "T"
   46092   }
   46093   attr {
   46094     name: "T"
   46095     type: "type"
   46096   }
   46097   attr {
   46098     name: "Index"
   46099     type: "type"
   46100     allowed_values {
   46101       list {
   46102         type: DT_INT32
   46103         type: DT_INT64
   46104       }
   46105     }
   46106   }
   46107   attr {
   46108     name: "begin_mask"
   46109     type: "int"
   46110     default_value {
   46111       i: 0
   46112     }
   46113   }
   46114   attr {
   46115     name: "end_mask"
   46116     type: "int"
   46117     default_value {
   46118       i: 0
   46119     }
   46120   }
   46121   attr {
   46122     name: "ellipsis_mask"
   46123     type: "int"
   46124     default_value {
   46125       i: 0
   46126     }
   46127   }
   46128   attr {
   46129     name: "new_axis_mask"
   46130     type: "int"
   46131     default_value {
   46132       i: 0
   46133     }
   46134   }
   46135   attr {
   46136     name: "shrink_axis_mask"
   46137     type: "int"
   46138     default_value {
   46139       i: 0
   46140     }
   46141   }
   46142   is_stateful: true
   46143 }
   46144 op {
   46145   name: "Restore"
   46146   input_arg {
   46147     name: "file_pattern"
   46148     type: DT_STRING
   46149   }
   46150   input_arg {
   46151     name: "tensor_name"
   46152     type: DT_STRING
   46153   }
   46154   output_arg {
   46155     name: "tensor"
   46156     type_attr: "dt"
   46157   }
   46158   attr {
   46159     name: "dt"
   46160     type: "type"
   46161   }
   46162   attr {
   46163     name: "preferred_shard"
   46164     type: "int"
   46165     default_value {
   46166       i: -1
   46167     }
   46168   }
   46169 }
   46170 op {
   46171   name: "Restore"
   46172   input_arg {
   46173     name: "file_pattern"
   46174     type: DT_STRING
   46175   }
   46176   input_arg {
   46177     name: "tensor_name"
   46178     type: DT_STRING
   46179   }
   46180   output_arg {
   46181     name: "tensor"
   46182     type_attr: "dt"
   46183   }
   46184   attr {
   46185     name: "dt"
   46186     type: "type"
   46187   }
   46188   attr {
   46189     name: "preferred_shard"
   46190     type: "int"
   46191     default_value {
   46192       i: -1
   46193     }
   46194   }
   46195   is_stateful: true
   46196 }
   46197 op {
   46198   name: "RestoreSlice"
   46199   input_arg {
   46200     name: "file_pattern"
   46201     type: DT_STRING
   46202   }
   46203   input_arg {
   46204     name: "tensor_name"
   46205     type: DT_STRING
   46206   }
   46207   input_arg {
   46208     name: "shape_and_slice"
   46209     type: DT_STRING
   46210   }
   46211   output_arg {
   46212     name: "tensor"
   46213     type_attr: "dt"
   46214   }
   46215   attr {
   46216     name: "dt"
   46217     type: "type"
   46218   }
   46219   attr {
   46220     name: "preferred_shard"
   46221     type: "int"
   46222     default_value {
   46223       i: -1
   46224     }
   46225   }
   46226 }
   46227 op {
   46228   name: "RestoreSlice"
   46229   input_arg {
   46230     name: "file_pattern"
   46231     type: DT_STRING
   46232   }
   46233   input_arg {
   46234     name: "tensor_name"
   46235     type: DT_STRING
   46236   }
   46237   input_arg {
   46238     name: "shape_and_slice"
   46239     type: DT_STRING
   46240   }
   46241   output_arg {
   46242     name: "tensor"
   46243     type_attr: "dt"
   46244   }
   46245   attr {
   46246     name: "dt"
   46247     type: "type"
   46248   }
   46249   attr {
   46250     name: "preferred_shard"
   46251     type: "int"
   46252     default_value {
   46253       i: -1
   46254     }
   46255   }
   46256   is_stateful: true
   46257 }
   46258 op {
   46259   name: "RestoreV2"
   46260   input_arg {
   46261     name: "prefix"
   46262     type: DT_STRING
   46263   }
   46264   input_arg {
   46265     name: "tensor_names"
   46266     type: DT_STRING
   46267   }
   46268   input_arg {
   46269     name: "shape_and_slices"
   46270     type: DT_STRING
   46271   }
   46272   output_arg {
   46273     name: "tensors"
   46274     type_list_attr: "dtypes"
   46275   }
   46276   attr {
   46277     name: "dtypes"
   46278     type: "list(type)"
   46279     has_minimum: true
   46280     minimum: 1
   46281   }
   46282 }
   46283 op {
   46284   name: "RestoreV2"
   46285   input_arg {
   46286     name: "prefix"
   46287     type: DT_STRING
   46288   }
   46289   input_arg {
   46290     name: "tensor_names"
   46291     type: DT_STRING
   46292   }
   46293   input_arg {
   46294     name: "shape_and_slices"
   46295     type: DT_STRING
   46296   }
   46297   output_arg {
   46298     name: "tensors"
   46299     type_list_attr: "dtypes"
   46300   }
   46301   attr {
   46302     name: "dtypes"
   46303     type: "list(type)"
   46304     has_minimum: true
   46305     minimum: 1
   46306   }
   46307   is_stateful: true
   46308 }
   46309 op {
   46310   name: "Reverse"
   46311   input_arg {
   46312     name: "tensor"
   46313     type_attr: "T"
   46314   }
   46315   input_arg {
   46316     name: "dims"
   46317     type: DT_BOOL
   46318   }
   46319   output_arg {
   46320     name: "output"
   46321     type_attr: "T"
   46322   }
   46323   attr {
   46324     name: "T"
   46325     type: "type"
   46326     allowed_values {
   46327       list {
   46328         type: DT_UINT8
   46329         type: DT_INT8
   46330         type: DT_INT32
   46331         type: DT_INT64
   46332         type: DT_BOOL
   46333         type: DT_HALF
   46334         type: DT_FLOAT
   46335         type: DT_DOUBLE
   46336         type: DT_COMPLEX64
   46337         type: DT_COMPLEX128
   46338       }
   46339     }
   46340   }
   46341 }
   46342 op {
   46343   name: "Reverse"
   46344   input_arg {
   46345     name: "tensor"
   46346     type_attr: "T"
   46347   }
   46348   input_arg {
   46349     name: "dims"
   46350     type: DT_BOOL
   46351   }
   46352   output_arg {
   46353     name: "output"
   46354     type_attr: "T"
   46355   }
   46356   attr {
   46357     name: "T"
   46358     type: "type"
   46359     allowed_values {
   46360       list {
   46361         type: DT_UINT8
   46362         type: DT_INT8
   46363         type: DT_INT32
   46364         type: DT_INT64
   46365         type: DT_BOOL
   46366         type: DT_HALF
   46367         type: DT_FLOAT
   46368         type: DT_DOUBLE
   46369         type: DT_COMPLEX64
   46370         type: DT_COMPLEX128
   46371         type: DT_STRING
   46372       }
   46373     }
   46374   }
   46375 }
   46376 op {
   46377   name: "Reverse"
   46378   input_arg {
   46379     name: "tensor"
   46380     type_attr: "T"
   46381   }
   46382   input_arg {
   46383     name: "dims"
   46384     type: DT_BOOL
   46385   }
   46386   output_arg {
   46387     name: "output"
   46388     type_attr: "T"
   46389   }
   46390   attr {
   46391     name: "T"
   46392     type: "type"
   46393     allowed_values {
   46394       list {
   46395         type: DT_UINT8
   46396         type: DT_INT8
   46397         type: DT_UINT16
   46398         type: DT_INT16
   46399         type: DT_INT32
   46400         type: DT_INT64
   46401         type: DT_BOOL
   46402         type: DT_HALF
   46403         type: DT_FLOAT
   46404         type: DT_DOUBLE
   46405         type: DT_COMPLEX64
   46406         type: DT_COMPLEX128
   46407         type: DT_STRING
   46408       }
   46409     }
   46410   }
   46411 }
   46412 op {
   46413   name: "ReverseSequence"
   46414   input_arg {
   46415     name: "input"
   46416     type_attr: "T"
   46417   }
   46418   input_arg {
   46419     name: "seq_lengths"
   46420     type_attr: "Tlen"
   46421   }
   46422   output_arg {
   46423     name: "output"
   46424     type_attr: "T"
   46425   }
   46426   attr {
   46427     name: "seq_dim"
   46428     type: "int"
   46429   }
   46430   attr {
   46431     name: "batch_dim"
   46432     type: "int"
   46433     default_value {
   46434       i: 0
   46435     }
   46436   }
   46437   attr {
   46438     name: "T"
   46439     type: "type"
   46440   }
   46441   attr {
   46442     name: "Tlen"
   46443     type: "type"
   46444     default_value {
   46445       type: DT_INT64
   46446     }
   46447     allowed_values {
   46448       list {
   46449         type: DT_INT32
   46450         type: DT_INT64
   46451       }
   46452     }
   46453   }
   46454 }
   46455 op {
   46456   name: "ReverseV2"
   46457   input_arg {
   46458     name: "tensor"
   46459     type_attr: "T"
   46460   }
   46461   input_arg {
   46462     name: "axis"
   46463     type_attr: "Tidx"
   46464   }
   46465   output_arg {
   46466     name: "output"
   46467     type_attr: "T"
   46468   }
   46469   attr {
   46470     name: "Tidx"
   46471     type: "type"
   46472     default_value {
   46473       type: DT_INT32
   46474     }
   46475     allowed_values {
   46476       list {
   46477         type: DT_INT32
   46478         type: DT_INT64
   46479       }
   46480     }
   46481   }
   46482   attr {
   46483     name: "T"
   46484     type: "type"
   46485     allowed_values {
   46486       list {
   46487         type: DT_UINT8
   46488         type: DT_INT8
   46489         type: DT_INT32
   46490         type: DT_INT64
   46491         type: DT_BOOL
   46492         type: DT_HALF
   46493         type: DT_FLOAT
   46494         type: DT_DOUBLE
   46495         type: DT_COMPLEX64
   46496         type: DT_COMPLEX128
   46497       }
   46498     }
   46499   }
   46500 }
   46501 op {
   46502   name: "ReverseV2"
   46503   input_arg {
   46504     name: "tensor"
   46505     type_attr: "T"
   46506   }
   46507   input_arg {
   46508     name: "axis"
   46509     type_attr: "Tidx"
   46510   }
   46511   output_arg {
   46512     name: "output"
   46513     type_attr: "T"
   46514   }
   46515   attr {
   46516     name: "Tidx"
   46517     type: "type"
   46518     default_value {
   46519       type: DT_INT32
   46520     }
   46521     allowed_values {
   46522       list {
   46523         type: DT_INT32
   46524         type: DT_INT64
   46525       }
   46526     }
   46527   }
   46528   attr {
   46529     name: "T"
   46530     type: "type"
   46531     allowed_values {
   46532       list {
   46533         type: DT_UINT8
   46534         type: DT_INT8
   46535         type: DT_INT32
   46536         type: DT_INT64
   46537         type: DT_BOOL
   46538         type: DT_HALF
   46539         type: DT_FLOAT
   46540         type: DT_DOUBLE
   46541         type: DT_COMPLEX64
   46542         type: DT_COMPLEX128
   46543         type: DT_STRING
   46544       }
   46545     }
   46546   }
   46547 }
   46548 op {
   46549   name: "ReverseV2"
   46550   input_arg {
   46551     name: "tensor"
   46552     type_attr: "T"
   46553   }
   46554   input_arg {
   46555     name: "axis"
   46556     type_attr: "Tidx"
   46557   }
   46558   output_arg {
   46559     name: "output"
   46560     type_attr: "T"
   46561   }
   46562   attr {
   46563     name: "Tidx"
   46564     type: "type"
   46565     default_value {
   46566       type: DT_INT32
   46567     }
   46568     allowed_values {
   46569       list {
   46570         type: DT_INT32
   46571         type: DT_INT64
   46572       }
   46573     }
   46574   }
   46575   attr {
   46576     name: "T"
   46577     type: "type"
   46578     allowed_values {
   46579       list {
   46580         type: DT_UINT8
   46581         type: DT_INT8
   46582         type: DT_UINT16
   46583         type: DT_INT16
   46584         type: DT_INT32
   46585         type: DT_INT64
   46586         type: DT_BOOL
   46587         type: DT_HALF
   46588         type: DT_FLOAT
   46589         type: DT_DOUBLE
   46590         type: DT_COMPLEX64
   46591         type: DT_COMPLEX128
   46592         type: DT_STRING
   46593       }
   46594     }
   46595   }
   46596 }
   46597 op {
   46598   name: "ReverseV2"
   46599   input_arg {
   46600     name: "tensor"
   46601     type_attr: "T"
   46602   }
   46603   input_arg {
   46604     name: "axis"
   46605     type_attr: "Tidx"
   46606   }
   46607   output_arg {
   46608     name: "output"
   46609     type_attr: "T"
   46610   }
   46611   attr {
   46612     name: "Tidx"
   46613     type: "type"
   46614     default_value {
   46615       type: DT_INT32
   46616     }
   46617     allowed_values {
   46618       list {
   46619         type: DT_INT32
   46620         type: DT_INT64
   46621       }
   46622     }
   46623   }
   46624   attr {
   46625     name: "T"
   46626     type: "type"
   46627     allowed_values {
   46628       list {
   46629         type: DT_UINT8
   46630         type: DT_INT8
   46631         type: DT_UINT16
   46632         type: DT_INT16
   46633         type: DT_INT32
   46634         type: DT_INT64
   46635         type: DT_BOOL
   46636         type: DT_HALF
   46637         type: DT_BFLOAT16
   46638         type: DT_FLOAT
   46639         type: DT_DOUBLE
   46640         type: DT_COMPLEX64
   46641         type: DT_COMPLEX128
   46642         type: DT_STRING
   46643       }
   46644     }
   46645   }
   46646 }
   46647 op {
   46648   name: "RightShift"
   46649   input_arg {
   46650     name: "x"
   46651     type_attr: "T"
   46652   }
   46653   input_arg {
   46654     name: "y"
   46655     type_attr: "T"
   46656   }
   46657   output_arg {
   46658     name: "z"
   46659     type_attr: "T"
   46660   }
   46661   attr {
   46662     name: "T"
   46663     type: "type"
   46664     allowed_values {
   46665       list {
   46666         type: DT_INT8
   46667         type: DT_INT16
   46668         type: DT_INT32
   46669         type: DT_INT64
   46670         type: DT_UINT8
   46671         type: DT_UINT16
   46672         type: DT_UINT32
   46673         type: DT_UINT64
   46674       }
   46675     }
   46676   }
   46677   is_commutative: true
   46678 }
   46679 op {
   46680   name: "Rint"
   46681   input_arg {
   46682     name: "x"
   46683     type_attr: "T"
   46684   }
   46685   output_arg {
   46686     name: "y"
   46687     type_attr: "T"
   46688   }
   46689   attr {
   46690     name: "T"
   46691     type: "type"
   46692     allowed_values {
   46693       list {
   46694         type: DT_FLOAT
   46695         type: DT_DOUBLE
   46696       }
   46697     }
   46698   }
   46699 }
   46700 op {
   46701   name: "Rint"
   46702   input_arg {
   46703     name: "x"
   46704     type_attr: "T"
   46705   }
   46706   output_arg {
   46707     name: "y"
   46708     type_attr: "T"
   46709   }
   46710   attr {
   46711     name: "T"
   46712     type: "type"
   46713     allowed_values {
   46714       list {
   46715         type: DT_BFLOAT16
   46716         type: DT_FLOAT
   46717         type: DT_DOUBLE
   46718       }
   46719     }
   46720   }
   46721 }
   46722 op {
   46723   name: "Roll"
   46724   input_arg {
   46725     name: "input"
   46726     type_attr: "T"
   46727   }
   46728   input_arg {
   46729     name: "shift"
   46730     type_attr: "Tshift"
   46731   }
   46732   input_arg {
   46733     name: "axis"
   46734     type_attr: "Taxis"
   46735   }
   46736   output_arg {
   46737     name: "output"
   46738     type_attr: "T"
   46739   }
   46740   attr {
   46741     name: "T"
   46742     type: "type"
   46743   }
   46744   attr {
   46745     name: "Tshift"
   46746     type: "type"
   46747     allowed_values {
   46748       list {
   46749         type: DT_INT32
   46750         type: DT_INT64
   46751       }
   46752     }
   46753   }
   46754   attr {
   46755     name: "Taxis"
   46756     type: "type"
   46757     allowed_values {
   46758       list {
   46759         type: DT_INT32
   46760         type: DT_INT64
   46761       }
   46762     }
   46763   }
   46764 }
   46765 op {
   46766   name: "Round"
   46767   input_arg {
   46768     name: "x"
   46769     type_attr: "T"
   46770   }
   46771   output_arg {
   46772     name: "y"
   46773     type_attr: "T"
   46774   }
   46775   attr {
   46776     name: "T"
   46777     type: "type"
   46778     allowed_values {
   46779       list {
   46780         type: DT_HALF
   46781         type: DT_FLOAT
   46782         type: DT_DOUBLE
   46783         type: DT_INT32
   46784         type: DT_INT64
   46785         type: DT_COMPLEX64
   46786         type: DT_COMPLEX128
   46787       }
   46788     }
   46789   }
   46790 }
   46791 op {
   46792   name: "Round"
   46793   input_arg {
   46794     name: "x"
   46795     type_attr: "T"
   46796   }
   46797   output_arg {
   46798     name: "y"
   46799     type_attr: "T"
   46800   }
   46801   attr {
   46802     name: "T"
   46803     type: "type"
   46804     allowed_values {
   46805       list {
   46806         type: DT_HALF
   46807         type: DT_BFLOAT16
   46808         type: DT_FLOAT
   46809         type: DT_DOUBLE
   46810         type: DT_INT32
   46811         type: DT_INT64
   46812         type: DT_COMPLEX64
   46813         type: DT_COMPLEX128
   46814       }
   46815     }
   46816   }
   46817 }
   46818 op {
   46819   name: "Rsqrt"
   46820   input_arg {
   46821     name: "x"
   46822     type_attr: "T"
   46823   }
   46824   output_arg {
   46825     name: "y"
   46826     type_attr: "T"
   46827   }
   46828   attr {
   46829     name: "T"
   46830     type: "type"
   46831     allowed_values {
   46832       list {
   46833         type: DT_HALF
   46834         type: DT_FLOAT
   46835         type: DT_DOUBLE
   46836         type: DT_COMPLEX64
   46837         type: DT_COMPLEX128
   46838       }
   46839     }
   46840   }
   46841 }
   46842 op {
   46843   name: "Rsqrt"
   46844   input_arg {
   46845     name: "x"
   46846     type_attr: "T"
   46847   }
   46848   output_arg {
   46849     name: "y"
   46850     type_attr: "T"
   46851   }
   46852   attr {
   46853     name: "T"
   46854     type: "type"
   46855     allowed_values {
   46856       list {
   46857         type: DT_HALF
   46858         type: DT_BFLOAT16
   46859         type: DT_FLOAT
   46860         type: DT_DOUBLE
   46861         type: DT_COMPLEX64
   46862         type: DT_COMPLEX128
   46863       }
   46864     }
   46865   }
   46866 }
   46867 op {
   46868   name: "RsqrtGrad"
   46869   input_arg {
   46870     name: "x"
   46871     type_attr: "T"
   46872   }
   46873   input_arg {
   46874     name: "y"
   46875     type_attr: "T"
   46876   }
   46877   output_arg {
   46878     name: "z"
   46879     type_attr: "T"
   46880   }
   46881   attr {
   46882     name: "T"
   46883     type: "type"
   46884     allowed_values {
   46885       list {
   46886         type: DT_HALF
   46887         type: DT_FLOAT
   46888         type: DT_DOUBLE
   46889         type: DT_COMPLEX64
   46890         type: DT_COMPLEX128
   46891       }
   46892     }
   46893   }
   46894 }
   46895 op {
   46896   name: "RsqrtGrad"
   46897   input_arg {
   46898     name: "y"
   46899     type_attr: "T"
   46900   }
   46901   input_arg {
   46902     name: "dy"
   46903     type_attr: "T"
   46904   }
   46905   output_arg {
   46906     name: "z"
   46907     type_attr: "T"
   46908   }
   46909   attr {
   46910     name: "T"
   46911     type: "type"
   46912     allowed_values {
   46913       list {
   46914         type: DT_HALF
   46915         type: DT_FLOAT
   46916         type: DT_DOUBLE
   46917         type: DT_COMPLEX64
   46918         type: DT_COMPLEX128
   46919       }
   46920     }
   46921   }
   46922 }
   46923 op {
   46924   name: "RsqrtGrad"
   46925   input_arg {
   46926     name: "y"
   46927     type_attr: "T"
   46928   }
   46929   input_arg {
   46930     name: "dy"
   46931     type_attr: "T"
   46932   }
   46933   output_arg {
   46934     name: "z"
   46935     type_attr: "T"
   46936   }
   46937   attr {
   46938     name: "T"
   46939     type: "type"
   46940     allowed_values {
   46941       list {
   46942         type: DT_HALF
   46943         type: DT_BFLOAT16
   46944         type: DT_FLOAT
   46945         type: DT_DOUBLE
   46946         type: DT_COMPLEX64
   46947         type: DT_COMPLEX128
   46948       }
   46949     }
   46950   }
   46951 }
   46952 op {
   46953   name: "SampleDistortedBoundingBox"
   46954   input_arg {
   46955     name: "image_size"
   46956     type_attr: "T"
   46957   }
   46958   input_arg {
   46959     name: "bounding_boxes"
   46960     type: DT_FLOAT
   46961   }
   46962   output_arg {
   46963     name: "begin"
   46964     type_attr: "T"
   46965   }
   46966   output_arg {
   46967     name: "size"
   46968     type_attr: "T"
   46969   }
   46970   output_arg {
   46971     name: "bboxes"
   46972     type: DT_FLOAT
   46973   }
   46974   attr {
   46975     name: "T"
   46976     type: "type"
   46977     allowed_values {
   46978       list {
   46979         type: DT_UINT8
   46980         type: DT_INT8
   46981         type: DT_INT16
   46982         type: DT_INT32
   46983         type: DT_INT64
   46984       }
   46985     }
   46986   }
   46987   attr {
   46988     name: "seed"
   46989     type: "int"
   46990     default_value {
   46991       i: 0
   46992     }
   46993   }
   46994   attr {
   46995     name: "seed2"
   46996     type: "int"
   46997     default_value {
   46998       i: 0
   46999     }
   47000   }
   47001   attr {
   47002     name: "min_object_covered"
   47003     type: "float"
   47004     default_value {
   47005       f: 0.1
   47006     }
   47007   }
   47008   attr {
   47009     name: "aspect_ratio_range"
   47010     type: "list(float)"
   47011     default_value {
   47012       list {
   47013         f: 0.75
   47014         f: 1.33
   47015       }
   47016     }
   47017   }
   47018   attr {
   47019     name: "area_range"
   47020     type: "list(float)"
   47021     default_value {
   47022       list {
   47023         f: 0.05
   47024         f: 1
   47025       }
   47026     }
   47027   }
   47028   attr {
   47029     name: "max_attempts"
   47030     type: "int"
   47031     default_value {
   47032       i: 100
   47033     }
   47034   }
   47035   attr {
   47036     name: "use_image_if_no_bounding_boxes"
   47037     type: "bool"
   47038     default_value {
   47039       b: false
   47040     }
   47041   }
   47042   is_stateful: true
   47043 }
   47044 op {
   47045   name: "SampleDistortedBoundingBoxV2"
   47046   input_arg {
   47047     name: "image_size"
   47048     type_attr: "T"
   47049   }
   47050   input_arg {
   47051     name: "bounding_boxes"
   47052     type: DT_FLOAT
   47053   }
   47054   input_arg {
   47055     name: "min_object_covered"
   47056     type: DT_FLOAT
   47057   }
   47058   output_arg {
   47059     name: "begin"
   47060     type_attr: "T"
   47061   }
   47062   output_arg {
   47063     name: "size"
   47064     type_attr: "T"
   47065   }
   47066   output_arg {
   47067     name: "bboxes"
   47068     type: DT_FLOAT
   47069   }
   47070   attr {
   47071     name: "T"
   47072     type: "type"
   47073     allowed_values {
   47074       list {
   47075         type: DT_UINT8
   47076         type: DT_INT8
   47077         type: DT_INT16
   47078         type: DT_INT32
   47079         type: DT_INT64
   47080       }
   47081     }
   47082   }
   47083   attr {
   47084     name: "seed"
   47085     type: "int"
   47086     default_value {
   47087       i: 0
   47088     }
   47089   }
   47090   attr {
   47091     name: "seed2"
   47092     type: "int"
   47093     default_value {
   47094       i: 0
   47095     }
   47096   }
   47097   attr {
   47098     name: "aspect_ratio_range"
   47099     type: "list(float)"
   47100     default_value {
   47101       list {
   47102         f: 0.75
   47103         f: 1.33
   47104       }
   47105     }
   47106   }
   47107   attr {
   47108     name: "area_range"
   47109     type: "list(float)"
   47110     default_value {
   47111       list {
   47112         f: 0.05
   47113         f: 1
   47114       }
   47115     }
   47116   }
   47117   attr {
   47118     name: "max_attempts"
   47119     type: "int"
   47120     default_value {
   47121       i: 100
   47122     }
   47123   }
   47124   attr {
   47125     name: "use_image_if_no_bounding_boxes"
   47126     type: "bool"
   47127     default_value {
   47128       b: false
   47129     }
   47130   }
   47131   is_stateful: true
   47132 }
   47133 op {
   47134   name: "Save"
   47135   input_arg {
   47136     name: "filename"
   47137     type: DT_STRING
   47138   }
   47139   input_arg {
   47140     name: "tensor_names"
   47141     type: DT_STRING
   47142   }
   47143   input_arg {
   47144     name: "data"
   47145     type_list_attr: "T"
   47146   }
   47147   attr {
   47148     name: "T"
   47149     type: "list(type)"
   47150     has_minimum: true
   47151     minimum: 1
   47152   }
   47153 }
   47154 op {
   47155   name: "Save"
   47156   input_arg {
   47157     name: "filename"
   47158     type: DT_STRING
   47159   }
   47160   input_arg {
   47161     name: "tensor_names"
   47162     type: DT_STRING
   47163   }
   47164   input_arg {
   47165     name: "data"
   47166     type_list_attr: "T"
   47167   }
   47168   attr {
   47169     name: "T"
   47170     type: "list(type)"
   47171     has_minimum: true
   47172     minimum: 1
   47173   }
   47174   is_stateful: true
   47175 }
   47176 op {
   47177   name: "SaveSlices"
   47178   input_arg {
   47179     name: "filename"
   47180     type: DT_STRING
   47181   }
   47182   input_arg {
   47183     name: "tensor_names"
   47184     type: DT_STRING
   47185   }
   47186   input_arg {
   47187     name: "shapes_and_slices"
   47188     type: DT_STRING
   47189   }
   47190   input_arg {
   47191     name: "data"
   47192     type_list_attr: "T"
   47193   }
   47194   attr {
   47195     name: "T"
   47196     type: "list(type)"
   47197     has_minimum: true
   47198     minimum: 1
   47199   }
   47200 }
   47201 op {
   47202   name: "SaveSlices"
   47203   input_arg {
   47204     name: "filename"
   47205     type: DT_STRING
   47206   }
   47207   input_arg {
   47208     name: "tensor_names"
   47209     type: DT_STRING
   47210   }
   47211   input_arg {
   47212     name: "shapes_and_slices"
   47213     type: DT_STRING
   47214   }
   47215   input_arg {
   47216     name: "data"
   47217     type_list_attr: "T"
   47218   }
   47219   attr {
   47220     name: "T"
   47221     type: "list(type)"
   47222     has_minimum: true
   47223     minimum: 1
   47224   }
   47225   is_stateful: true
   47226 }
   47227 op {
   47228   name: "SaveV2"
   47229   input_arg {
   47230     name: "prefix"
   47231     type: DT_STRING
   47232   }
   47233   input_arg {
   47234     name: "tensor_names"
   47235     type: DT_STRING
   47236   }
   47237   input_arg {
   47238     name: "shape_and_slices"
   47239     type: DT_STRING
   47240   }
   47241   input_arg {
   47242     name: "tensors"
   47243     type_list_attr: "dtypes"
   47244   }
   47245   attr {
   47246     name: "dtypes"
   47247     type: "list(type)"
   47248     has_minimum: true
   47249     minimum: 1
   47250   }
   47251 }
   47252 op {
   47253   name: "SaveV2"
   47254   input_arg {
   47255     name: "prefix"
   47256     type: DT_STRING
   47257   }
   47258   input_arg {
   47259     name: "tensor_names"
   47260     type: DT_STRING
   47261   }
   47262   input_arg {
   47263     name: "shape_and_slices"
   47264     type: DT_STRING
   47265   }
   47266   input_arg {
   47267     name: "tensors"
   47268     type_list_attr: "dtypes"
   47269   }
   47270   attr {
   47271     name: "dtypes"
   47272     type: "list(type)"
   47273     has_minimum: true
   47274     minimum: 1
   47275   }
   47276   is_stateful: true
   47277 }
   47278 op {
   47279   name: "ScalarSummary"
   47280   input_arg {
   47281     name: "tags"
   47282     type: DT_STRING
   47283   }
   47284   input_arg {
   47285     name: "values"
   47286     type_attr: "T"
   47287   }
   47288   output_arg {
   47289     name: "summary"
   47290     type: DT_STRING
   47291   }
   47292   attr {
   47293     name: "T"
   47294     type: "type"
   47295     allowed_values {
   47296       list {
   47297         type: DT_FLOAT
   47298         type: DT_DOUBLE
   47299         type: DT_INT32
   47300         type: DT_INT64
   47301         type: DT_UINT8
   47302         type: DT_INT16
   47303         type: DT_INT8
   47304         type: DT_UINT16
   47305         type: DT_HALF
   47306       }
   47307     }
   47308   }
   47309 }
   47310 op {
   47311   name: "ScalarSummary"
   47312   input_arg {
   47313     name: "tags"
   47314     type: DT_STRING
   47315   }
   47316   input_arg {
   47317     name: "values"
   47318     type_attr: "T"
   47319   }
   47320   output_arg {
   47321     name: "summary"
   47322     type: DT_STRING
   47323   }
   47324   attr {
   47325     name: "T"
   47326     type: "type"
   47327     allowed_values {
   47328       list {
   47329         type: DT_FLOAT
   47330         type: DT_DOUBLE
   47331         type: DT_INT32
   47332         type: DT_INT64
   47333         type: DT_UINT8
   47334         type: DT_INT16
   47335         type: DT_INT8
   47336         type: DT_UINT16
   47337         type: DT_HALF
   47338         type: DT_UINT32
   47339         type: DT_UINT64
   47340       }
   47341     }
   47342   }
   47343 }
   47344 op {
   47345   name: "ScalarSummary"
   47346   input_arg {
   47347     name: "tags"
   47348     type: DT_STRING
   47349   }
   47350   input_arg {
   47351     name: "values"
   47352     type_attr: "T"
   47353   }
   47354   output_arg {
   47355     name: "summary"
   47356     type: DT_STRING
   47357   }
   47358   attr {
   47359     name: "T"
   47360     type: "type"
   47361     allowed_values {
   47362       list {
   47363         type: DT_FLOAT
   47364         type: DT_DOUBLE
   47365         type: DT_INT32
   47366         type: DT_INT64
   47367         type: DT_UINT8
   47368         type: DT_INT16
   47369         type: DT_INT8
   47370         type: DT_UINT16
   47371         type: DT_HALF
   47372         type: DT_UINT32
   47373         type: DT_UINT64
   47374         type: DT_BFLOAT16
   47375       }
   47376     }
   47377   }
   47378 }
   47379 op {
   47380   name: "ScalarSummary"
   47381   input_arg {
   47382     name: "tags"
   47383     type: DT_STRING
   47384   }
   47385   input_arg {
   47386     name: "values"
   47387     type_attr: "T"
   47388   }
   47389   output_arg {
   47390     name: "summary"
   47391     type: DT_STRING
   47392   }
   47393   attr {
   47394     name: "T"
   47395     type: "type"
   47396     allowed_values {
   47397       list {
   47398         type: DT_FLOAT
   47399         type: DT_DOUBLE
   47400         type: DT_INT32
   47401         type: DT_UINT8
   47402         type: DT_INT16
   47403         type: DT_INT8
   47404         type: DT_INT64
   47405         type: DT_BFLOAT16
   47406         type: DT_UINT16
   47407         type: DT_HALF
   47408         type: DT_UINT32
   47409         type: DT_UINT64
   47410       }
   47411     }
   47412   }
   47413 }
   47414 op {
   47415   name: "ScanDataset"
   47416   input_arg {
   47417     name: "input_dataset"
   47418     type: DT_VARIANT
   47419   }
   47420   input_arg {
   47421     name: "initial_state"
   47422     type_list_attr: "Tstate"
   47423   }
   47424   input_arg {
   47425     name: "other_arguments"
   47426     type_list_attr: "Targuments"
   47427   }
   47428   output_arg {
   47429     name: "handle"
   47430     type: DT_VARIANT
   47431   }
   47432   attr {
   47433     name: "f"
   47434     type: "func"
   47435   }
   47436   attr {
   47437     name: "Tstate"
   47438     type: "list(type)"
   47439     has_minimum: true
   47440     minimum: 1
   47441   }
   47442   attr {
   47443     name: "Targuments"
   47444     type: "list(type)"
   47445     has_minimum: true
   47446   }
   47447   attr {
   47448     name: "output_types"
   47449     type: "list(type)"
   47450     has_minimum: true
   47451     minimum: 1
   47452   }
   47453   attr {
   47454     name: "output_shapes"
   47455     type: "list(shape)"
   47456     has_minimum: true
   47457     minimum: 1
   47458   }
   47459 }
   47460 op {
   47461   name: "ScatterAdd"
   47462   input_arg {
   47463     name: "ref"
   47464     type_attr: "T"
   47465     is_ref: true
   47466   }
   47467   input_arg {
   47468     name: "indices"
   47469     type_attr: "Tindices"
   47470   }
   47471   input_arg {
   47472     name: "updates"
   47473     type_attr: "T"
   47474   }
   47475   output_arg {
   47476     name: "output_ref"
   47477     type_attr: "T"
   47478     is_ref: true
   47479   }
   47480   attr {
   47481     name: "T"
   47482     type: "type"
   47483     allowed_values {
   47484       list {
   47485         type: DT_FLOAT
   47486         type: DT_DOUBLE
   47487         type: DT_INT64
   47488         type: DT_INT32
   47489         type: DT_UINT8
   47490         type: DT_UINT16
   47491         type: DT_INT16
   47492         type: DT_INT8
   47493         type: DT_COMPLEX64
   47494         type: DT_COMPLEX128
   47495         type: DT_QINT8
   47496         type: DT_QUINT8
   47497         type: DT_QINT32
   47498         type: DT_HALF
   47499       }
   47500     }
   47501   }
   47502   attr {
   47503     name: "Tindices"
   47504     type: "type"
   47505     allowed_values {
   47506       list {
   47507         type: DT_INT32
   47508         type: DT_INT64
   47509       }
   47510     }
   47511   }
   47512   attr {
   47513     name: "use_locking"
   47514     type: "bool"
   47515     default_value {
   47516       b: false
   47517     }
   47518   }
   47519 }
   47520 op {
   47521   name: "ScatterAdd"
   47522   input_arg {
   47523     name: "ref"
   47524     type_attr: "T"
   47525     is_ref: true
   47526   }
   47527   input_arg {
   47528     name: "indices"
   47529     type_attr: "Tindices"
   47530   }
   47531   input_arg {
   47532     name: "updates"
   47533     type_attr: "T"
   47534   }
   47535   output_arg {
   47536     name: "output_ref"
   47537     type_attr: "T"
   47538     is_ref: true
   47539   }
   47540   attr {
   47541     name: "T"
   47542     type: "type"
   47543     allowed_values {
   47544       list {
   47545         type: DT_FLOAT
   47546         type: DT_DOUBLE
   47547         type: DT_INT64
   47548         type: DT_INT32
   47549         type: DT_UINT8
   47550         type: DT_UINT16
   47551         type: DT_INT16
   47552         type: DT_INT8
   47553         type: DT_COMPLEX64
   47554         type: DT_COMPLEX128
   47555         type: DT_QINT8
   47556         type: DT_QUINT8
   47557         type: DT_QINT32
   47558         type: DT_HALF
   47559         type: DT_UINT32
   47560         type: DT_UINT64
   47561       }
   47562     }
   47563   }
   47564   attr {
   47565     name: "Tindices"
   47566     type: "type"
   47567     allowed_values {
   47568       list {
   47569         type: DT_INT32
   47570         type: DT_INT64
   47571       }
   47572     }
   47573   }
   47574   attr {
   47575     name: "use_locking"
   47576     type: "bool"
   47577     default_value {
   47578       b: false
   47579     }
   47580   }
   47581 }
   47582 op {
   47583   name: "ScatterAdd"
   47584   input_arg {
   47585     name: "ref"
   47586     type_attr: "T"
   47587     is_ref: true
   47588   }
   47589   input_arg {
   47590     name: "indices"
   47591     type_attr: "Tindices"
   47592   }
   47593   input_arg {
   47594     name: "updates"
   47595     type_attr: "T"
   47596   }
   47597   output_arg {
   47598     name: "output_ref"
   47599     type_attr: "T"
   47600     is_ref: true
   47601   }
   47602   attr {
   47603     name: "T"
   47604     type: "type"
   47605     allowed_values {
   47606       list {
   47607         type: DT_FLOAT
   47608         type: DT_DOUBLE
   47609         type: DT_INT64
   47610         type: DT_INT32
   47611         type: DT_UINT8
   47612         type: DT_UINT16
   47613         type: DT_INT16
   47614         type: DT_INT8
   47615         type: DT_COMPLEX64
   47616         type: DT_COMPLEX128
   47617         type: DT_QINT8
   47618         type: DT_QUINT8
   47619         type: DT_QINT32
   47620         type: DT_HALF
   47621         type: DT_UINT32
   47622         type: DT_UINT64
   47623         type: DT_BFLOAT16
   47624       }
   47625     }
   47626   }
   47627   attr {
   47628     name: "Tindices"
   47629     type: "type"
   47630     allowed_values {
   47631       list {
   47632         type: DT_INT32
   47633         type: DT_INT64
   47634       }
   47635     }
   47636   }
   47637   attr {
   47638     name: "use_locking"
   47639     type: "bool"
   47640     default_value {
   47641       b: false
   47642     }
   47643   }
   47644 }
   47645 op {
   47646   name: "ScatterAdd"
   47647   input_arg {
   47648     name: "ref"
   47649     type_attr: "T"
   47650     is_ref: true
   47651   }
   47652   input_arg {
   47653     name: "indices"
   47654     type_attr: "Tindices"
   47655   }
   47656   input_arg {
   47657     name: "updates"
   47658     type_attr: "T"
   47659   }
   47660   output_arg {
   47661     name: "output_ref"
   47662     type_attr: "T"
   47663     is_ref: true
   47664   }
   47665   attr {
   47666     name: "T"
   47667     type: "type"
   47668     allowed_values {
   47669       list {
   47670         type: DT_FLOAT
   47671         type: DT_DOUBLE
   47672         type: DT_INT32
   47673         type: DT_UINT8
   47674         type: DT_INT16
   47675         type: DT_INT8
   47676         type: DT_COMPLEX64
   47677         type: DT_INT64
   47678         type: DT_QINT8
   47679         type: DT_QUINT8
   47680         type: DT_QINT32
   47681         type: DT_BFLOAT16
   47682         type: DT_UINT16
   47683         type: DT_COMPLEX128
   47684         type: DT_HALF
   47685         type: DT_UINT32
   47686         type: DT_UINT64
   47687       }
   47688     }
   47689   }
   47690   attr {
   47691     name: "Tindices"
   47692     type: "type"
   47693     allowed_values {
   47694       list {
   47695         type: DT_INT32
   47696         type: DT_INT64
   47697       }
   47698     }
   47699   }
   47700   attr {
   47701     name: "use_locking"
   47702     type: "bool"
   47703     default_value {
   47704       b: false
   47705     }
   47706   }
   47707 }
   47708 op {
   47709   name: "ScatterDiv"
   47710   input_arg {
   47711     name: "ref"
   47712     type_attr: "T"
   47713     is_ref: true
   47714   }
   47715   input_arg {
   47716     name: "indices"
   47717     type_attr: "Tindices"
   47718   }
   47719   input_arg {
   47720     name: "updates"
   47721     type_attr: "T"
   47722   }
   47723   output_arg {
   47724     name: "output_ref"
   47725     type_attr: "T"
   47726     is_ref: true
   47727   }
   47728   attr {
   47729     name: "T"
   47730     type: "type"
   47731     allowed_values {
   47732       list {
   47733         type: DT_FLOAT
   47734         type: DT_DOUBLE
   47735         type: DT_INT64
   47736         type: DT_INT32
   47737         type: DT_UINT8
   47738         type: DT_UINT16
   47739         type: DT_INT16
   47740         type: DT_INT8
   47741         type: DT_COMPLEX64
   47742         type: DT_COMPLEX128
   47743         type: DT_QINT8
   47744         type: DT_QUINT8
   47745         type: DT_QINT32
   47746         type: DT_HALF
   47747       }
   47748     }
   47749   }
   47750   attr {
   47751     name: "Tindices"
   47752     type: "type"
   47753     allowed_values {
   47754       list {
   47755         type: DT_INT32
   47756         type: DT_INT64
   47757       }
   47758     }
   47759   }
   47760   attr {
   47761     name: "use_locking"
   47762     type: "bool"
   47763     default_value {
   47764       b: false
   47765     }
   47766   }
   47767 }
   47768 op {
   47769   name: "ScatterDiv"
   47770   input_arg {
   47771     name: "ref"
   47772     type_attr: "T"
   47773     is_ref: true
   47774   }
   47775   input_arg {
   47776     name: "indices"
   47777     type_attr: "Tindices"
   47778   }
   47779   input_arg {
   47780     name: "updates"
   47781     type_attr: "T"
   47782   }
   47783   output_arg {
   47784     name: "output_ref"
   47785     type_attr: "T"
   47786     is_ref: true
   47787   }
   47788   attr {
   47789     name: "T"
   47790     type: "type"
   47791     allowed_values {
   47792       list {
   47793         type: DT_FLOAT
   47794         type: DT_DOUBLE
   47795         type: DT_INT64
   47796         type: DT_INT32
   47797         type: DT_UINT8
   47798         type: DT_UINT16
   47799         type: DT_INT16
   47800         type: DT_INT8
   47801         type: DT_COMPLEX64
   47802         type: DT_COMPLEX128
   47803         type: DT_QINT8
   47804         type: DT_QUINT8
   47805         type: DT_QINT32
   47806         type: DT_HALF
   47807         type: DT_UINT32
   47808         type: DT_UINT64
   47809       }
   47810     }
   47811   }
   47812   attr {
   47813     name: "Tindices"
   47814     type: "type"
   47815     allowed_values {
   47816       list {
   47817         type: DT_INT32
   47818         type: DT_INT64
   47819       }
   47820     }
   47821   }
   47822   attr {
   47823     name: "use_locking"
   47824     type: "bool"
   47825     default_value {
   47826       b: false
   47827     }
   47828   }
   47829 }
   47830 op {
   47831   name: "ScatterDiv"
   47832   input_arg {
   47833     name: "ref"
   47834     type_attr: "T"
   47835     is_ref: true
   47836   }
   47837   input_arg {
   47838     name: "indices"
   47839     type_attr: "Tindices"
   47840   }
   47841   input_arg {
   47842     name: "updates"
   47843     type_attr: "T"
   47844   }
   47845   output_arg {
   47846     name: "output_ref"
   47847     type_attr: "T"
   47848     is_ref: true
   47849   }
   47850   attr {
   47851     name: "T"
   47852     type: "type"
   47853     allowed_values {
   47854       list {
   47855         type: DT_FLOAT
   47856         type: DT_DOUBLE
   47857         type: DT_INT64
   47858         type: DT_INT32
   47859         type: DT_UINT8
   47860         type: DT_UINT16
   47861         type: DT_INT16
   47862         type: DT_INT8
   47863         type: DT_COMPLEX64
   47864         type: DT_COMPLEX128
   47865         type: DT_QINT8
   47866         type: DT_QUINT8
   47867         type: DT_QINT32
   47868         type: DT_HALF
   47869         type: DT_UINT32
   47870         type: DT_UINT64
   47871         type: DT_BFLOAT16
   47872       }
   47873     }
   47874   }
   47875   attr {
   47876     name: "Tindices"
   47877     type: "type"
   47878     allowed_values {
   47879       list {
   47880         type: DT_INT32
   47881         type: DT_INT64
   47882       }
   47883     }
   47884   }
   47885   attr {
   47886     name: "use_locking"
   47887     type: "bool"
   47888     default_value {
   47889       b: false
   47890     }
   47891   }
   47892 }
   47893 op {
   47894   name: "ScatterDiv"
   47895   input_arg {
   47896     name: "ref"
   47897     type_attr: "T"
   47898     is_ref: true
   47899   }
   47900   input_arg {
   47901     name: "indices"
   47902     type_attr: "Tindices"
   47903   }
   47904   input_arg {
   47905     name: "updates"
   47906     type_attr: "T"
   47907   }
   47908   output_arg {
   47909     name: "output_ref"
   47910     type_attr: "T"
   47911     is_ref: true
   47912   }
   47913   attr {
   47914     name: "T"
   47915     type: "type"
   47916     allowed_values {
   47917       list {
   47918         type: DT_FLOAT
   47919         type: DT_DOUBLE
   47920         type: DT_INT32
   47921         type: DT_UINT8
   47922         type: DT_INT16
   47923         type: DT_INT8
   47924         type: DT_COMPLEX64
   47925         type: DT_INT64
   47926         type: DT_QINT8
   47927         type: DT_QUINT8
   47928         type: DT_QINT32
   47929         type: DT_BFLOAT16
   47930         type: DT_UINT16
   47931         type: DT_COMPLEX128
   47932         type: DT_HALF
   47933         type: DT_UINT32
   47934         type: DT_UINT64
   47935       }
   47936     }
   47937   }
   47938   attr {
   47939     name: "Tindices"
   47940     type: "type"
   47941     allowed_values {
   47942       list {
   47943         type: DT_INT32
   47944         type: DT_INT64
   47945       }
   47946     }
   47947   }
   47948   attr {
   47949     name: "use_locking"
   47950     type: "bool"
   47951     default_value {
   47952       b: false
   47953     }
   47954   }
   47955 }
   47956 op {
   47957   name: "ScatterMul"
   47958   input_arg {
   47959     name: "ref"
   47960     type_attr: "T"
   47961     is_ref: true
   47962   }
   47963   input_arg {
   47964     name: "indices"
   47965     type_attr: "Tindices"
   47966   }
   47967   input_arg {
   47968     name: "updates"
   47969     type_attr: "T"
   47970   }
   47971   output_arg {
   47972     name: "output_ref"
   47973     type_attr: "T"
   47974     is_ref: true
   47975   }
   47976   attr {
   47977     name: "T"
   47978     type: "type"
   47979     allowed_values {
   47980       list {
   47981         type: DT_FLOAT
   47982         type: DT_DOUBLE
   47983         type: DT_INT64
   47984         type: DT_INT32
   47985         type: DT_UINT8
   47986         type: DT_UINT16
   47987         type: DT_INT16
   47988         type: DT_INT8
   47989         type: DT_COMPLEX64
   47990         type: DT_COMPLEX128
   47991         type: DT_QINT8
   47992         type: DT_QUINT8
   47993         type: DT_QINT32
   47994         type: DT_HALF
   47995       }
   47996     }
   47997   }
   47998   attr {
   47999     name: "Tindices"
   48000     type: "type"
   48001     allowed_values {
   48002       list {
   48003         type: DT_INT32
   48004         type: DT_INT64
   48005       }
   48006     }
   48007   }
   48008   attr {
   48009     name: "use_locking"
   48010     type: "bool"
   48011     default_value {
   48012       b: false
   48013     }
   48014   }
   48015 }
   48016 op {
   48017   name: "ScatterMul"
   48018   input_arg {
   48019     name: "ref"
   48020     type_attr: "T"
   48021     is_ref: true
   48022   }
   48023   input_arg {
   48024     name: "indices"
   48025     type_attr: "Tindices"
   48026   }
   48027   input_arg {
   48028     name: "updates"
   48029     type_attr: "T"
   48030   }
   48031   output_arg {
   48032     name: "output_ref"
   48033     type_attr: "T"
   48034     is_ref: true
   48035   }
   48036   attr {
   48037     name: "T"
   48038     type: "type"
   48039     allowed_values {
   48040       list {
   48041         type: DT_FLOAT
   48042         type: DT_DOUBLE
   48043         type: DT_INT64
   48044         type: DT_INT32
   48045         type: DT_UINT8
   48046         type: DT_UINT16
   48047         type: DT_INT16
   48048         type: DT_INT8
   48049         type: DT_COMPLEX64
   48050         type: DT_COMPLEX128
   48051         type: DT_QINT8
   48052         type: DT_QUINT8
   48053         type: DT_QINT32
   48054         type: DT_HALF
   48055         type: DT_UINT32
   48056         type: DT_UINT64
   48057       }
   48058     }
   48059   }
   48060   attr {
   48061     name: "Tindices"
   48062     type: "type"
   48063     allowed_values {
   48064       list {
   48065         type: DT_INT32
   48066         type: DT_INT64
   48067       }
   48068     }
   48069   }
   48070   attr {
   48071     name: "use_locking"
   48072     type: "bool"
   48073     default_value {
   48074       b: false
   48075     }
   48076   }
   48077 }
   48078 op {
   48079   name: "ScatterMul"
   48080   input_arg {
   48081     name: "ref"
   48082     type_attr: "T"
   48083     is_ref: true
   48084   }
   48085   input_arg {
   48086     name: "indices"
   48087     type_attr: "Tindices"
   48088   }
   48089   input_arg {
   48090     name: "updates"
   48091     type_attr: "T"
   48092   }
   48093   output_arg {
   48094     name: "output_ref"
   48095     type_attr: "T"
   48096     is_ref: true
   48097   }
   48098   attr {
   48099     name: "T"
   48100     type: "type"
   48101     allowed_values {
   48102       list {
   48103         type: DT_FLOAT
   48104         type: DT_DOUBLE
   48105         type: DT_INT64
   48106         type: DT_INT32
   48107         type: DT_UINT8
   48108         type: DT_UINT16
   48109         type: DT_INT16
   48110         type: DT_INT8
   48111         type: DT_COMPLEX64
   48112         type: DT_COMPLEX128
   48113         type: DT_QINT8
   48114         type: DT_QUINT8
   48115         type: DT_QINT32
   48116         type: DT_HALF
   48117         type: DT_UINT32
   48118         type: DT_UINT64
   48119         type: DT_BFLOAT16
   48120       }
   48121     }
   48122   }
   48123   attr {
   48124     name: "Tindices"
   48125     type: "type"
   48126     allowed_values {
   48127       list {
   48128         type: DT_INT32
   48129         type: DT_INT64
   48130       }
   48131     }
   48132   }
   48133   attr {
   48134     name: "use_locking"
   48135     type: "bool"
   48136     default_value {
   48137       b: false
   48138     }
   48139   }
   48140 }
   48141 op {
   48142   name: "ScatterMul"
   48143   input_arg {
   48144     name: "ref"
   48145     type_attr: "T"
   48146     is_ref: true
   48147   }
   48148   input_arg {
   48149     name: "indices"
   48150     type_attr: "Tindices"
   48151   }
   48152   input_arg {
   48153     name: "updates"
   48154     type_attr: "T"
   48155   }
   48156   output_arg {
   48157     name: "output_ref"
   48158     type_attr: "T"
   48159     is_ref: true
   48160   }
   48161   attr {
   48162     name: "T"
   48163     type: "type"
   48164     allowed_values {
   48165       list {
   48166         type: DT_FLOAT
   48167         type: DT_DOUBLE
   48168         type: DT_INT32
   48169         type: DT_UINT8
   48170         type: DT_INT16
   48171         type: DT_INT8
   48172         type: DT_COMPLEX64
   48173         type: DT_INT64
   48174         type: DT_QINT8
   48175         type: DT_QUINT8
   48176         type: DT_QINT32
   48177         type: DT_BFLOAT16
   48178         type: DT_UINT16
   48179         type: DT_COMPLEX128
   48180         type: DT_HALF
   48181         type: DT_UINT32
   48182         type: DT_UINT64
   48183       }
   48184     }
   48185   }
   48186   attr {
   48187     name: "Tindices"
   48188     type: "type"
   48189     allowed_values {
   48190       list {
   48191         type: DT_INT32
   48192         type: DT_INT64
   48193       }
   48194     }
   48195   }
   48196   attr {
   48197     name: "use_locking"
   48198     type: "bool"
   48199     default_value {
   48200       b: false
   48201     }
   48202   }
   48203 }
   48204 op {
   48205   name: "ScatterNd"
   48206   input_arg {
   48207     name: "indices"
   48208     type_attr: "Tindices"
   48209   }
   48210   input_arg {
   48211     name: "updates"
   48212     type_attr: "T"
   48213   }
   48214   input_arg {
   48215     name: "shape"
   48216     type_attr: "Tindices"
   48217   }
   48218   output_arg {
   48219     name: "output"
   48220     type_attr: "T"
   48221   }
   48222   attr {
   48223     name: "T"
   48224     type: "type"
   48225   }
   48226   attr {
   48227     name: "Tindices"
   48228     type: "type"
   48229     allowed_values {
   48230       list {
   48231         type: DT_INT32
   48232         type: DT_INT64
   48233       }
   48234     }
   48235   }
   48236 }
   48237 op {
   48238   name: "ScatterNdAdd"
   48239   input_arg {
   48240     name: "ref"
   48241     type_attr: "T"
   48242     is_ref: true
   48243   }
   48244   input_arg {
   48245     name: "indices"
   48246     type_attr: "Tindices"
   48247   }
   48248   input_arg {
   48249     name: "updates"
   48250     type_attr: "T"
   48251   }
   48252   output_arg {
   48253     name: "output_ref"
   48254     type_attr: "T"
   48255     is_ref: true
   48256   }
   48257   attr {
   48258     name: "T"
   48259     type: "type"
   48260     allowed_values {
   48261       list {
   48262         type: DT_FLOAT
   48263         type: DT_DOUBLE
   48264         type: DT_INT64
   48265         type: DT_INT32
   48266         type: DT_UINT8
   48267         type: DT_UINT16
   48268         type: DT_INT16
   48269         type: DT_INT8
   48270         type: DT_COMPLEX64
   48271         type: DT_COMPLEX128
   48272         type: DT_QINT8
   48273         type: DT_QUINT8
   48274         type: DT_QINT32
   48275         type: DT_HALF
   48276       }
   48277     }
   48278   }
   48279   attr {
   48280     name: "Tindices"
   48281     type: "type"
   48282     allowed_values {
   48283       list {
   48284         type: DT_INT32
   48285         type: DT_INT64
   48286       }
   48287     }
   48288   }
   48289   attr {
   48290     name: "use_locking"
   48291     type: "bool"
   48292     default_value {
   48293       b: false
   48294     }
   48295   }
   48296 }
   48297 op {
   48298   name: "ScatterNdAdd"
   48299   input_arg {
   48300     name: "ref"
   48301     type_attr: "T"
   48302     is_ref: true
   48303   }
   48304   input_arg {
   48305     name: "indices"
   48306     type_attr: "Tindices"
   48307   }
   48308   input_arg {
   48309     name: "updates"
   48310     type_attr: "T"
   48311   }
   48312   output_arg {
   48313     name: "output_ref"
   48314     type_attr: "T"
   48315     is_ref: true
   48316   }
   48317   attr {
   48318     name: "T"
   48319     type: "type"
   48320     allowed_values {
   48321       list {
   48322         type: DT_FLOAT
   48323         type: DT_DOUBLE
   48324         type: DT_INT64
   48325         type: DT_INT32
   48326         type: DT_UINT8
   48327         type: DT_UINT16
   48328         type: DT_INT16
   48329         type: DT_INT8
   48330         type: DT_COMPLEX64
   48331         type: DT_COMPLEX128
   48332         type: DT_QINT8
   48333         type: DT_QUINT8
   48334         type: DT_QINT32
   48335         type: DT_HALF
   48336         type: DT_UINT32
   48337         type: DT_UINT64
   48338       }
   48339     }
   48340   }
   48341   attr {
   48342     name: "Tindices"
   48343     type: "type"
   48344     allowed_values {
   48345       list {
   48346         type: DT_INT32
   48347         type: DT_INT64
   48348       }
   48349     }
   48350   }
   48351   attr {
   48352     name: "use_locking"
   48353     type: "bool"
   48354     default_value {
   48355       b: false
   48356     }
   48357   }
   48358 }
   48359 op {
   48360   name: "ScatterNdAdd"
   48361   input_arg {
   48362     name: "ref"
   48363     type_attr: "T"
   48364     is_ref: true
   48365   }
   48366   input_arg {
   48367     name: "indices"
   48368     type_attr: "Tindices"
   48369   }
   48370   input_arg {
   48371     name: "updates"
   48372     type_attr: "T"
   48373   }
   48374   output_arg {
   48375     name: "output_ref"
   48376     type_attr: "T"
   48377     is_ref: true
   48378   }
   48379   attr {
   48380     name: "T"
   48381     type: "type"
   48382     allowed_values {
   48383       list {
   48384         type: DT_FLOAT
   48385         type: DT_DOUBLE
   48386         type: DT_INT64
   48387         type: DT_INT32
   48388         type: DT_UINT8
   48389         type: DT_UINT16
   48390         type: DT_INT16
   48391         type: DT_INT8
   48392         type: DT_COMPLEX64
   48393         type: DT_COMPLEX128
   48394         type: DT_QINT8
   48395         type: DT_QUINT8
   48396         type: DT_QINT32
   48397         type: DT_HALF
   48398         type: DT_UINT32
   48399         type: DT_UINT64
   48400         type: DT_BFLOAT16
   48401       }
   48402     }
   48403   }
   48404   attr {
   48405     name: "Tindices"
   48406     type: "type"
   48407     allowed_values {
   48408       list {
   48409         type: DT_INT32
   48410         type: DT_INT64
   48411       }
   48412     }
   48413   }
   48414   attr {
   48415     name: "use_locking"
   48416     type: "bool"
   48417     default_value {
   48418       b: false
   48419     }
   48420   }
   48421 }
   48422 op {
   48423   name: "ScatterNdAdd"
   48424   input_arg {
   48425     name: "ref"
   48426     type_attr: "T"
   48427     is_ref: true
   48428   }
   48429   input_arg {
   48430     name: "indices"
   48431     type_attr: "Tindices"
   48432   }
   48433   input_arg {
   48434     name: "updates"
   48435     type_attr: "T"
   48436   }
   48437   output_arg {
   48438     name: "output_ref"
   48439     type_attr: "T"
   48440     is_ref: true
   48441   }
   48442   attr {
   48443     name: "T"
   48444     type: "type"
   48445     allowed_values {
   48446       list {
   48447         type: DT_FLOAT
   48448         type: DT_DOUBLE
   48449         type: DT_INT32
   48450         type: DT_UINT8
   48451         type: DT_INT16
   48452         type: DT_INT8
   48453         type: DT_COMPLEX64
   48454         type: DT_INT64
   48455         type: DT_QINT8
   48456         type: DT_QUINT8
   48457         type: DT_QINT32
   48458         type: DT_BFLOAT16
   48459         type: DT_UINT16
   48460         type: DT_COMPLEX128
   48461         type: DT_HALF
   48462         type: DT_UINT32
   48463         type: DT_UINT64
   48464       }
   48465     }
   48466   }
   48467   attr {
   48468     name: "Tindices"
   48469     type: "type"
   48470     allowed_values {
   48471       list {
   48472         type: DT_INT32
   48473         type: DT_INT64
   48474       }
   48475     }
   48476   }
   48477   attr {
   48478     name: "use_locking"
   48479     type: "bool"
   48480     default_value {
   48481       b: false
   48482     }
   48483   }
   48484 }
   48485 op {
   48486   name: "ScatterNdNonAliasingAdd"
   48487   input_arg {
   48488     name: "input"
   48489     type_attr: "T"
   48490   }
   48491   input_arg {
   48492     name: "indices"
   48493     type_attr: "Tindices"
   48494   }
   48495   input_arg {
   48496     name: "updates"
   48497     type_attr: "T"
   48498   }
   48499   output_arg {
   48500     name: "output"
   48501     type_attr: "T"
   48502   }
   48503   attr {
   48504     name: "T"
   48505     type: "type"
   48506     allowed_values {
   48507       list {
   48508         type: DT_FLOAT
   48509         type: DT_DOUBLE
   48510         type: DT_INT64
   48511         type: DT_INT32
   48512         type: DT_UINT8
   48513         type: DT_UINT16
   48514         type: DT_INT16
   48515         type: DT_INT8
   48516         type: DT_COMPLEX64
   48517         type: DT_COMPLEX128
   48518         type: DT_QINT8
   48519         type: DT_QUINT8
   48520         type: DT_QINT32
   48521         type: DT_HALF
   48522       }
   48523     }
   48524   }
   48525   attr {
   48526     name: "Tindices"
   48527     type: "type"
   48528     allowed_values {
   48529       list {
   48530         type: DT_INT32
   48531         type: DT_INT64
   48532       }
   48533     }
   48534   }
   48535 }
   48536 op {
   48537   name: "ScatterNdNonAliasingAdd"
   48538   input_arg {
   48539     name: "input"
   48540     type_attr: "T"
   48541   }
   48542   input_arg {
   48543     name: "indices"
   48544     type_attr: "Tindices"
   48545   }
   48546   input_arg {
   48547     name: "updates"
   48548     type_attr: "T"
   48549   }
   48550   output_arg {
   48551     name: "output"
   48552     type_attr: "T"
   48553   }
   48554   attr {
   48555     name: "T"
   48556     type: "type"
   48557     allowed_values {
   48558       list {
   48559         type: DT_FLOAT
   48560         type: DT_DOUBLE
   48561         type: DT_INT64
   48562         type: DT_INT32
   48563         type: DT_UINT8
   48564         type: DT_UINT16
   48565         type: DT_INT16
   48566         type: DT_INT8
   48567         type: DT_COMPLEX64
   48568         type: DT_COMPLEX128
   48569         type: DT_QINT8
   48570         type: DT_QUINT8
   48571         type: DT_QINT32
   48572         type: DT_HALF
   48573         type: DT_UINT32
   48574         type: DT_UINT64
   48575       }
   48576     }
   48577   }
   48578   attr {
   48579     name: "Tindices"
   48580     type: "type"
   48581     allowed_values {
   48582       list {
   48583         type: DT_INT32
   48584         type: DT_INT64
   48585       }
   48586     }
   48587   }
   48588 }
   48589 op {
   48590   name: "ScatterNdNonAliasingAdd"
   48591   input_arg {
   48592     name: "input"
   48593     type_attr: "T"
   48594   }
   48595   input_arg {
   48596     name: "indices"
   48597     type_attr: "Tindices"
   48598   }
   48599   input_arg {
   48600     name: "updates"
   48601     type_attr: "T"
   48602   }
   48603   output_arg {
   48604     name: "output"
   48605     type_attr: "T"
   48606   }
   48607   attr {
   48608     name: "T"
   48609     type: "type"
   48610     allowed_values {
   48611       list {
   48612         type: DT_FLOAT
   48613         type: DT_DOUBLE
   48614         type: DT_INT64
   48615         type: DT_INT32
   48616         type: DT_UINT8
   48617         type: DT_UINT16
   48618         type: DT_INT16
   48619         type: DT_INT8
   48620         type: DT_COMPLEX64
   48621         type: DT_COMPLEX128
   48622         type: DT_QINT8
   48623         type: DT_QUINT8
   48624         type: DT_QINT32
   48625         type: DT_HALF
   48626         type: DT_UINT32
   48627         type: DT_UINT64
   48628         type: DT_BFLOAT16
   48629       }
   48630     }
   48631   }
   48632   attr {
   48633     name: "Tindices"
   48634     type: "type"
   48635     allowed_values {
   48636       list {
   48637         type: DT_INT32
   48638         type: DT_INT64
   48639       }
   48640     }
   48641   }
   48642 }
   48643 op {
   48644   name: "ScatterNdNonAliasingAdd"
   48645   input_arg {
   48646     name: "input"
   48647     type_attr: "T"
   48648   }
   48649   input_arg {
   48650     name: "indices"
   48651     type_attr: "Tindices"
   48652   }
   48653   input_arg {
   48654     name: "updates"
   48655     type_attr: "T"
   48656   }
   48657   output_arg {
   48658     name: "output"
   48659     type_attr: "T"
   48660   }
   48661   attr {
   48662     name: "T"
   48663     type: "type"
   48664     allowed_values {
   48665       list {
   48666         type: DT_FLOAT
   48667         type: DT_DOUBLE
   48668         type: DT_INT32
   48669         type: DT_UINT8
   48670         type: DT_INT16
   48671         type: DT_INT8
   48672         type: DT_COMPLEX64
   48673         type: DT_INT64
   48674         type: DT_QINT8
   48675         type: DT_QUINT8
   48676         type: DT_QINT32
   48677         type: DT_BFLOAT16
   48678         type: DT_UINT16
   48679         type: DT_COMPLEX128
   48680         type: DT_HALF
   48681         type: DT_UINT32
   48682         type: DT_UINT64
   48683       }
   48684     }
   48685   }
   48686   attr {
   48687     name: "Tindices"
   48688     type: "type"
   48689     allowed_values {
   48690       list {
   48691         type: DT_INT32
   48692         type: DT_INT64
   48693       }
   48694     }
   48695   }
   48696 }
   48697 op {
   48698   name: "ScatterNdSub"
   48699   input_arg {
   48700     name: "ref"
   48701     type_attr: "T"
   48702     is_ref: true
   48703   }
   48704   input_arg {
   48705     name: "indices"
   48706     type_attr: "Tindices"
   48707   }
   48708   input_arg {
   48709     name: "updates"
   48710     type_attr: "T"
   48711   }
   48712   output_arg {
   48713     name: "output_ref"
   48714     type_attr: "T"
   48715     is_ref: true
   48716   }
   48717   attr {
   48718     name: "T"
   48719     type: "type"
   48720     allowed_values {
   48721       list {
   48722         type: DT_FLOAT
   48723         type: DT_DOUBLE
   48724         type: DT_INT64
   48725         type: DT_INT32
   48726         type: DT_UINT8
   48727         type: DT_UINT16
   48728         type: DT_INT16
   48729         type: DT_INT8
   48730         type: DT_COMPLEX64
   48731         type: DT_COMPLEX128
   48732         type: DT_QINT8
   48733         type: DT_QUINT8
   48734         type: DT_QINT32
   48735         type: DT_HALF
   48736       }
   48737     }
   48738   }
   48739   attr {
   48740     name: "Tindices"
   48741     type: "type"
   48742     allowed_values {
   48743       list {
   48744         type: DT_INT32
   48745         type: DT_INT64
   48746       }
   48747     }
   48748   }
   48749   attr {
   48750     name: "use_locking"
   48751     type: "bool"
   48752     default_value {
   48753       b: false
   48754     }
   48755   }
   48756 }
   48757 op {
   48758   name: "ScatterNdSub"
   48759   input_arg {
   48760     name: "ref"
   48761     type_attr: "T"
   48762     is_ref: true
   48763   }
   48764   input_arg {
   48765     name: "indices"
   48766     type_attr: "Tindices"
   48767   }
   48768   input_arg {
   48769     name: "updates"
   48770     type_attr: "T"
   48771   }
   48772   output_arg {
   48773     name: "output_ref"
   48774     type_attr: "T"
   48775     is_ref: true
   48776   }
   48777   attr {
   48778     name: "T"
   48779     type: "type"
   48780     allowed_values {
   48781       list {
   48782         type: DT_FLOAT
   48783         type: DT_DOUBLE
   48784         type: DT_INT64
   48785         type: DT_INT32
   48786         type: DT_UINT8
   48787         type: DT_UINT16
   48788         type: DT_INT16
   48789         type: DT_INT8
   48790         type: DT_COMPLEX64
   48791         type: DT_COMPLEX128
   48792         type: DT_QINT8
   48793         type: DT_QUINT8
   48794         type: DT_QINT32
   48795         type: DT_HALF
   48796         type: DT_UINT32
   48797         type: DT_UINT64
   48798       }
   48799     }
   48800   }
   48801   attr {
   48802     name: "Tindices"
   48803     type: "type"
   48804     allowed_values {
   48805       list {
   48806         type: DT_INT32
   48807         type: DT_INT64
   48808       }
   48809     }
   48810   }
   48811   attr {
   48812     name: "use_locking"
   48813     type: "bool"
   48814     default_value {
   48815       b: false
   48816     }
   48817   }
   48818 }
   48819 op {
   48820   name: "ScatterNdSub"
   48821   input_arg {
   48822     name: "ref"
   48823     type_attr: "T"
   48824     is_ref: true
   48825   }
   48826   input_arg {
   48827     name: "indices"
   48828     type_attr: "Tindices"
   48829   }
   48830   input_arg {
   48831     name: "updates"
   48832     type_attr: "T"
   48833   }
   48834   output_arg {
   48835     name: "output_ref"
   48836     type_attr: "T"
   48837     is_ref: true
   48838   }
   48839   attr {
   48840     name: "T"
   48841     type: "type"
   48842     allowed_values {
   48843       list {
   48844         type: DT_FLOAT
   48845         type: DT_DOUBLE
   48846         type: DT_INT64
   48847         type: DT_INT32
   48848         type: DT_UINT8
   48849         type: DT_UINT16
   48850         type: DT_INT16
   48851         type: DT_INT8
   48852         type: DT_COMPLEX64
   48853         type: DT_COMPLEX128
   48854         type: DT_QINT8
   48855         type: DT_QUINT8
   48856         type: DT_QINT32
   48857         type: DT_HALF
   48858         type: DT_UINT32
   48859         type: DT_UINT64
   48860         type: DT_BFLOAT16
   48861       }
   48862     }
   48863   }
   48864   attr {
   48865     name: "Tindices"
   48866     type: "type"
   48867     allowed_values {
   48868       list {
   48869         type: DT_INT32
   48870         type: DT_INT64
   48871       }
   48872     }
   48873   }
   48874   attr {
   48875     name: "use_locking"
   48876     type: "bool"
   48877     default_value {
   48878       b: false
   48879     }
   48880   }
   48881 }
   48882 op {
   48883   name: "ScatterNdSub"
   48884   input_arg {
   48885     name: "ref"
   48886     type_attr: "T"
   48887     is_ref: true
   48888   }
   48889   input_arg {
   48890     name: "indices"
   48891     type_attr: "Tindices"
   48892   }
   48893   input_arg {
   48894     name: "updates"
   48895     type_attr: "T"
   48896   }
   48897   output_arg {
   48898     name: "output_ref"
   48899     type_attr: "T"
   48900     is_ref: true
   48901   }
   48902   attr {
   48903     name: "T"
   48904     type: "type"
   48905     allowed_values {
   48906       list {
   48907         type: DT_FLOAT
   48908         type: DT_DOUBLE
   48909         type: DT_INT32
   48910         type: DT_UINT8
   48911         type: DT_INT16
   48912         type: DT_INT8
   48913         type: DT_COMPLEX64
   48914         type: DT_INT64
   48915         type: DT_QINT8
   48916         type: DT_QUINT8
   48917         type: DT_QINT32
   48918         type: DT_BFLOAT16
   48919         type: DT_UINT16
   48920         type: DT_COMPLEX128
   48921         type: DT_HALF
   48922         type: DT_UINT32
   48923         type: DT_UINT64
   48924       }
   48925     }
   48926   }
   48927   attr {
   48928     name: "Tindices"
   48929     type: "type"
   48930     allowed_values {
   48931       list {
   48932         type: DT_INT32
   48933         type: DT_INT64
   48934       }
   48935     }
   48936   }
   48937   attr {
   48938     name: "use_locking"
   48939     type: "bool"
   48940     default_value {
   48941       b: false
   48942     }
   48943   }
   48944 }
   48945 op {
   48946   name: "ScatterNdUpdate"
   48947   input_arg {
   48948     name: "ref"
   48949     type_attr: "T"
   48950     is_ref: true
   48951   }
   48952   input_arg {
   48953     name: "indices"
   48954     type_attr: "Tindices"
   48955   }
   48956   input_arg {
   48957     name: "updates"
   48958     type_attr: "T"
   48959   }
   48960   output_arg {
   48961     name: "output_ref"
   48962     type_attr: "T"
   48963     is_ref: true
   48964   }
   48965   attr {
   48966     name: "T"
   48967     type: "type"
   48968   }
   48969   attr {
   48970     name: "Tindices"
   48971     type: "type"
   48972     allowed_values {
   48973       list {
   48974         type: DT_INT32
   48975         type: DT_INT64
   48976       }
   48977     }
   48978   }
   48979   attr {
   48980     name: "use_locking"
   48981     type: "bool"
   48982     default_value {
   48983       b: true
   48984     }
   48985   }
   48986 }
   48987 op {
   48988   name: "ScatterSub"
   48989   input_arg {
   48990     name: "ref"
   48991     type_attr: "T"
   48992     is_ref: true
   48993   }
   48994   input_arg {
   48995     name: "indices"
   48996     type_attr: "Tindices"
   48997   }
   48998   input_arg {
   48999     name: "updates"
   49000     type_attr: "T"
   49001   }
   49002   output_arg {
   49003     name: "output_ref"
   49004     type_attr: "T"
   49005     is_ref: true
   49006   }
   49007   attr {
   49008     name: "T"
   49009     type: "type"
   49010     allowed_values {
   49011       list {
   49012         type: DT_FLOAT
   49013         type: DT_DOUBLE
   49014         type: DT_INT64
   49015         type: DT_INT32
   49016         type: DT_UINT8
   49017         type: DT_UINT16
   49018         type: DT_INT16
   49019         type: DT_INT8
   49020         type: DT_COMPLEX64
   49021         type: DT_COMPLEX128
   49022         type: DT_QINT8
   49023         type: DT_QUINT8
   49024         type: DT_QINT32
   49025         type: DT_HALF
   49026       }
   49027     }
   49028   }
   49029   attr {
   49030     name: "Tindices"
   49031     type: "type"
   49032     allowed_values {
   49033       list {
   49034         type: DT_INT32
   49035         type: DT_INT64
   49036       }
   49037     }
   49038   }
   49039   attr {
   49040     name: "use_locking"
   49041     type: "bool"
   49042     default_value {
   49043       b: false
   49044     }
   49045   }
   49046 }
   49047 op {
   49048   name: "ScatterSub"
   49049   input_arg {
   49050     name: "ref"
   49051     type_attr: "T"
   49052     is_ref: true
   49053   }
   49054   input_arg {
   49055     name: "indices"
   49056     type_attr: "Tindices"
   49057   }
   49058   input_arg {
   49059     name: "updates"
   49060     type_attr: "T"
   49061   }
   49062   output_arg {
   49063     name: "output_ref"
   49064     type_attr: "T"
   49065     is_ref: true
   49066   }
   49067   attr {
   49068     name: "T"
   49069     type: "type"
   49070     allowed_values {
   49071       list {
   49072         type: DT_FLOAT
   49073         type: DT_DOUBLE
   49074         type: DT_INT64
   49075         type: DT_INT32
   49076         type: DT_UINT8
   49077         type: DT_UINT16
   49078         type: DT_INT16
   49079         type: DT_INT8
   49080         type: DT_COMPLEX64
   49081         type: DT_COMPLEX128
   49082         type: DT_QINT8
   49083         type: DT_QUINT8
   49084         type: DT_QINT32
   49085         type: DT_HALF
   49086         type: DT_UINT32
   49087         type: DT_UINT64
   49088       }
   49089     }
   49090   }
   49091   attr {
   49092     name: "Tindices"
   49093     type: "type"
   49094     allowed_values {
   49095       list {
   49096         type: DT_INT32
   49097         type: DT_INT64
   49098       }
   49099     }
   49100   }
   49101   attr {
   49102     name: "use_locking"
   49103     type: "bool"
   49104     default_value {
   49105       b: false
   49106     }
   49107   }
   49108 }
   49109 op {
   49110   name: "ScatterSub"
   49111   input_arg {
   49112     name: "ref"
   49113     type_attr: "T"
   49114     is_ref: true
   49115   }
   49116   input_arg {
   49117     name: "indices"
   49118     type_attr: "Tindices"
   49119   }
   49120   input_arg {
   49121     name: "updates"
   49122     type_attr: "T"
   49123   }
   49124   output_arg {
   49125     name: "output_ref"
   49126     type_attr: "T"
   49127     is_ref: true
   49128   }
   49129   attr {
   49130     name: "T"
   49131     type: "type"
   49132     allowed_values {
   49133       list {
   49134         type: DT_FLOAT
   49135         type: DT_DOUBLE
   49136         type: DT_INT64
   49137         type: DT_INT32
   49138         type: DT_UINT8
   49139         type: DT_UINT16
   49140         type: DT_INT16
   49141         type: DT_INT8
   49142         type: DT_COMPLEX64
   49143         type: DT_COMPLEX128
   49144         type: DT_QINT8
   49145         type: DT_QUINT8
   49146         type: DT_QINT32
   49147         type: DT_HALF
   49148         type: DT_UINT32
   49149         type: DT_UINT64
   49150         type: DT_BFLOAT16
   49151       }
   49152     }
   49153   }
   49154   attr {
   49155     name: "Tindices"
   49156     type: "type"
   49157     allowed_values {
   49158       list {
   49159         type: DT_INT32
   49160         type: DT_INT64
   49161       }
   49162     }
   49163   }
   49164   attr {
   49165     name: "use_locking"
   49166     type: "bool"
   49167     default_value {
   49168       b: false
   49169     }
   49170   }
   49171 }
   49172 op {
   49173   name: "ScatterSub"
   49174   input_arg {
   49175     name: "ref"
   49176     type_attr: "T"
   49177     is_ref: true
   49178   }
   49179   input_arg {
   49180     name: "indices"
   49181     type_attr: "Tindices"
   49182   }
   49183   input_arg {
   49184     name: "updates"
   49185     type_attr: "T"
   49186   }
   49187   output_arg {
   49188     name: "output_ref"
   49189     type_attr: "T"
   49190     is_ref: true
   49191   }
   49192   attr {
   49193     name: "T"
   49194     type: "type"
   49195     allowed_values {
   49196       list {
   49197         type: DT_FLOAT
   49198         type: DT_DOUBLE
   49199         type: DT_INT32
   49200         type: DT_UINT8
   49201         type: DT_INT16
   49202         type: DT_INT8
   49203         type: DT_COMPLEX64
   49204         type: DT_INT64
   49205         type: DT_QINT8
   49206         type: DT_QUINT8
   49207         type: DT_QINT32
   49208         type: DT_BFLOAT16
   49209         type: DT_UINT16
   49210         type: DT_COMPLEX128
   49211         type: DT_HALF
   49212         type: DT_UINT32
   49213         type: DT_UINT64
   49214       }
   49215     }
   49216   }
   49217   attr {
   49218     name: "Tindices"
   49219     type: "type"
   49220     allowed_values {
   49221       list {
   49222         type: DT_INT32
   49223         type: DT_INT64
   49224       }
   49225     }
   49226   }
   49227   attr {
   49228     name: "use_locking"
   49229     type: "bool"
   49230     default_value {
   49231       b: false
   49232     }
   49233   }
   49234 }
   49235 op {
   49236   name: "ScatterUpdate"
   49237   input_arg {
   49238     name: "ref"
   49239     type_attr: "T"
   49240     is_ref: true
   49241   }
   49242   input_arg {
   49243     name: "indices"
   49244     type_attr: "Tindices"
   49245   }
   49246   input_arg {
   49247     name: "updates"
   49248     type_attr: "T"
   49249   }
   49250   output_arg {
   49251     name: "output_ref"
   49252     type_attr: "T"
   49253     is_ref: true
   49254   }
   49255   attr {
   49256     name: "T"
   49257     type: "type"
   49258   }
   49259   attr {
   49260     name: "Tindices"
   49261     type: "type"
   49262     allowed_values {
   49263       list {
   49264         type: DT_INT32
   49265         type: DT_INT64
   49266       }
   49267     }
   49268   }
   49269   attr {
   49270     name: "use_locking"
   49271     type: "bool"
   49272     default_value {
   49273       b: true
   49274     }
   49275   }
   49276 }
   49277 op {
   49278   name: "SdcaFprint"
   49279   input_arg {
   49280     name: "input"
   49281     type: DT_STRING
   49282   }
   49283   output_arg {
   49284     name: "output"
   49285     type: DT_INT64
   49286   }
   49287 }
   49288 op {
   49289   name: "SdcaOptimizer"
   49290   input_arg {
   49291     name: "sparse_example_indices"
   49292     type: DT_INT64
   49293     number_attr: "num_sparse_features"
   49294   }
   49295   input_arg {
   49296     name: "sparse_feature_indices"
   49297     type: DT_INT64
   49298     number_attr: "num_sparse_features"
   49299   }
   49300   input_arg {
   49301     name: "sparse_feature_values"
   49302     type: DT_FLOAT
   49303     number_attr: "num_sparse_features_with_values"
   49304   }
   49305   input_arg {
   49306     name: "dense_features"
   49307     type: DT_FLOAT
   49308     number_attr: "num_dense_features"
   49309   }
   49310   input_arg {
   49311     name: "example_weights"
   49312     type: DT_FLOAT
   49313   }
   49314   input_arg {
   49315     name: "example_labels"
   49316     type: DT_FLOAT
   49317   }
   49318   input_arg {
   49319     name: "sparse_indices"
   49320     type: DT_INT64
   49321     number_attr: "num_sparse_features"
   49322   }
   49323   input_arg {
   49324     name: "sparse_weights"
   49325     type: DT_FLOAT
   49326     number_attr: "num_sparse_features"
   49327   }
   49328   input_arg {
   49329     name: "dense_weights"
   49330     type: DT_FLOAT
   49331     number_attr: "num_dense_features"
   49332   }
   49333   input_arg {
   49334     name: "example_state_data"
   49335     type: DT_FLOAT
   49336   }
   49337   output_arg {
   49338     name: "out_example_state_data"
   49339     type: DT_FLOAT
   49340   }
   49341   output_arg {
   49342     name: "out_delta_sparse_weights"
   49343     type: DT_FLOAT
   49344     number_attr: "num_sparse_features"
   49345   }
   49346   output_arg {
   49347     name: "out_delta_dense_weights"
   49348     type: DT_FLOAT
   49349     number_attr: "num_dense_features"
   49350   }
   49351   attr {
   49352     name: "loss_type"
   49353     type: "string"
   49354     allowed_values {
   49355       list {
   49356         s: "logistic_loss"
   49357         s: "squared_loss"
   49358         s: "hinge_loss"
   49359         s: "smooth_hinge_loss"
   49360       }
   49361     }
   49362   }
   49363   attr {
   49364     name: "adaptative"
   49365     type: "bool"
   49366     default_value {
   49367       b: false
   49368     }
   49369   }
   49370   attr {
   49371     name: "num_sparse_features"
   49372     type: "int"
   49373     has_minimum: true
   49374   }
   49375   attr {
   49376     name: "num_sparse_features_with_values"
   49377     type: "int"
   49378     has_minimum: true
   49379   }
   49380   attr {
   49381     name: "num_dense_features"
   49382     type: "int"
   49383     has_minimum: true
   49384   }
   49385   attr {
   49386     name: "l1"
   49387     type: "float"
   49388   }
   49389   attr {
   49390     name: "l2"
   49391     type: "float"
   49392   }
   49393   attr {
   49394     name: "num_loss_partitions"
   49395     type: "int"
   49396     has_minimum: true
   49397     minimum: 1
   49398   }
   49399   attr {
   49400     name: "num_inner_iterations"
   49401     type: "int"
   49402     has_minimum: true
   49403     minimum: 1
   49404   }
   49405 }
   49406 op {
   49407   name: "SdcaShrinkL1"
   49408   input_arg {
   49409     name: "weights"
   49410     type: DT_FLOAT
   49411     number_attr: "num_features"
   49412     is_ref: true
   49413   }
   49414   attr {
   49415     name: "num_features"
   49416     type: "int"
   49417     has_minimum: true
   49418   }
   49419   attr {
   49420     name: "l1"
   49421     type: "float"
   49422   }
   49423   attr {
   49424     name: "l2"
   49425     type: "float"
   49426   }
   49427 }
   49428 op {
   49429   name: "SegmentMax"
   49430   input_arg {
   49431     name: "data"
   49432     type_attr: "T"
   49433   }
   49434   input_arg {
   49435     name: "segment_ids"
   49436     type_attr: "Tindices"
   49437   }
   49438   output_arg {
   49439     name: "output"
   49440     type_attr: "T"
   49441   }
   49442   attr {
   49443     name: "T"
   49444     type: "type"
   49445     allowed_values {
   49446       list {
   49447         type: DT_FLOAT
   49448         type: DT_DOUBLE
   49449         type: DT_INT32
   49450         type: DT_INT64
   49451         type: DT_UINT8
   49452         type: DT_INT16
   49453         type: DT_INT8
   49454         type: DT_UINT16
   49455         type: DT_HALF
   49456       }
   49457     }
   49458   }
   49459   attr {
   49460     name: "Tindices"
   49461     type: "type"
   49462     allowed_values {
   49463       list {
   49464         type: DT_INT32
   49465         type: DT_INT64
   49466       }
   49467     }
   49468   }
   49469 }
   49470 op {
   49471   name: "SegmentMax"
   49472   input_arg {
   49473     name: "data"
   49474     type_attr: "T"
   49475   }
   49476   input_arg {
   49477     name: "segment_ids"
   49478     type_attr: "Tindices"
   49479   }
   49480   output_arg {
   49481     name: "output"
   49482     type_attr: "T"
   49483   }
   49484   attr {
   49485     name: "T"
   49486     type: "type"
   49487     allowed_values {
   49488       list {
   49489         type: DT_FLOAT
   49490         type: DT_DOUBLE
   49491         type: DT_INT32
   49492         type: DT_INT64
   49493         type: DT_UINT8
   49494         type: DT_INT16
   49495         type: DT_INT8
   49496         type: DT_UINT16
   49497         type: DT_HALF
   49498         type: DT_UINT32
   49499         type: DT_UINT64
   49500       }
   49501     }
   49502   }
   49503   attr {
   49504     name: "Tindices"
   49505     type: "type"
   49506     allowed_values {
   49507       list {
   49508         type: DT_INT32
   49509         type: DT_INT64
   49510       }
   49511     }
   49512   }
   49513 }
   49514 op {
   49515   name: "SegmentMax"
   49516   input_arg {
   49517     name: "data"
   49518     type_attr: "T"
   49519   }
   49520   input_arg {
   49521     name: "segment_ids"
   49522     type_attr: "Tindices"
   49523   }
   49524   output_arg {
   49525     name: "output"
   49526     type_attr: "T"
   49527   }
   49528   attr {
   49529     name: "T"
   49530     type: "type"
   49531     allowed_values {
   49532       list {
   49533         type: DT_FLOAT
   49534         type: DT_DOUBLE
   49535         type: DT_INT32
   49536         type: DT_INT64
   49537         type: DT_UINT8
   49538         type: DT_INT16
   49539         type: DT_INT8
   49540         type: DT_UINT16
   49541         type: DT_HALF
   49542         type: DT_UINT32
   49543         type: DT_UINT64
   49544         type: DT_BFLOAT16
   49545       }
   49546     }
   49547   }
   49548   attr {
   49549     name: "Tindices"
   49550     type: "type"
   49551     allowed_values {
   49552       list {
   49553         type: DT_INT32
   49554         type: DT_INT64
   49555       }
   49556     }
   49557   }
   49558 }
   49559 op {
   49560   name: "SegmentMax"
   49561   input_arg {
   49562     name: "data"
   49563     type_attr: "T"
   49564   }
   49565   input_arg {
   49566     name: "segment_ids"
   49567     type_attr: "Tindices"
   49568   }
   49569   output_arg {
   49570     name: "output"
   49571     type_attr: "T"
   49572   }
   49573   attr {
   49574     name: "T"
   49575     type: "type"
   49576     allowed_values {
   49577       list {
   49578         type: DT_FLOAT
   49579         type: DT_DOUBLE
   49580         type: DT_INT32
   49581         type: DT_UINT8
   49582         type: DT_INT16
   49583         type: DT_INT8
   49584         type: DT_INT64
   49585         type: DT_BFLOAT16
   49586         type: DT_UINT16
   49587         type: DT_HALF
   49588         type: DT_UINT32
   49589         type: DT_UINT64
   49590       }
   49591     }
   49592   }
   49593   attr {
   49594     name: "Tindices"
   49595     type: "type"
   49596     allowed_values {
   49597       list {
   49598         type: DT_INT32
   49599         type: DT_INT64
   49600       }
   49601     }
   49602   }
   49603 }
   49604 op {
   49605   name: "SegmentMean"
   49606   input_arg {
   49607     name: "data"
   49608     type_attr: "T"
   49609   }
   49610   input_arg {
   49611     name: "segment_ids"
   49612     type_attr: "Tindices"
   49613   }
   49614   output_arg {
   49615     name: "output"
   49616     type_attr: "T"
   49617   }
   49618   attr {
   49619     name: "T"
   49620     type: "type"
   49621     allowed_values {
   49622       list {
   49623         type: DT_FLOAT
   49624         type: DT_DOUBLE
   49625         type: DT_INT32
   49626         type: DT_INT64
   49627         type: DT_UINT8
   49628         type: DT_INT16
   49629         type: DT_INT8
   49630         type: DT_UINT16
   49631         type: DT_HALF
   49632       }
   49633     }
   49634   }
   49635   attr {
   49636     name: "Tindices"
   49637     type: "type"
   49638     allowed_values {
   49639       list {
   49640         type: DT_INT32
   49641         type: DT_INT64
   49642       }
   49643     }
   49644   }
   49645 }
   49646 op {
   49647   name: "SegmentMean"
   49648   input_arg {
   49649     name: "data"
   49650     type_attr: "T"
   49651   }
   49652   input_arg {
   49653     name: "segment_ids"
   49654     type_attr: "Tindices"
   49655   }
   49656   output_arg {
   49657     name: "output"
   49658     type_attr: "T"
   49659   }
   49660   attr {
   49661     name: "T"
   49662     type: "type"
   49663     allowed_values {
   49664       list {
   49665         type: DT_FLOAT
   49666         type: DT_DOUBLE
   49667         type: DT_INT32
   49668         type: DT_INT64
   49669         type: DT_UINT8
   49670         type: DT_INT16
   49671         type: DT_INT8
   49672         type: DT_UINT16
   49673         type: DT_HALF
   49674         type: DT_UINT32
   49675         type: DT_UINT64
   49676       }
   49677     }
   49678   }
   49679   attr {
   49680     name: "Tindices"
   49681     type: "type"
   49682     allowed_values {
   49683       list {
   49684         type: DT_INT32
   49685         type: DT_INT64
   49686       }
   49687     }
   49688   }
   49689 }
   49690 op {
   49691   name: "SegmentMean"
   49692   input_arg {
   49693     name: "data"
   49694     type_attr: "T"
   49695   }
   49696   input_arg {
   49697     name: "segment_ids"
   49698     type_attr: "Tindices"
   49699   }
   49700   output_arg {
   49701     name: "output"
   49702     type_attr: "T"
   49703   }
   49704   attr {
   49705     name: "T"
   49706     type: "type"
   49707     allowed_values {
   49708       list {
   49709         type: DT_FLOAT
   49710         type: DT_DOUBLE
   49711         type: DT_INT32
   49712         type: DT_INT64
   49713         type: DT_UINT8
   49714         type: DT_INT16
   49715         type: DT_INT8
   49716         type: DT_UINT16
   49717         type: DT_HALF
   49718         type: DT_UINT32
   49719         type: DT_UINT64
   49720         type: DT_BFLOAT16
   49721       }
   49722     }
   49723   }
   49724   attr {
   49725     name: "Tindices"
   49726     type: "type"
   49727     allowed_values {
   49728       list {
   49729         type: DT_INT32
   49730         type: DT_INT64
   49731       }
   49732     }
   49733   }
   49734 }
   49735 op {
   49736   name: "SegmentMean"
   49737   input_arg {
   49738     name: "data"
   49739     type_attr: "T"
   49740   }
   49741   input_arg {
   49742     name: "segment_ids"
   49743     type_attr: "Tindices"
   49744   }
   49745   output_arg {
   49746     name: "output"
   49747     type_attr: "T"
   49748   }
   49749   attr {
   49750     name: "T"
   49751     type: "type"
   49752     allowed_values {
   49753       list {
   49754         type: DT_FLOAT
   49755         type: DT_DOUBLE
   49756         type: DT_INT32
   49757         type: DT_UINT8
   49758         type: DT_INT16
   49759         type: DT_INT8
   49760         type: DT_INT64
   49761         type: DT_BFLOAT16
   49762         type: DT_UINT16
   49763         type: DT_HALF
   49764         type: DT_UINT32
   49765         type: DT_UINT64
   49766       }
   49767     }
   49768   }
   49769   attr {
   49770     name: "Tindices"
   49771     type: "type"
   49772     allowed_values {
   49773       list {
   49774         type: DT_INT32
   49775         type: DT_INT64
   49776       }
   49777     }
   49778   }
   49779 }
   49780 op {
   49781   name: "SegmentMin"
   49782   input_arg {
   49783     name: "data"
   49784     type_attr: "T"
   49785   }
   49786   input_arg {
   49787     name: "segment_ids"
   49788     type_attr: "Tindices"
   49789   }
   49790   output_arg {
   49791     name: "output"
   49792     type_attr: "T"
   49793   }
   49794   attr {
   49795     name: "T"
   49796     type: "type"
   49797     allowed_values {
   49798       list {
   49799         type: DT_FLOAT
   49800         type: DT_DOUBLE
   49801         type: DT_INT32
   49802         type: DT_INT64
   49803         type: DT_UINT8
   49804         type: DT_INT16
   49805         type: DT_INT8
   49806         type: DT_UINT16
   49807         type: DT_HALF
   49808       }
   49809     }
   49810   }
   49811   attr {
   49812     name: "Tindices"
   49813     type: "type"
   49814     allowed_values {
   49815       list {
   49816         type: DT_INT32
   49817         type: DT_INT64
   49818       }
   49819     }
   49820   }
   49821 }
   49822 op {
   49823   name: "SegmentMin"
   49824   input_arg {
   49825     name: "data"
   49826     type_attr: "T"
   49827   }
   49828   input_arg {
   49829     name: "segment_ids"
   49830     type_attr: "Tindices"
   49831   }
   49832   output_arg {
   49833     name: "output"
   49834     type_attr: "T"
   49835   }
   49836   attr {
   49837     name: "T"
   49838     type: "type"
   49839     allowed_values {
   49840       list {
   49841         type: DT_FLOAT
   49842         type: DT_DOUBLE
   49843         type: DT_INT32
   49844         type: DT_INT64
   49845         type: DT_UINT8
   49846         type: DT_INT16
   49847         type: DT_INT8
   49848         type: DT_UINT16
   49849         type: DT_HALF
   49850         type: DT_UINT32
   49851         type: DT_UINT64
   49852       }
   49853     }
   49854   }
   49855   attr {
   49856     name: "Tindices"
   49857     type: "type"
   49858     allowed_values {
   49859       list {
   49860         type: DT_INT32
   49861         type: DT_INT64
   49862       }
   49863     }
   49864   }
   49865 }
   49866 op {
   49867   name: "SegmentMin"
   49868   input_arg {
   49869     name: "data"
   49870     type_attr: "T"
   49871   }
   49872   input_arg {
   49873     name: "segment_ids"
   49874     type_attr: "Tindices"
   49875   }
   49876   output_arg {
   49877     name: "output"
   49878     type_attr: "T"
   49879   }
   49880   attr {
   49881     name: "T"
   49882     type: "type"
   49883     allowed_values {
   49884       list {
   49885         type: DT_FLOAT
   49886         type: DT_DOUBLE
   49887         type: DT_INT32
   49888         type: DT_INT64
   49889         type: DT_UINT8
   49890         type: DT_INT16
   49891         type: DT_INT8
   49892         type: DT_UINT16
   49893         type: DT_HALF
   49894         type: DT_UINT32
   49895         type: DT_UINT64
   49896         type: DT_BFLOAT16
   49897       }
   49898     }
   49899   }
   49900   attr {
   49901     name: "Tindices"
   49902     type: "type"
   49903     allowed_values {
   49904       list {
   49905         type: DT_INT32
   49906         type: DT_INT64
   49907       }
   49908     }
   49909   }
   49910 }
   49911 op {
   49912   name: "SegmentMin"
   49913   input_arg {
   49914     name: "data"
   49915     type_attr: "T"
   49916   }
   49917   input_arg {
   49918     name: "segment_ids"
   49919     type_attr: "Tindices"
   49920   }
   49921   output_arg {
   49922     name: "output"
   49923     type_attr: "T"
   49924   }
   49925   attr {
   49926     name: "T"
   49927     type: "type"
   49928     allowed_values {
   49929       list {
   49930         type: DT_FLOAT
   49931         type: DT_DOUBLE
   49932         type: DT_INT32
   49933         type: DT_UINT8
   49934         type: DT_INT16
   49935         type: DT_INT8
   49936         type: DT_INT64
   49937         type: DT_BFLOAT16
   49938         type: DT_UINT16
   49939         type: DT_HALF
   49940         type: DT_UINT32
   49941         type: DT_UINT64
   49942       }
   49943     }
   49944   }
   49945   attr {
   49946     name: "Tindices"
   49947     type: "type"
   49948     allowed_values {
   49949       list {
   49950         type: DT_INT32
   49951         type: DT_INT64
   49952       }
   49953     }
   49954   }
   49955 }
   49956 op {
   49957   name: "SegmentProd"
   49958   input_arg {
   49959     name: "data"
   49960     type_attr: "T"
   49961   }
   49962   input_arg {
   49963     name: "segment_ids"
   49964     type_attr: "Tindices"
   49965   }
   49966   output_arg {
   49967     name: "output"
   49968     type_attr: "T"
   49969   }
   49970   attr {
   49971     name: "T"
   49972     type: "type"
   49973     allowed_values {
   49974       list {
   49975         type: DT_FLOAT
   49976         type: DT_DOUBLE
   49977         type: DT_INT64
   49978         type: DT_INT32
   49979         type: DT_UINT8
   49980         type: DT_UINT16
   49981         type: DT_INT16
   49982         type: DT_INT8
   49983         type: DT_COMPLEX64
   49984         type: DT_COMPLEX128
   49985         type: DT_QINT8
   49986         type: DT_QUINT8
   49987         type: DT_QINT32
   49988         type: DT_HALF
   49989       }
   49990     }
   49991   }
   49992   attr {
   49993     name: "Tindices"
   49994     type: "type"
   49995     allowed_values {
   49996       list {
   49997         type: DT_INT32
   49998         type: DT_INT64
   49999       }
   50000     }
   50001   }
   50002 }
   50003 op {
   50004   name: "SegmentProd"
   50005   input_arg {
   50006     name: "data"
   50007     type_attr: "T"
   50008   }
   50009   input_arg {
   50010     name: "segment_ids"
   50011     type_attr: "Tindices"
   50012   }
   50013   output_arg {
   50014     name: "output"
   50015     type_attr: "T"
   50016   }
   50017   attr {
   50018     name: "T"
   50019     type: "type"
   50020     allowed_values {
   50021       list {
   50022         type: DT_FLOAT
   50023         type: DT_DOUBLE
   50024         type: DT_INT64
   50025         type: DT_INT32
   50026         type: DT_UINT8
   50027         type: DT_UINT16
   50028         type: DT_INT16
   50029         type: DT_INT8
   50030         type: DT_COMPLEX64
   50031         type: DT_COMPLEX128
   50032         type: DT_QINT8
   50033         type: DT_QUINT8
   50034         type: DT_QINT32
   50035         type: DT_HALF
   50036         type: DT_UINT32
   50037         type: DT_UINT64
   50038       }
   50039     }
   50040   }
   50041   attr {
   50042     name: "Tindices"
   50043     type: "type"
   50044     allowed_values {
   50045       list {
   50046         type: DT_INT32
   50047         type: DT_INT64
   50048       }
   50049     }
   50050   }
   50051 }
   50052 op {
   50053   name: "SegmentProd"
   50054   input_arg {
   50055     name: "data"
   50056     type_attr: "T"
   50057   }
   50058   input_arg {
   50059     name: "segment_ids"
   50060     type_attr: "Tindices"
   50061   }
   50062   output_arg {
   50063     name: "output"
   50064     type_attr: "T"
   50065   }
   50066   attr {
   50067     name: "T"
   50068     type: "type"
   50069     allowed_values {
   50070       list {
   50071         type: DT_FLOAT
   50072         type: DT_DOUBLE
   50073         type: DT_INT64
   50074         type: DT_INT32
   50075         type: DT_UINT8
   50076         type: DT_UINT16
   50077         type: DT_INT16
   50078         type: DT_INT8
   50079         type: DT_COMPLEX64
   50080         type: DT_COMPLEX128
   50081         type: DT_QINT8
   50082         type: DT_QUINT8
   50083         type: DT_QINT32
   50084         type: DT_HALF
   50085         type: DT_UINT32
   50086         type: DT_UINT64
   50087         type: DT_BFLOAT16
   50088       }
   50089     }
   50090   }
   50091   attr {
   50092     name: "Tindices"
   50093     type: "type"
   50094     allowed_values {
   50095       list {
   50096         type: DT_INT32
   50097         type: DT_INT64
   50098       }
   50099     }
   50100   }
   50101 }
   50102 op {
   50103   name: "SegmentProd"
   50104   input_arg {
   50105     name: "data"
   50106     type_attr: "T"
   50107   }
   50108   input_arg {
   50109     name: "segment_ids"
   50110     type_attr: "Tindices"
   50111   }
   50112   output_arg {
   50113     name: "output"
   50114     type_attr: "T"
   50115   }
   50116   attr {
   50117     name: "T"
   50118     type: "type"
   50119     allowed_values {
   50120       list {
   50121         type: DT_FLOAT
   50122         type: DT_DOUBLE
   50123         type: DT_INT32
   50124         type: DT_UINT8
   50125         type: DT_INT16
   50126         type: DT_INT8
   50127         type: DT_COMPLEX64
   50128         type: DT_INT64
   50129         type: DT_QINT8
   50130         type: DT_QUINT8
   50131         type: DT_QINT32
   50132         type: DT_BFLOAT16
   50133         type: DT_UINT16
   50134         type: DT_COMPLEX128
   50135         type: DT_HALF
   50136         type: DT_UINT32
   50137         type: DT_UINT64
   50138       }
   50139     }
   50140   }
   50141   attr {
   50142     name: "Tindices"
   50143     type: "type"
   50144     allowed_values {
   50145       list {
   50146         type: DT_INT32
   50147         type: DT_INT64
   50148       }
   50149     }
   50150   }
   50151 }
   50152 op {
   50153   name: "SegmentSum"
   50154   input_arg {
   50155     name: "data"
   50156     type_attr: "T"
   50157   }
   50158   input_arg {
   50159     name: "segment_ids"
   50160     type_attr: "Tindices"
   50161   }
   50162   output_arg {
   50163     name: "output"
   50164     type_attr: "T"
   50165   }
   50166   attr {
   50167     name: "T"
   50168     type: "type"
   50169     allowed_values {
   50170       list {
   50171         type: DT_FLOAT
   50172         type: DT_DOUBLE
   50173         type: DT_INT64
   50174         type: DT_INT32
   50175         type: DT_UINT8
   50176         type: DT_UINT16
   50177         type: DT_INT16
   50178         type: DT_INT8
   50179         type: DT_COMPLEX64
   50180         type: DT_COMPLEX128
   50181         type: DT_QINT8
   50182         type: DT_QUINT8
   50183         type: DT_QINT32
   50184         type: DT_HALF
   50185       }
   50186     }
   50187   }
   50188   attr {
   50189     name: "Tindices"
   50190     type: "type"
   50191     allowed_values {
   50192       list {
   50193         type: DT_INT32
   50194         type: DT_INT64
   50195       }
   50196     }
   50197   }
   50198 }
   50199 op {
   50200   name: "SegmentSum"
   50201   input_arg {
   50202     name: "data"
   50203     type_attr: "T"
   50204   }
   50205   input_arg {
   50206     name: "segment_ids"
   50207     type_attr: "Tindices"
   50208   }
   50209   output_arg {
   50210     name: "output"
   50211     type_attr: "T"
   50212   }
   50213   attr {
   50214     name: "T"
   50215     type: "type"
   50216     allowed_values {
   50217       list {
   50218         type: DT_FLOAT
   50219         type: DT_DOUBLE
   50220         type: DT_INT64
   50221         type: DT_INT32
   50222         type: DT_UINT8
   50223         type: DT_UINT16
   50224         type: DT_INT16
   50225         type: DT_INT8
   50226         type: DT_COMPLEX64
   50227         type: DT_COMPLEX128
   50228         type: DT_QINT8
   50229         type: DT_QUINT8
   50230         type: DT_QINT32
   50231         type: DT_HALF
   50232         type: DT_UINT32
   50233         type: DT_UINT64
   50234       }
   50235     }
   50236   }
   50237   attr {
   50238     name: "Tindices"
   50239     type: "type"
   50240     allowed_values {
   50241       list {
   50242         type: DT_INT32
   50243         type: DT_INT64
   50244       }
   50245     }
   50246   }
   50247 }
   50248 op {
   50249   name: "SegmentSum"
   50250   input_arg {
   50251     name: "data"
   50252     type_attr: "T"
   50253   }
   50254   input_arg {
   50255     name: "segment_ids"
   50256     type_attr: "Tindices"
   50257   }
   50258   output_arg {
   50259     name: "output"
   50260     type_attr: "T"
   50261   }
   50262   attr {
   50263     name: "T"
   50264     type: "type"
   50265     allowed_values {
   50266       list {
   50267         type: DT_FLOAT
   50268         type: DT_DOUBLE
   50269         type: DT_INT64
   50270         type: DT_INT32
   50271         type: DT_UINT8
   50272         type: DT_UINT16
   50273         type: DT_INT16
   50274         type: DT_INT8
   50275         type: DT_COMPLEX64
   50276         type: DT_COMPLEX128
   50277         type: DT_QINT8
   50278         type: DT_QUINT8
   50279         type: DT_QINT32
   50280         type: DT_HALF
   50281         type: DT_UINT32
   50282         type: DT_UINT64
   50283         type: DT_BFLOAT16
   50284       }
   50285     }
   50286   }
   50287   attr {
   50288     name: "Tindices"
   50289     type: "type"
   50290     allowed_values {
   50291       list {
   50292         type: DT_INT32
   50293         type: DT_INT64
   50294       }
   50295     }
   50296   }
   50297 }
   50298 op {
   50299   name: "SegmentSum"
   50300   input_arg {
   50301     name: "data"
   50302     type_attr: "T"
   50303   }
   50304   input_arg {
   50305     name: "segment_ids"
   50306     type_attr: "Tindices"
   50307   }
   50308   output_arg {
   50309     name: "output"
   50310     type_attr: "T"
   50311   }
   50312   attr {
   50313     name: "T"
   50314     type: "type"
   50315     allowed_values {
   50316       list {
   50317         type: DT_FLOAT
   50318         type: DT_DOUBLE
   50319         type: DT_INT32
   50320         type: DT_UINT8
   50321         type: DT_INT16
   50322         type: DT_INT8
   50323         type: DT_COMPLEX64
   50324         type: DT_INT64
   50325         type: DT_QINT8
   50326         type: DT_QUINT8
   50327         type: DT_QINT32
   50328         type: DT_BFLOAT16
   50329         type: DT_UINT16
   50330         type: DT_COMPLEX128
   50331         type: DT_HALF
   50332         type: DT_UINT32
   50333         type: DT_UINT64
   50334       }
   50335     }
   50336   }
   50337   attr {
   50338     name: "Tindices"
   50339     type: "type"
   50340     allowed_values {
   50341       list {
   50342         type: DT_INT32
   50343         type: DT_INT64
   50344       }
   50345     }
   50346   }
   50347 }
   50348 op {
   50349   name: "Select"
   50350   input_arg {
   50351     name: "condition"
   50352     type: DT_BOOL
   50353   }
   50354   input_arg {
   50355     name: "t"
   50356     type_attr: "T"
   50357   }
   50358   input_arg {
   50359     name: "e"
   50360     type_attr: "T"
   50361   }
   50362   output_arg {
   50363     name: "output"
   50364     type_attr: "T"
   50365   }
   50366   attr {
   50367     name: "T"
   50368     type: "type"
   50369   }
   50370 }
   50371 op {
   50372   name: "SelfAdjointEig"
   50373   input_arg {
   50374     name: "input"
   50375     type_attr: "T"
   50376   }
   50377   output_arg {
   50378     name: "output"
   50379     type_attr: "T"
   50380   }
   50381   attr {
   50382     name: "T"
   50383     type: "type"
   50384     allowed_values {
   50385       list {
   50386         type: DT_DOUBLE
   50387         type: DT_FLOAT
   50388       }
   50389     }
   50390   }
   50391   deprecation {
   50392     version: 11
   50393   }
   50394 }
   50395 op {
   50396   name: "SelfAdjointEigV2"
   50397   input_arg {
   50398     name: "input"
   50399     type_attr: "T"
   50400   }
   50401   output_arg {
   50402     name: "e"
   50403     type_attr: "T"
   50404   }
   50405   output_arg {
   50406     name: "v"
   50407     type_attr: "T"
   50408   }
   50409   attr {
   50410     name: "compute_v"
   50411     type: "bool"
   50412     default_value {
   50413       b: true
   50414     }
   50415   }
   50416   attr {
   50417     name: "T"
   50418     type: "type"
   50419     allowed_values {
   50420       list {
   50421         type: DT_DOUBLE
   50422         type: DT_FLOAT
   50423       }
   50424     }
   50425   }
   50426 }
   50427 op {
   50428   name: "SelfAdjointEigV2"
   50429   input_arg {
   50430     name: "input"
   50431     type_attr: "T"
   50432   }
   50433   output_arg {
   50434     name: "e"
   50435     type_attr: "T"
   50436   }
   50437   output_arg {
   50438     name: "v"
   50439     type_attr: "T"
   50440   }
   50441   attr {
   50442     name: "compute_v"
   50443     type: "bool"
   50444     default_value {
   50445       b: true
   50446     }
   50447   }
   50448   attr {
   50449     name: "T"
   50450     type: "type"
   50451     allowed_values {
   50452       list {
   50453         type: DT_DOUBLE
   50454         type: DT_FLOAT
   50455         type: DT_COMPLEX64
   50456         type: DT_COMPLEX128
   50457       }
   50458     }
   50459   }
   50460 }
   50461 op {
   50462   name: "Selu"
   50463   input_arg {
   50464     name: "features"
   50465     type_attr: "T"
   50466   }
   50467   output_arg {
   50468     name: "activations"
   50469     type_attr: "T"
   50470   }
   50471   attr {
   50472     name: "T"
   50473     type: "type"
   50474     allowed_values {
   50475       list {
   50476         type: DT_HALF
   50477         type: DT_FLOAT
   50478         type: DT_DOUBLE
   50479       }
   50480     }
   50481   }
   50482 }
   50483 op {
   50484   name: "Selu"
   50485   input_arg {
   50486     name: "features"
   50487     type_attr: "T"
   50488   }
   50489   output_arg {
   50490     name: "activations"
   50491     type_attr: "T"
   50492   }
   50493   attr {
   50494     name: "T"
   50495     type: "type"
   50496     allowed_values {
   50497       list {
   50498         type: DT_HALF
   50499         type: DT_BFLOAT16
   50500         type: DT_FLOAT
   50501         type: DT_DOUBLE
   50502       }
   50503     }
   50504   }
   50505 }
   50506 op {
   50507   name: "SeluGrad"
   50508   input_arg {
   50509     name: "gradients"
   50510     type_attr: "T"
   50511   }
   50512   input_arg {
   50513     name: "outputs"
   50514     type_attr: "T"
   50515   }
   50516   output_arg {
   50517     name: "backprops"
   50518     type_attr: "T"
   50519   }
   50520   attr {
   50521     name: "T"
   50522     type: "type"
   50523     allowed_values {
   50524       list {
   50525         type: DT_HALF
   50526         type: DT_FLOAT
   50527         type: DT_DOUBLE
   50528       }
   50529     }
   50530   }
   50531 }
   50532 op {
   50533   name: "SeluGrad"
   50534   input_arg {
   50535     name: "gradients"
   50536     type_attr: "T"
   50537   }
   50538   input_arg {
   50539     name: "outputs"
   50540     type_attr: "T"
   50541   }
   50542   output_arg {
   50543     name: "backprops"
   50544     type_attr: "T"
   50545   }
   50546   attr {
   50547     name: "T"
   50548     type: "type"
   50549     allowed_values {
   50550       list {
   50551         type: DT_HALF
   50552         type: DT_BFLOAT16
   50553         type: DT_FLOAT
   50554         type: DT_DOUBLE
   50555       }
   50556     }
   50557   }
   50558 }
   50559 op {
   50560   name: "SerializeIterator"
   50561   input_arg {
   50562     name: "resource_handle"
   50563     type: DT_RESOURCE
   50564   }
   50565   output_arg {
   50566     name: "serialized"
   50567     type: DT_VARIANT
   50568   }
   50569   is_stateful: true
   50570 }
   50571 op {
   50572   name: "SerializeManySparse"
   50573   input_arg {
   50574     name: "sparse_indices"
   50575     type: DT_INT64
   50576   }
   50577   input_arg {
   50578     name: "sparse_values"
   50579     type_attr: "T"
   50580   }
   50581   input_arg {
   50582     name: "sparse_shape"
   50583     type: DT_INT64
   50584   }
   50585   output_arg {
   50586     name: "serialized_sparse"
   50587     type: DT_STRING
   50588   }
   50589   attr {
   50590     name: "T"
   50591     type: "type"
   50592   }
   50593 }
   50594 op {
   50595   name: "SerializeManySparse"
   50596   input_arg {
   50597     name: "sparse_indices"
   50598     type: DT_INT64
   50599   }
   50600   input_arg {
   50601     name: "sparse_values"
   50602     type_attr: "T"
   50603   }
   50604   input_arg {
   50605     name: "sparse_shape"
   50606     type: DT_INT64
   50607   }
   50608   output_arg {
   50609     name: "serialized_sparse"
   50610     type_attr: "out_type"
   50611   }
   50612   attr {
   50613     name: "T"
   50614     type: "type"
   50615   }
   50616   attr {
   50617     name: "out_type"
   50618     type: "type"
   50619     default_value {
   50620       type: DT_STRING
   50621     }
   50622     allowed_values {
   50623       list {
   50624         type: DT_STRING
   50625         type: DT_VARIANT
   50626       }
   50627     }
   50628   }
   50629 }
   50630 op {
   50631   name: "SerializeSparse"
   50632   input_arg {
   50633     name: "sparse_indices"
   50634     type: DT_INT64
   50635   }
   50636   input_arg {
   50637     name: "sparse_values"
   50638     type_attr: "T"
   50639   }
   50640   input_arg {
   50641     name: "sparse_shape"
   50642     type: DT_INT64
   50643   }
   50644   output_arg {
   50645     name: "serialized_sparse"
   50646     type: DT_STRING
   50647   }
   50648   attr {
   50649     name: "T"
   50650     type: "type"
   50651   }
   50652 }
   50653 op {
   50654   name: "SerializeSparse"
   50655   input_arg {
   50656     name: "sparse_indices"
   50657     type: DT_INT64
   50658   }
   50659   input_arg {
   50660     name: "sparse_values"
   50661     type_attr: "T"
   50662   }
   50663   input_arg {
   50664     name: "sparse_shape"
   50665     type: DT_INT64
   50666   }
   50667   output_arg {
   50668     name: "serialized_sparse"
   50669     type_attr: "out_type"
   50670   }
   50671   attr {
   50672     name: "T"
   50673     type: "type"
   50674   }
   50675   attr {
   50676     name: "out_type"
   50677     type: "type"
   50678     default_value {
   50679       type: DT_STRING
   50680     }
   50681     allowed_values {
   50682       list {
   50683         type: DT_STRING
   50684         type: DT_VARIANT
   50685       }
   50686     }
   50687   }
   50688 }
   50689 op {
   50690   name: "SerializeTensor"
   50691   input_arg {
   50692     name: "tensor"
   50693     type_attr: "T"
   50694   }
   50695   output_arg {
   50696     name: "serialized"
   50697     type: DT_STRING
   50698   }
   50699   attr {
   50700     name: "T"
   50701     type: "type"
   50702   }
   50703 }
   50704 op {
   50705   name: "SetSize"
   50706   input_arg {
   50707     name: "set_indices"
   50708     type: DT_INT64
   50709   }
   50710   input_arg {
   50711     name: "set_values"
   50712     type_attr: "T"
   50713   }
   50714   input_arg {
   50715     name: "set_shape"
   50716     type: DT_INT64
   50717   }
   50718   output_arg {
   50719     name: "size"
   50720     type: DT_INT32
   50721   }
   50722   attr {
   50723     name: "validate_indices"
   50724     type: "bool"
   50725     default_value {
   50726       b: true
   50727     }
   50728   }
   50729   attr {
   50730     name: "T"
   50731     type: "type"
   50732     allowed_values {
   50733       list {
   50734         type: DT_INT8
   50735         type: DT_INT16
   50736         type: DT_INT32
   50737         type: DT_INT64
   50738         type: DT_UINT8
   50739         type: DT_UINT16
   50740         type: DT_STRING
   50741       }
   50742     }
   50743   }
   50744 }
   50745 op {
   50746   name: "Shape"
   50747   input_arg {
   50748     name: "input"
   50749     type_attr: "T"
   50750   }
   50751   output_arg {
   50752     name: "output"
   50753     type_attr: "out_type"
   50754   }
   50755   attr {
   50756     name: "T"
   50757     type: "type"
   50758   }
   50759   attr {
   50760     name: "out_type"
   50761     type: "type"
   50762     default_value {
   50763       type: DT_INT32
   50764     }
   50765     allowed_values {
   50766       list {
   50767         type: DT_INT32
   50768         type: DT_INT64
   50769       }
   50770     }
   50771   }
   50772 }
   50773 op {
   50774   name: "ShapeN"
   50775   input_arg {
   50776     name: "input"
   50777     type_attr: "T"
   50778     number_attr: "N"
   50779   }
   50780   output_arg {
   50781     name: "output"
   50782     type_attr: "out_type"
   50783     number_attr: "N"
   50784   }
   50785   attr {
   50786     name: "N"
   50787     type: "int"
   50788     has_minimum: true
   50789     minimum: 1
   50790   }
   50791   attr {
   50792     name: "T"
   50793     type: "type"
   50794   }
   50795   attr {
   50796     name: "out_type"
   50797     type: "type"
   50798     default_value {
   50799       type: DT_INT32
   50800     }
   50801     allowed_values {
   50802       list {
   50803         type: DT_INT32
   50804         type: DT_INT64
   50805       }
   50806     }
   50807   }
   50808 }
   50809 op {
   50810   name: "ShardedFilename"
   50811   input_arg {
   50812     name: "basename"
   50813     type: DT_STRING
   50814   }
   50815   input_arg {
   50816     name: "shard"
   50817     type: DT_INT32
   50818   }
   50819   input_arg {
   50820     name: "num_shards"
   50821     type: DT_INT32
   50822   }
   50823   output_arg {
   50824     name: "filename"
   50825     type: DT_STRING
   50826   }
   50827 }
   50828 op {
   50829   name: "ShardedFilespec"
   50830   input_arg {
   50831     name: "basename"
   50832     type: DT_STRING
   50833   }
   50834   input_arg {
   50835     name: "num_shards"
   50836     type: DT_INT32
   50837   }
   50838   output_arg {
   50839     name: "filename"
   50840     type: DT_STRING
   50841   }
   50842 }
   50843 op {
   50844   name: "ShuffleAndRepeatDataset"
   50845   input_arg {
   50846     name: "input_dataset"
   50847     type: DT_VARIANT
   50848   }
   50849   input_arg {
   50850     name: "buffer_size"
   50851     type: DT_INT64
   50852   }
   50853   input_arg {
   50854     name: "seed"
   50855     type: DT_INT64
   50856   }
   50857   input_arg {
   50858     name: "seed2"
   50859     type: DT_INT64
   50860   }
   50861   input_arg {
   50862     name: "count"
   50863     type: DT_INT64
   50864   }
   50865   output_arg {
   50866     name: "handle"
   50867     type: DT_VARIANT
   50868   }
   50869   attr {
   50870     name: "output_types"
   50871     type: "list(type)"
   50872     has_minimum: true
   50873     minimum: 1
   50874   }
   50875   attr {
   50876     name: "output_shapes"
   50877     type: "list(shape)"
   50878     has_minimum: true
   50879     minimum: 1
   50880   }
   50881 }
   50882 op {
   50883   name: "ShuffleDataset"
   50884   input_arg {
   50885     name: "input_dataset"
   50886     type: DT_VARIANT
   50887   }
   50888   input_arg {
   50889     name: "buffer_size"
   50890     type: DT_INT64
   50891   }
   50892   input_arg {
   50893     name: "seed"
   50894     type: DT_INT64
   50895   }
   50896   input_arg {
   50897     name: "seed2"
   50898     type: DT_INT64
   50899   }
   50900   output_arg {
   50901     name: "handle"
   50902     type: DT_VARIANT
   50903   }
   50904   attr {
   50905     name: "output_types"
   50906     type: "list(type)"
   50907     has_minimum: true
   50908     minimum: 1
   50909   }
   50910   attr {
   50911     name: "output_shapes"
   50912     type: "list(shape)"
   50913     has_minimum: true
   50914     minimum: 1
   50915   }
   50916   is_stateful: true
   50917 }
   50918 op {
   50919   name: "ShuffleDataset"
   50920   input_arg {
   50921     name: "input_dataset"
   50922     type: DT_VARIANT
   50923   }
   50924   input_arg {
   50925     name: "buffer_size"
   50926     type: DT_INT64
   50927   }
   50928   input_arg {
   50929     name: "seed"
   50930     type: DT_INT64
   50931   }
   50932   input_arg {
   50933     name: "seed2"
   50934     type: DT_INT64
   50935   }
   50936   output_arg {
   50937     name: "handle"
   50938     type: DT_VARIANT
   50939   }
   50940   attr {
   50941     name: "output_types"
   50942     type: "list(type)"
   50943     has_minimum: true
   50944     minimum: 1
   50945   }
   50946   attr {
   50947     name: "output_shapes"
   50948     type: "list(shape)"
   50949     has_minimum: true
   50950     minimum: 1
   50951   }
   50952 }
   50953 op {
   50954   name: "ShuffleDataset"
   50955   input_arg {
   50956     name: "input_dataset"
   50957     type: DT_VARIANT
   50958   }
   50959   input_arg {
   50960     name: "buffer_size"
   50961     type: DT_INT64
   50962   }
   50963   input_arg {
   50964     name: "seed"
   50965     type: DT_INT64
   50966   }
   50967   input_arg {
   50968     name: "seed2"
   50969     type: DT_INT64
   50970   }
   50971   output_arg {
   50972     name: "handle"
   50973     type: DT_VARIANT
   50974   }
   50975   attr {
   50976     name: "reshuffle_each_iteration"
   50977     type: "bool"
   50978     default_value {
   50979       b: true
   50980     }
   50981   }
   50982   attr {
   50983     name: "output_types"
   50984     type: "list(type)"
   50985     has_minimum: true
   50986     minimum: 1
   50987   }
   50988   attr {
   50989     name: "output_shapes"
   50990     type: "list(shape)"
   50991     has_minimum: true
   50992     minimum: 1
   50993   }
   50994 }
   50995 op {
   50996   name: "Sigmoid"
   50997   input_arg {
   50998     name: "x"
   50999     type_attr: "T"
   51000   }
   51001   output_arg {
   51002     name: "y"
   51003     type_attr: "T"
   51004   }
   51005   attr {
   51006     name: "T"
   51007     type: "type"
   51008     allowed_values {
   51009       list {
   51010         type: DT_HALF
   51011         type: DT_FLOAT
   51012         type: DT_DOUBLE
   51013         type: DT_COMPLEX64
   51014         type: DT_COMPLEX128
   51015       }
   51016     }
   51017   }
   51018 }
   51019 op {
   51020   name: "Sigmoid"
   51021   input_arg {
   51022     name: "x"
   51023     type_attr: "T"
   51024   }
   51025   output_arg {
   51026     name: "y"
   51027     type_attr: "T"
   51028   }
   51029   attr {
   51030     name: "T"
   51031     type: "type"
   51032     allowed_values {
   51033       list {
   51034         type: DT_HALF
   51035         type: DT_BFLOAT16
   51036         type: DT_FLOAT
   51037         type: DT_DOUBLE
   51038         type: DT_COMPLEX64
   51039         type: DT_COMPLEX128
   51040       }
   51041     }
   51042   }
   51043 }
   51044 op {
   51045   name: "SigmoidGrad"
   51046   input_arg {
   51047     name: "x"
   51048     type_attr: "T"
   51049   }
   51050   input_arg {
   51051     name: "y"
   51052     type_attr: "T"
   51053   }
   51054   output_arg {
   51055     name: "z"
   51056     type_attr: "T"
   51057   }
   51058   attr {
   51059     name: "T"
   51060     type: "type"
   51061     allowed_values {
   51062       list {
   51063         type: DT_HALF
   51064         type: DT_FLOAT
   51065         type: DT_DOUBLE
   51066         type: DT_COMPLEX64
   51067         type: DT_COMPLEX128
   51068       }
   51069     }
   51070   }
   51071 }
   51072 op {
   51073   name: "SigmoidGrad"
   51074   input_arg {
   51075     name: "y"
   51076     type_attr: "T"
   51077   }
   51078   input_arg {
   51079     name: "dy"
   51080     type_attr: "T"
   51081   }
   51082   output_arg {
   51083     name: "z"
   51084     type_attr: "T"
   51085   }
   51086   attr {
   51087     name: "T"
   51088     type: "type"
   51089     allowed_values {
   51090       list {
   51091         type: DT_HALF
   51092         type: DT_FLOAT
   51093         type: DT_DOUBLE
   51094         type: DT_COMPLEX64
   51095         type: DT_COMPLEX128
   51096       }
   51097     }
   51098   }
   51099 }
   51100 op {
   51101   name: "SigmoidGrad"
   51102   input_arg {
   51103     name: "y"
   51104     type_attr: "T"
   51105   }
   51106   input_arg {
   51107     name: "dy"
   51108     type_attr: "T"
   51109   }
   51110   output_arg {
   51111     name: "z"
   51112     type_attr: "T"
   51113   }
   51114   attr {
   51115     name: "T"
   51116     type: "type"
   51117     allowed_values {
   51118       list {
   51119         type: DT_HALF
   51120         type: DT_BFLOAT16
   51121         type: DT_FLOAT
   51122         type: DT_DOUBLE
   51123         type: DT_COMPLEX64
   51124         type: DT_COMPLEX128
   51125       }
   51126     }
   51127   }
   51128 }
   51129 op {
   51130   name: "Sign"
   51131   input_arg {
   51132     name: "x"
   51133     type_attr: "T"
   51134   }
   51135   output_arg {
   51136     name: "y"
   51137     type_attr: "T"
   51138   }
   51139   attr {
   51140     name: "T"
   51141     type: "type"
   51142     allowed_values {
   51143       list {
   51144         type: DT_HALF
   51145         type: DT_FLOAT
   51146         type: DT_DOUBLE
   51147         type: DT_INT32
   51148         type: DT_INT64
   51149         type: DT_COMPLEX64
   51150         type: DT_COMPLEX128
   51151       }
   51152     }
   51153   }
   51154 }
   51155 op {
   51156   name: "Sign"
   51157   input_arg {
   51158     name: "x"
   51159     type_attr: "T"
   51160   }
   51161   output_arg {
   51162     name: "y"
   51163     type_attr: "T"
   51164   }
   51165   attr {
   51166     name: "T"
   51167     type: "type"
   51168     allowed_values {
   51169       list {
   51170         type: DT_HALF
   51171         type: DT_BFLOAT16
   51172         type: DT_FLOAT
   51173         type: DT_DOUBLE
   51174         type: DT_INT32
   51175         type: DT_INT64
   51176         type: DT_COMPLEX64
   51177         type: DT_COMPLEX128
   51178       }
   51179     }
   51180   }
   51181 }
   51182 op {
   51183   name: "Sin"
   51184   input_arg {
   51185     name: "x"
   51186     type_attr: "T"
   51187   }
   51188   output_arg {
   51189     name: "y"
   51190     type_attr: "T"
   51191   }
   51192   attr {
   51193     name: "T"
   51194     type: "type"
   51195     allowed_values {
   51196       list {
   51197         type: DT_HALF
   51198         type: DT_FLOAT
   51199         type: DT_DOUBLE
   51200         type: DT_COMPLEX64
   51201         type: DT_COMPLEX128
   51202       }
   51203     }
   51204   }
   51205 }
   51206 op {
   51207   name: "Sin"
   51208   input_arg {
   51209     name: "x"
   51210     type_attr: "T"
   51211   }
   51212   output_arg {
   51213     name: "y"
   51214     type_attr: "T"
   51215   }
   51216   attr {
   51217     name: "T"
   51218     type: "type"
   51219     allowed_values {
   51220       list {
   51221         type: DT_HALF
   51222         type: DT_BFLOAT16
   51223         type: DT_FLOAT
   51224         type: DT_DOUBLE
   51225         type: DT_COMPLEX64
   51226         type: DT_COMPLEX128
   51227       }
   51228     }
   51229   }
   51230 }
   51231 op {
   51232   name: "Sinh"
   51233   input_arg {
   51234     name: "x"
   51235     type_attr: "T"
   51236   }
   51237   output_arg {
   51238     name: "y"
   51239     type_attr: "T"
   51240   }
   51241   attr {
   51242     name: "T"
   51243     type: "type"
   51244     allowed_values {
   51245       list {
   51246         type: DT_HALF
   51247         type: DT_FLOAT
   51248         type: DT_DOUBLE
   51249         type: DT_COMPLEX64
   51250         type: DT_COMPLEX128
   51251       }
   51252     }
   51253   }
   51254 }
   51255 op {
   51256   name: "Sinh"
   51257   input_arg {
   51258     name: "x"
   51259     type_attr: "T"
   51260   }
   51261   output_arg {
   51262     name: "y"
   51263     type_attr: "T"
   51264   }
   51265   attr {
   51266     name: "T"
   51267     type: "type"
   51268     allowed_values {
   51269       list {
   51270         type: DT_HALF
   51271         type: DT_BFLOAT16
   51272         type: DT_FLOAT
   51273         type: DT_DOUBLE
   51274         type: DT_COMPLEX64
   51275         type: DT_COMPLEX128
   51276       }
   51277     }
   51278   }
   51279 }
   51280 op {
   51281   name: "Size"
   51282   input_arg {
   51283     name: "input"
   51284     type_attr: "T"
   51285   }
   51286   output_arg {
   51287     name: "output"
   51288     type_attr: "out_type"
   51289   }
   51290   attr {
   51291     name: "T"
   51292     type: "type"
   51293   }
   51294   attr {
   51295     name: "out_type"
   51296     type: "type"
   51297     default_value {
   51298       type: DT_INT32
   51299     }
   51300     allowed_values {
   51301       list {
   51302         type: DT_INT32
   51303         type: DT_INT64
   51304       }
   51305     }
   51306   }
   51307 }
   51308 op {
   51309   name: "SkipDataset"
   51310   input_arg {
   51311     name: "input_dataset"
   51312     type: DT_VARIANT
   51313   }
   51314   input_arg {
   51315     name: "count"
   51316     type: DT_INT64
   51317   }
   51318   output_arg {
   51319     name: "handle"
   51320     type: DT_VARIANT
   51321   }
   51322   attr {
   51323     name: "output_types"
   51324     type: "list(type)"
   51325     has_minimum: true
   51326     minimum: 1
   51327   }
   51328   attr {
   51329     name: "output_shapes"
   51330     type: "list(shape)"
   51331     has_minimum: true
   51332     minimum: 1
   51333   }
   51334   is_stateful: true
   51335 }
   51336 op {
   51337   name: "SkipDataset"
   51338   input_arg {
   51339     name: "input_dataset"
   51340     type: DT_VARIANT
   51341   }
   51342   input_arg {
   51343     name: "count"
   51344     type: DT_INT64
   51345   }
   51346   output_arg {
   51347     name: "handle"
   51348     type: DT_VARIANT
   51349   }
   51350   attr {
   51351     name: "output_types"
   51352     type: "list(type)"
   51353     has_minimum: true
   51354     minimum: 1
   51355   }
   51356   attr {
   51357     name: "output_shapes"
   51358     type: "list(shape)"
   51359     has_minimum: true
   51360     minimum: 1
   51361   }
   51362 }
   51363 op {
   51364   name: "Skipgram"
   51365   output_arg {
   51366     name: "vocab_word"
   51367     type: DT_STRING
   51368   }
   51369   output_arg {
   51370     name: "vocab_freq"
   51371     type: DT_INT32
   51372   }
   51373   output_arg {
   51374     name: "words_per_epoch"
   51375     type: DT_INT64
   51376   }
   51377   output_arg {
   51378     name: "current_epoch"
   51379     type: DT_INT32
   51380   }
   51381   output_arg {
   51382     name: "total_words_processed"
   51383     type: DT_INT64
   51384   }
   51385   output_arg {
   51386     name: "examples"
   51387     type: DT_INT32
   51388   }
   51389   output_arg {
   51390     name: "labels"
   51391     type: DT_INT32
   51392   }
   51393   attr {
   51394     name: "filename"
   51395     type: "string"
   51396   }
   51397   attr {
   51398     name: "batch_size"
   51399     type: "int"
   51400   }
   51401   attr {
   51402     name: "window_size"
   51403     type: "int"
   51404     default_value {
   51405       i: 5
   51406     }
   51407   }
   51408   attr {
   51409     name: "min_count"
   51410     type: "int"
   51411     default_value {
   51412       i: 5
   51413     }
   51414   }
   51415   attr {
   51416     name: "subsample"
   51417     type: "float"
   51418     default_value {
   51419       f: 0.001
   51420     }
   51421   }
   51422   deprecation {
   51423     version: 19
   51424   }
   51425   is_stateful: true
   51426 }
   51427 op {
   51428   name: "Slice"
   51429   input_arg {
   51430     name: "input"
   51431     type_attr: "T"
   51432   }
   51433   input_arg {
   51434     name: "begin"
   51435     type_attr: "Index"
   51436   }
   51437   input_arg {
   51438     name: "size"
   51439     type_attr: "Index"
   51440   }
   51441   output_arg {
   51442     name: "output"
   51443     type_attr: "T"
   51444   }
   51445   attr {
   51446     name: "T"
   51447     type: "type"
   51448   }
   51449   attr {
   51450     name: "Index"
   51451     type: "type"
   51452     allowed_values {
   51453       list {
   51454         type: DT_INT32
   51455         type: DT_INT64
   51456       }
   51457     }
   51458   }
   51459 }
   51460 op {
   51461   name: "Snapshot"
   51462   input_arg {
   51463     name: "input"
   51464     type_attr: "T"
   51465   }
   51466   output_arg {
   51467     name: "output"
   51468     type_attr: "T"
   51469   }
   51470   attr {
   51471     name: "T"
   51472     type: "type"
   51473   }
   51474 }
   51475 op {
   51476   name: "Softmax"
   51477   input_arg {
   51478     name: "logits"
   51479     type_attr: "T"
   51480   }
   51481   output_arg {
   51482     name: "softmax"
   51483     type_attr: "T"
   51484   }
   51485   attr {
   51486     name: "T"
   51487     type: "type"
   51488     allowed_values {
   51489       list {
   51490         type: DT_HALF
   51491         type: DT_FLOAT
   51492         type: DT_DOUBLE
   51493       }
   51494     }
   51495   }
   51496 }
   51497 op {
   51498   name: "Softmax"
   51499   input_arg {
   51500     name: "logits"
   51501     type_attr: "T"
   51502   }
   51503   output_arg {
   51504     name: "softmax"
   51505     type_attr: "T"
   51506   }
   51507   attr {
   51508     name: "T"
   51509     type: "type"
   51510     allowed_values {
   51511       list {
   51512         type: DT_HALF
   51513         type: DT_BFLOAT16
   51514         type: DT_FLOAT
   51515         type: DT_DOUBLE
   51516       }
   51517     }
   51518   }
   51519 }
   51520 op {
   51521   name: "SoftmaxCrossEntropyWithLogits"
   51522   input_arg {
   51523     name: "features"
   51524     type_attr: "T"
   51525   }
   51526   input_arg {
   51527     name: "labels"
   51528     type_attr: "T"
   51529   }
   51530   output_arg {
   51531     name: "loss"
   51532     type_attr: "T"
   51533   }
   51534   output_arg {
   51535     name: "backprop"
   51536     type_attr: "T"
   51537   }
   51538   attr {
   51539     name: "T"
   51540     type: "type"
   51541     allowed_values {
   51542       list {
   51543         type: DT_HALF
   51544         type: DT_FLOAT
   51545         type: DT_DOUBLE
   51546       }
   51547     }
   51548   }
   51549 }
   51550 op {
   51551   name: "SoftmaxCrossEntropyWithLogits"
   51552   input_arg {
   51553     name: "features"
   51554     type_attr: "T"
   51555   }
   51556   input_arg {
   51557     name: "labels"
   51558     type_attr: "T"
   51559   }
   51560   output_arg {
   51561     name: "loss"
   51562     type_attr: "T"
   51563   }
   51564   output_arg {
   51565     name: "backprop"
   51566     type_attr: "T"
   51567   }
   51568   attr {
   51569     name: "T"
   51570     type: "type"
   51571     allowed_values {
   51572       list {
   51573         type: DT_HALF
   51574         type: DT_BFLOAT16
   51575         type: DT_FLOAT
   51576         type: DT_DOUBLE
   51577       }
   51578     }
   51579   }
   51580 }
   51581 op {
   51582   name: "Softplus"
   51583   input_arg {
   51584     name: "features"
   51585     type_attr: "T"
   51586   }
   51587   output_arg {
   51588     name: "activations"
   51589     type_attr: "T"
   51590   }
   51591   attr {
   51592     name: "T"
   51593     type: "type"
   51594     allowed_values {
   51595       list {
   51596         type: DT_FLOAT
   51597         type: DT_DOUBLE
   51598         type: DT_INT32
   51599         type: DT_INT64
   51600         type: DT_UINT8
   51601         type: DT_INT16
   51602         type: DT_INT8
   51603         type: DT_UINT16
   51604         type: DT_HALF
   51605       }
   51606     }
   51607   }
   51608 }
   51609 op {
   51610   name: "Softplus"
   51611   input_arg {
   51612     name: "features"
   51613     type_attr: "T"
   51614   }
   51615   output_arg {
   51616     name: "activations"
   51617     type_attr: "T"
   51618   }
   51619   attr {
   51620     name: "T"
   51621     type: "type"
   51622     allowed_values {
   51623       list {
   51624         type: DT_FLOAT
   51625         type: DT_DOUBLE
   51626         type: DT_INT32
   51627         type: DT_INT64
   51628         type: DT_UINT8
   51629         type: DT_INT16
   51630         type: DT_INT8
   51631         type: DT_UINT16
   51632         type: DT_HALF
   51633         type: DT_UINT32
   51634         type: DT_UINT64
   51635       }
   51636     }
   51637   }
   51638 }
   51639 op {
   51640   name: "Softplus"
   51641   input_arg {
   51642     name: "features"
   51643     type_attr: "T"
   51644   }
   51645   output_arg {
   51646     name: "activations"
   51647     type_attr: "T"
   51648   }
   51649   attr {
   51650     name: "T"
   51651     type: "type"
   51652     allowed_values {
   51653       list {
   51654         type: DT_FLOAT
   51655         type: DT_DOUBLE
   51656         type: DT_INT32
   51657         type: DT_INT64
   51658         type: DT_UINT8
   51659         type: DT_INT16
   51660         type: DT_INT8
   51661         type: DT_UINT16
   51662         type: DT_HALF
   51663         type: DT_UINT32
   51664         type: DT_UINT64
   51665         type: DT_BFLOAT16
   51666       }
   51667     }
   51668   }
   51669 }
   51670 op {
   51671   name: "Softplus"
   51672   input_arg {
   51673     name: "features"
   51674     type_attr: "T"
   51675   }
   51676   output_arg {
   51677     name: "activations"
   51678     type_attr: "T"
   51679   }
   51680   attr {
   51681     name: "T"
   51682     type: "type"
   51683     allowed_values {
   51684       list {
   51685         type: DT_FLOAT
   51686         type: DT_DOUBLE
   51687         type: DT_INT32
   51688         type: DT_UINT8
   51689         type: DT_INT16
   51690         type: DT_INT8
   51691         type: DT_INT64
   51692         type: DT_BFLOAT16
   51693         type: DT_UINT16
   51694         type: DT_HALF
   51695         type: DT_UINT32
   51696         type: DT_UINT64
   51697       }
   51698     }
   51699   }
   51700 }
   51701 op {
   51702   name: "SoftplusGrad"
   51703   input_arg {
   51704     name: "gradients"
   51705     type_attr: "T"
   51706   }
   51707   input_arg {
   51708     name: "features"
   51709     type_attr: "T"
   51710   }
   51711   output_arg {
   51712     name: "backprops"
   51713     type_attr: "T"
   51714   }
   51715   attr {
   51716     name: "T"
   51717     type: "type"
   51718     allowed_values {
   51719       list {
   51720         type: DT_FLOAT
   51721         type: DT_DOUBLE
   51722         type: DT_INT32
   51723         type: DT_INT64
   51724         type: DT_UINT8
   51725         type: DT_INT16
   51726         type: DT_INT8
   51727         type: DT_UINT16
   51728         type: DT_HALF
   51729       }
   51730     }
   51731   }
   51732 }
   51733 op {
   51734   name: "SoftplusGrad"
   51735   input_arg {
   51736     name: "gradients"
   51737     type_attr: "T"
   51738   }
   51739   input_arg {
   51740     name: "features"
   51741     type_attr: "T"
   51742   }
   51743   output_arg {
   51744     name: "backprops"
   51745     type_attr: "T"
   51746   }
   51747   attr {
   51748     name: "T"
   51749     type: "type"
   51750     allowed_values {
   51751       list {
   51752         type: DT_FLOAT
   51753         type: DT_DOUBLE
   51754         type: DT_INT32
   51755         type: DT_INT64
   51756         type: DT_UINT8
   51757         type: DT_INT16
   51758         type: DT_INT8
   51759         type: DT_UINT16
   51760         type: DT_HALF
   51761         type: DT_UINT32
   51762         type: DT_UINT64
   51763       }
   51764     }
   51765   }
   51766 }
   51767 op {
   51768   name: "SoftplusGrad"
   51769   input_arg {
   51770     name: "gradients"
   51771     type_attr: "T"
   51772   }
   51773   input_arg {
   51774     name: "features"
   51775     type_attr: "T"
   51776   }
   51777   output_arg {
   51778     name: "backprops"
   51779     type_attr: "T"
   51780   }
   51781   attr {
   51782     name: "T"
   51783     type: "type"
   51784     allowed_values {
   51785       list {
   51786         type: DT_FLOAT
   51787         type: DT_DOUBLE
   51788         type: DT_INT32
   51789         type: DT_INT64
   51790         type: DT_UINT8
   51791         type: DT_INT16
   51792         type: DT_INT8
   51793         type: DT_UINT16
   51794         type: DT_HALF
   51795         type: DT_UINT32
   51796         type: DT_UINT64
   51797         type: DT_BFLOAT16
   51798       }
   51799     }
   51800   }
   51801 }
   51802 op {
   51803   name: "SoftplusGrad"
   51804   input_arg {
   51805     name: "gradients"
   51806     type_attr: "T"
   51807   }
   51808   input_arg {
   51809     name: "features"
   51810     type_attr: "T"
   51811   }
   51812   output_arg {
   51813     name: "backprops"
   51814     type_attr: "T"
   51815   }
   51816   attr {
   51817     name: "T"
   51818     type: "type"
   51819     allowed_values {
   51820       list {
   51821         type: DT_FLOAT
   51822         type: DT_DOUBLE
   51823         type: DT_INT32
   51824         type: DT_UINT8
   51825         type: DT_INT16
   51826         type: DT_INT8
   51827         type: DT_INT64
   51828         type: DT_BFLOAT16
   51829         type: DT_UINT16
   51830         type: DT_HALF
   51831         type: DT_UINT32
   51832         type: DT_UINT64
   51833       }
   51834     }
   51835   }
   51836 }
   51837 op {
   51838   name: "Softsign"
   51839   input_arg {
   51840     name: "features"
   51841     type_attr: "T"
   51842   }
   51843   output_arg {
   51844     name: "activations"
   51845     type_attr: "T"
   51846   }
   51847   attr {
   51848     name: "T"
   51849     type: "type"
   51850     allowed_values {
   51851       list {
   51852         type: DT_FLOAT
   51853         type: DT_DOUBLE
   51854         type: DT_INT32
   51855         type: DT_INT64
   51856         type: DT_UINT8
   51857         type: DT_INT16
   51858         type: DT_INT8
   51859         type: DT_UINT16
   51860         type: DT_HALF
   51861       }
   51862     }
   51863   }
   51864 }
   51865 op {
   51866   name: "Softsign"
   51867   input_arg {
   51868     name: "features"
   51869     type_attr: "T"
   51870   }
   51871   output_arg {
   51872     name: "activations"
   51873     type_attr: "T"
   51874   }
   51875   attr {
   51876     name: "T"
   51877     type: "type"
   51878     allowed_values {
   51879       list {
   51880         type: DT_FLOAT
   51881         type: DT_DOUBLE
   51882         type: DT_INT32
   51883         type: DT_INT64
   51884         type: DT_UINT8
   51885         type: DT_INT16
   51886         type: DT_INT8
   51887         type: DT_UINT16
   51888         type: DT_HALF
   51889         type: DT_UINT32
   51890         type: DT_UINT64
   51891       }
   51892     }
   51893   }
   51894 }
   51895 op {
   51896   name: "Softsign"
   51897   input_arg {
   51898     name: "features"
   51899     type_attr: "T"
   51900   }
   51901   output_arg {
   51902     name: "activations"
   51903     type_attr: "T"
   51904   }
   51905   attr {
   51906     name: "T"
   51907     type: "type"
   51908     allowed_values {
   51909       list {
   51910         type: DT_FLOAT
   51911         type: DT_DOUBLE
   51912         type: DT_INT32
   51913         type: DT_INT64
   51914         type: DT_UINT8
   51915         type: DT_INT16
   51916         type: DT_INT8
   51917         type: DT_UINT16
   51918         type: DT_HALF
   51919         type: DT_UINT32
   51920         type: DT_UINT64
   51921         type: DT_BFLOAT16
   51922       }
   51923     }
   51924   }
   51925 }
   51926 op {
   51927   name: "Softsign"
   51928   input_arg {
   51929     name: "features"
   51930     type_attr: "T"
   51931   }
   51932   output_arg {
   51933     name: "activations"
   51934     type_attr: "T"
   51935   }
   51936   attr {
   51937     name: "T"
   51938     type: "type"
   51939     allowed_values {
   51940       list {
   51941         type: DT_FLOAT
   51942         type: DT_DOUBLE
   51943         type: DT_INT32
   51944         type: DT_UINT8
   51945         type: DT_INT16
   51946         type: DT_INT8
   51947         type: DT_INT64
   51948         type: DT_BFLOAT16
   51949         type: DT_UINT16
   51950         type: DT_HALF
   51951         type: DT_UINT32
   51952         type: DT_UINT64
   51953       }
   51954     }
   51955   }
   51956 }
   51957 op {
   51958   name: "SoftsignGrad"
   51959   input_arg {
   51960     name: "gradients"
   51961     type_attr: "T"
   51962   }
   51963   input_arg {
   51964     name: "features"
   51965     type_attr: "T"
   51966   }
   51967   output_arg {
   51968     name: "backprops"
   51969     type_attr: "T"
   51970   }
   51971   attr {
   51972     name: "T"
   51973     type: "type"
   51974     allowed_values {
   51975       list {
   51976         type: DT_FLOAT
   51977         type: DT_DOUBLE
   51978         type: DT_INT32
   51979         type: DT_INT64
   51980         type: DT_UINT8
   51981         type: DT_INT16
   51982         type: DT_INT8
   51983         type: DT_UINT16
   51984         type: DT_HALF
   51985       }
   51986     }
   51987   }
   51988 }
   51989 op {
   51990   name: "SoftsignGrad"
   51991   input_arg {
   51992     name: "gradients"
   51993     type_attr: "T"
   51994   }
   51995   input_arg {
   51996     name: "features"
   51997     type_attr: "T"
   51998   }
   51999   output_arg {
   52000     name: "backprops"
   52001     type_attr: "T"
   52002   }
   52003   attr {
   52004     name: "T"
   52005     type: "type"
   52006     allowed_values {
   52007       list {
   52008         type: DT_FLOAT
   52009         type: DT_DOUBLE
   52010         type: DT_INT32
   52011         type: DT_INT64
   52012         type: DT_UINT8
   52013         type: DT_INT16
   52014         type: DT_INT8
   52015         type: DT_UINT16
   52016         type: DT_HALF
   52017         type: DT_UINT32
   52018         type: DT_UINT64
   52019       }
   52020     }
   52021   }
   52022 }
   52023 op {
   52024   name: "SoftsignGrad"
   52025   input_arg {
   52026     name: "gradients"
   52027     type_attr: "T"
   52028   }
   52029   input_arg {
   52030     name: "features"
   52031     type_attr: "T"
   52032   }
   52033   output_arg {
   52034     name: "backprops"
   52035     type_attr: "T"
   52036   }
   52037   attr {
   52038     name: "T"
   52039     type: "type"
   52040     allowed_values {
   52041       list {
   52042         type: DT_FLOAT
   52043         type: DT_DOUBLE
   52044         type: DT_INT32
   52045         type: DT_INT64
   52046         type: DT_UINT8
   52047         type: DT_INT16
   52048         type: DT_INT8
   52049         type: DT_UINT16
   52050         type: DT_HALF
   52051         type: DT_UINT32
   52052         type: DT_UINT64
   52053         type: DT_BFLOAT16
   52054       }
   52055     }
   52056   }
   52057 }
   52058 op {
   52059   name: "SoftsignGrad"
   52060   input_arg {
   52061     name: "gradients"
   52062     type_attr: "T"
   52063   }
   52064   input_arg {
   52065     name: "features"
   52066     type_attr: "T"
   52067   }
   52068   output_arg {
   52069     name: "backprops"
   52070     type_attr: "T"
   52071   }
   52072   attr {
   52073     name: "T"
   52074     type: "type"
   52075     allowed_values {
   52076       list {
   52077         type: DT_FLOAT
   52078         type: DT_DOUBLE
   52079         type: DT_INT32
   52080         type: DT_UINT8
   52081         type: DT_INT16
   52082         type: DT_INT8
   52083         type: DT_INT64
   52084         type: DT_BFLOAT16
   52085         type: DT_UINT16
   52086         type: DT_HALF
   52087         type: DT_UINT32
   52088         type: DT_UINT64
   52089       }
   52090     }
   52091   }
   52092 }
   52093 op {
   52094   name: "SpaceToBatch"
   52095   input_arg {
   52096     name: "input"
   52097     type_attr: "T"
   52098   }
   52099   input_arg {
   52100     name: "paddings"
   52101     type_attr: "Tpaddings"
   52102   }
   52103   output_arg {
   52104     name: "output"
   52105     type_attr: "T"
   52106   }
   52107   attr {
   52108     name: "T"
   52109     type: "type"
   52110   }
   52111   attr {
   52112     name: "Tpaddings"
   52113     type: "type"
   52114     default_value {
   52115       type: DT_INT32
   52116     }
   52117     allowed_values {
   52118       list {
   52119         type: DT_INT32
   52120         type: DT_INT64
   52121       }
   52122     }
   52123   }
   52124   attr {
   52125     name: "block_size"
   52126     type: "int"
   52127     has_minimum: true
   52128     minimum: 2
   52129   }
   52130 }
   52131 op {
   52132   name: "SpaceToBatchND"
   52133   input_arg {
   52134     name: "input"
   52135     type_attr: "T"
   52136   }
   52137   input_arg {
   52138     name: "block_shape"
   52139     type_attr: "Tblock_shape"
   52140   }
   52141   input_arg {
   52142     name: "paddings"
   52143     type_attr: "Tpaddings"
   52144   }
   52145   output_arg {
   52146     name: "output"
   52147     type_attr: "T"
   52148   }
   52149   attr {
   52150     name: "T"
   52151     type: "type"
   52152   }
   52153   attr {
   52154     name: "Tblock_shape"
   52155     type: "type"
   52156     default_value {
   52157       type: DT_INT32
   52158     }
   52159     allowed_values {
   52160       list {
   52161         type: DT_INT32
   52162         type: DT_INT64
   52163       }
   52164     }
   52165   }
   52166   attr {
   52167     name: "Tpaddings"
   52168     type: "type"
   52169     default_value {
   52170       type: DT_INT32
   52171     }
   52172     allowed_values {
   52173       list {
   52174         type: DT_INT32
   52175         type: DT_INT64
   52176       }
   52177     }
   52178   }
   52179 }
   52180 op {
   52181   name: "SpaceToDepth"
   52182   input_arg {
   52183     name: "input"
   52184     type_attr: "T"
   52185   }
   52186   output_arg {
   52187     name: "output"
   52188     type_attr: "T"
   52189   }
   52190   attr {
   52191     name: "T"
   52192     type: "type"
   52193   }
   52194   attr {
   52195     name: "block_size"
   52196     type: "int"
   52197     has_minimum: true
   52198     minimum: 2
   52199   }
   52200 }
   52201 op {
   52202   name: "SpaceToDepth"
   52203   input_arg {
   52204     name: "input"
   52205     type_attr: "T"
   52206   }
   52207   output_arg {
   52208     name: "output"
   52209     type_attr: "T"
   52210   }
   52211   attr {
   52212     name: "T"
   52213     type: "type"
   52214   }
   52215   attr {
   52216     name: "block_size"
   52217     type: "int"
   52218     has_minimum: true
   52219     minimum: 2
   52220   }
   52221   attr {
   52222     name: "data_format"
   52223     type: "string"
   52224     default_value {
   52225       s: "NHWC"
   52226     }
   52227     allowed_values {
   52228       list {
   52229         s: "NHWC"
   52230         s: "NCHW"
   52231         s: "NCHW_VECT_C"
   52232       }
   52233     }
   52234   }
   52235 }
   52236 op {
   52237   name: "SparseAccumulatorApplyGradient"
   52238   input_arg {
   52239     name: "handle"
   52240     type: DT_STRING
   52241     is_ref: true
   52242   }
   52243   input_arg {
   52244     name: "local_step"
   52245     type: DT_INT64
   52246   }
   52247   input_arg {
   52248     name: "gradient_indices"
   52249     type: DT_INT64
   52250   }
   52251   input_arg {
   52252     name: "gradient_values"
   52253     type_attr: "dtype"
   52254   }
   52255   input_arg {
   52256     name: "gradient_shape"
   52257     type: DT_INT64
   52258   }
   52259   attr {
   52260     name: "dtype"
   52261     type: "type"
   52262     allowed_values {
   52263       list {
   52264         type: DT_FLOAT
   52265         type: DT_DOUBLE
   52266         type: DT_INT64
   52267         type: DT_INT32
   52268         type: DT_UINT8
   52269         type: DT_UINT16
   52270         type: DT_INT16
   52271         type: DT_INT8
   52272         type: DT_COMPLEX64
   52273         type: DT_COMPLEX128
   52274         type: DT_QINT8
   52275         type: DT_QUINT8
   52276         type: DT_QINT32
   52277         type: DT_HALF
   52278       }
   52279     }
   52280   }
   52281   attr {
   52282     name: "has_known_shape"
   52283     type: "bool"
   52284   }
   52285 }
   52286 op {
   52287   name: "SparseAccumulatorApplyGradient"
   52288   input_arg {
   52289     name: "handle"
   52290     type: DT_STRING
   52291     is_ref: true
   52292   }
   52293   input_arg {
   52294     name: "local_step"
   52295     type: DT_INT64
   52296   }
   52297   input_arg {
   52298     name: "gradient_indices"
   52299     type: DT_INT64
   52300   }
   52301   input_arg {
   52302     name: "gradient_values"
   52303     type_attr: "dtype"
   52304   }
   52305   input_arg {
   52306     name: "gradient_shape"
   52307     type: DT_INT64
   52308   }
   52309   attr {
   52310     name: "dtype"
   52311     type: "type"
   52312     allowed_values {
   52313       list {
   52314         type: DT_FLOAT
   52315         type: DT_DOUBLE
   52316         type: DT_INT64
   52317         type: DT_INT32
   52318         type: DT_UINT8
   52319         type: DT_UINT16
   52320         type: DT_INT16
   52321         type: DT_INT8
   52322         type: DT_COMPLEX64
   52323         type: DT_COMPLEX128
   52324         type: DT_QINT8
   52325         type: DT_QUINT8
   52326         type: DT_QINT32
   52327         type: DT_HALF
   52328         type: DT_UINT32
   52329         type: DT_UINT64
   52330       }
   52331     }
   52332   }
   52333   attr {
   52334     name: "has_known_shape"
   52335     type: "bool"
   52336   }
   52337 }
   52338 op {
   52339   name: "SparseAccumulatorApplyGradient"
   52340   input_arg {
   52341     name: "handle"
   52342     type: DT_STRING
   52343     is_ref: true
   52344   }
   52345   input_arg {
   52346     name: "local_step"
   52347     type: DT_INT64
   52348   }
   52349   input_arg {
   52350     name: "gradient_indices"
   52351     type: DT_INT64
   52352   }
   52353   input_arg {
   52354     name: "gradient_values"
   52355     type_attr: "dtype"
   52356   }
   52357   input_arg {
   52358     name: "gradient_shape"
   52359     type: DT_INT64
   52360   }
   52361   attr {
   52362     name: "dtype"
   52363     type: "type"
   52364     allowed_values {
   52365       list {
   52366         type: DT_FLOAT
   52367         type: DT_DOUBLE
   52368         type: DT_INT64
   52369         type: DT_INT32
   52370         type: DT_UINT8
   52371         type: DT_UINT16
   52372         type: DT_INT16
   52373         type: DT_INT8
   52374         type: DT_COMPLEX64
   52375         type: DT_COMPLEX128
   52376         type: DT_QINT8
   52377         type: DT_QUINT8
   52378         type: DT_QINT32
   52379         type: DT_HALF
   52380         type: DT_UINT32
   52381         type: DT_UINT64
   52382         type: DT_BFLOAT16
   52383       }
   52384     }
   52385   }
   52386   attr {
   52387     name: "has_known_shape"
   52388     type: "bool"
   52389   }
   52390 }
   52391 op {
   52392   name: "SparseAccumulatorApplyGradient"
   52393   input_arg {
   52394     name: "handle"
   52395     type: DT_STRING
   52396     is_ref: true
   52397   }
   52398   input_arg {
   52399     name: "local_step"
   52400     type: DT_INT64
   52401   }
   52402   input_arg {
   52403     name: "gradient_indices"
   52404     type: DT_INT64
   52405   }
   52406   input_arg {
   52407     name: "gradient_values"
   52408     type_attr: "dtype"
   52409   }
   52410   input_arg {
   52411     name: "gradient_shape"
   52412     type: DT_INT64
   52413   }
   52414   attr {
   52415     name: "dtype"
   52416     type: "type"
   52417     allowed_values {
   52418       list {
   52419         type: DT_FLOAT
   52420         type: DT_DOUBLE
   52421         type: DT_INT32
   52422         type: DT_UINT8
   52423         type: DT_INT16
   52424         type: DT_INT8
   52425         type: DT_COMPLEX64
   52426         type: DT_INT64
   52427         type: DT_QINT8
   52428         type: DT_QUINT8
   52429         type: DT_QINT32
   52430         type: DT_BFLOAT16
   52431         type: DT_UINT16
   52432         type: DT_COMPLEX128
   52433         type: DT_HALF
   52434         type: DT_UINT32
   52435         type: DT_UINT64
   52436       }
   52437     }
   52438   }
   52439   attr {
   52440     name: "has_known_shape"
   52441     type: "bool"
   52442   }
   52443 }
   52444 op {
   52445   name: "SparseAccumulatorTakeGradient"
   52446   input_arg {
   52447     name: "handle"
   52448     type: DT_STRING
   52449     is_ref: true
   52450   }
   52451   input_arg {
   52452     name: "num_required"
   52453     type: DT_INT32
   52454   }
   52455   output_arg {
   52456     name: "indices"
   52457     type: DT_INT64
   52458   }
   52459   output_arg {
   52460     name: "values"
   52461     type_attr: "dtype"
   52462   }
   52463   output_arg {
   52464     name: "shape"
   52465     type: DT_INT64
   52466   }
   52467   attr {
   52468     name: "dtype"
   52469     type: "type"
   52470     allowed_values {
   52471       list {
   52472         type: DT_FLOAT
   52473         type: DT_DOUBLE
   52474         type: DT_INT64
   52475         type: DT_INT32
   52476         type: DT_UINT8
   52477         type: DT_UINT16
   52478         type: DT_INT16
   52479         type: DT_INT8
   52480         type: DT_COMPLEX64
   52481         type: DT_COMPLEX128
   52482         type: DT_QINT8
   52483         type: DT_QUINT8
   52484         type: DT_QINT32
   52485         type: DT_HALF
   52486       }
   52487     }
   52488   }
   52489 }
   52490 op {
   52491   name: "SparseAccumulatorTakeGradient"
   52492   input_arg {
   52493     name: "handle"
   52494     type: DT_STRING
   52495     is_ref: true
   52496   }
   52497   input_arg {
   52498     name: "num_required"
   52499     type: DT_INT32
   52500   }
   52501   output_arg {
   52502     name: "indices"
   52503     type: DT_INT64
   52504   }
   52505   output_arg {
   52506     name: "values"
   52507     type_attr: "dtype"
   52508   }
   52509   output_arg {
   52510     name: "shape"
   52511     type: DT_INT64
   52512   }
   52513   attr {
   52514     name: "dtype"
   52515     type: "type"
   52516     allowed_values {
   52517       list {
   52518         type: DT_FLOAT
   52519         type: DT_DOUBLE
   52520         type: DT_INT64
   52521         type: DT_INT32
   52522         type: DT_UINT8
   52523         type: DT_UINT16
   52524         type: DT_INT16
   52525         type: DT_INT8
   52526         type: DT_COMPLEX64
   52527         type: DT_COMPLEX128
   52528         type: DT_QINT8
   52529         type: DT_QUINT8
   52530         type: DT_QINT32
   52531         type: DT_HALF
   52532         type: DT_UINT32
   52533         type: DT_UINT64
   52534       }
   52535     }
   52536   }
   52537 }
   52538 op {
   52539   name: "SparseAccumulatorTakeGradient"
   52540   input_arg {
   52541     name: "handle"
   52542     type: DT_STRING
   52543     is_ref: true
   52544   }
   52545   input_arg {
   52546     name: "num_required"
   52547     type: DT_INT32
   52548   }
   52549   output_arg {
   52550     name: "indices"
   52551     type: DT_INT64
   52552   }
   52553   output_arg {
   52554     name: "values"
   52555     type_attr: "dtype"
   52556   }
   52557   output_arg {
   52558     name: "shape"
   52559     type: DT_INT64
   52560   }
   52561   attr {
   52562     name: "dtype"
   52563     type: "type"
   52564     allowed_values {
   52565       list {
   52566         type: DT_FLOAT
   52567         type: DT_DOUBLE
   52568         type: DT_INT64
   52569         type: DT_INT32
   52570         type: DT_UINT8
   52571         type: DT_UINT16
   52572         type: DT_INT16
   52573         type: DT_INT8
   52574         type: DT_COMPLEX64
   52575         type: DT_COMPLEX128
   52576         type: DT_QINT8
   52577         type: DT_QUINT8
   52578         type: DT_QINT32
   52579         type: DT_HALF
   52580         type: DT_UINT32
   52581         type: DT_UINT64
   52582         type: DT_BFLOAT16
   52583       }
   52584     }
   52585   }
   52586 }
   52587 op {
   52588   name: "SparseAccumulatorTakeGradient"
   52589   input_arg {
   52590     name: "handle"
   52591     type: DT_STRING
   52592     is_ref: true
   52593   }
   52594   input_arg {
   52595     name: "num_required"
   52596     type: DT_INT32
   52597   }
   52598   output_arg {
   52599     name: "indices"
   52600     type: DT_INT64
   52601   }
   52602   output_arg {
   52603     name: "values"
   52604     type_attr: "dtype"
   52605   }
   52606   output_arg {
   52607     name: "shape"
   52608     type: DT_INT64
   52609   }
   52610   attr {
   52611     name: "dtype"
   52612     type: "type"
   52613     allowed_values {
   52614       list {
   52615         type: DT_FLOAT
   52616         type: DT_DOUBLE
   52617         type: DT_INT32
   52618         type: DT_UINT8
   52619         type: DT_INT16
   52620         type: DT_INT8
   52621         type: DT_COMPLEX64
   52622         type: DT_INT64
   52623         type: DT_QINT8
   52624         type: DT_QUINT8
   52625         type: DT_QINT32
   52626         type: DT_BFLOAT16
   52627         type: DT_UINT16
   52628         type: DT_COMPLEX128
   52629         type: DT_HALF
   52630         type: DT_UINT32
   52631         type: DT_UINT64
   52632       }
   52633     }
   52634   }
   52635 }
   52636 op {
   52637   name: "SparseAdd"
   52638   input_arg {
   52639     name: "a_indices"
   52640     type: DT_INT64
   52641   }
   52642   input_arg {
   52643     name: "a_values"
   52644     type_attr: "T"
   52645   }
   52646   input_arg {
   52647     name: "a_shape"
   52648     type: DT_INT64
   52649   }
   52650   input_arg {
   52651     name: "b_indices"
   52652     type: DT_INT64
   52653   }
   52654   input_arg {
   52655     name: "b_values"
   52656     type_attr: "T"
   52657   }
   52658   input_arg {
   52659     name: "b_shape"
   52660     type: DT_INT64
   52661   }
   52662   input_arg {
   52663     name: "thresh"
   52664     type_attr: "Treal"
   52665   }
   52666   output_arg {
   52667     name: "sum_indices"
   52668     type: DT_INT64
   52669   }
   52670   output_arg {
   52671     name: "sum_values"
   52672     type_attr: "T"
   52673   }
   52674   output_arg {
   52675     name: "sum_shape"
   52676     type: DT_INT64
   52677   }
   52678   attr {
   52679     name: "T"
   52680     type: "type"
   52681     allowed_values {
   52682       list {
   52683         type: DT_FLOAT
   52684         type: DT_DOUBLE
   52685         type: DT_INT64
   52686         type: DT_INT32
   52687         type: DT_UINT8
   52688         type: DT_UINT16
   52689         type: DT_INT16
   52690         type: DT_INT8
   52691         type: DT_COMPLEX64
   52692         type: DT_COMPLEX128
   52693         type: DT_QINT8
   52694         type: DT_QUINT8
   52695         type: DT_QINT32
   52696         type: DT_HALF
   52697       }
   52698     }
   52699   }
   52700   attr {
   52701     name: "Treal"
   52702     type: "type"
   52703     allowed_values {
   52704       list {
   52705         type: DT_FLOAT
   52706         type: DT_DOUBLE
   52707         type: DT_INT32
   52708         type: DT_INT64
   52709         type: DT_UINT8
   52710         type: DT_INT16
   52711         type: DT_INT8
   52712         type: DT_UINT16
   52713         type: DT_HALF
   52714       }
   52715     }
   52716   }
   52717 }
   52718 op {
   52719   name: "SparseAdd"
   52720   input_arg {
   52721     name: "a_indices"
   52722     type: DT_INT64
   52723   }
   52724   input_arg {
   52725     name: "a_values"
   52726     type_attr: "T"
   52727   }
   52728   input_arg {
   52729     name: "a_shape"
   52730     type: DT_INT64
   52731   }
   52732   input_arg {
   52733     name: "b_indices"
   52734     type: DT_INT64
   52735   }
   52736   input_arg {
   52737     name: "b_values"
   52738     type_attr: "T"
   52739   }
   52740   input_arg {
   52741     name: "b_shape"
   52742     type: DT_INT64
   52743   }
   52744   input_arg {
   52745     name: "thresh"
   52746     type_attr: "Treal"
   52747   }
   52748   output_arg {
   52749     name: "sum_indices"
   52750     type: DT_INT64
   52751   }
   52752   output_arg {
   52753     name: "sum_values"
   52754     type_attr: "T"
   52755   }
   52756   output_arg {
   52757     name: "sum_shape"
   52758     type: DT_INT64
   52759   }
   52760   attr {
   52761     name: "T"
   52762     type: "type"
   52763     allowed_values {
   52764       list {
   52765         type: DT_FLOAT
   52766         type: DT_DOUBLE
   52767         type: DT_INT64
   52768         type: DT_INT32
   52769         type: DT_UINT8
   52770         type: DT_UINT16
   52771         type: DT_INT16
   52772         type: DT_INT8
   52773         type: DT_COMPLEX64
   52774         type: DT_COMPLEX128
   52775         type: DT_QINT8
   52776         type: DT_QUINT8
   52777         type: DT_QINT32
   52778         type: DT_HALF
   52779         type: DT_UINT32
   52780         type: DT_UINT64
   52781       }
   52782     }
   52783   }
   52784   attr {
   52785     name: "Treal"
   52786     type: "type"
   52787     allowed_values {
   52788       list {
   52789         type: DT_FLOAT
   52790         type: DT_DOUBLE
   52791         type: DT_INT32
   52792         type: DT_INT64
   52793         type: DT_UINT8
   52794         type: DT_INT16
   52795         type: DT_INT8
   52796         type: DT_UINT16
   52797         type: DT_HALF
   52798         type: DT_UINT32
   52799         type: DT_UINT64
   52800       }
   52801     }
   52802   }
   52803 }
   52804 op {
   52805   name: "SparseAdd"
   52806   input_arg {
   52807     name: "a_indices"
   52808     type: DT_INT64
   52809   }
   52810   input_arg {
   52811     name: "a_values"
   52812     type_attr: "T"
   52813   }
   52814   input_arg {
   52815     name: "a_shape"
   52816     type: DT_INT64
   52817   }
   52818   input_arg {
   52819     name: "b_indices"
   52820     type: DT_INT64
   52821   }
   52822   input_arg {
   52823     name: "b_values"
   52824     type_attr: "T"
   52825   }
   52826   input_arg {
   52827     name: "b_shape"
   52828     type: DT_INT64
   52829   }
   52830   input_arg {
   52831     name: "thresh"
   52832     type_attr: "Treal"
   52833   }
   52834   output_arg {
   52835     name: "sum_indices"
   52836     type: DT_INT64
   52837   }
   52838   output_arg {
   52839     name: "sum_values"
   52840     type_attr: "T"
   52841   }
   52842   output_arg {
   52843     name: "sum_shape"
   52844     type: DT_INT64
   52845   }
   52846   attr {
   52847     name: "T"
   52848     type: "type"
   52849     allowed_values {
   52850       list {
   52851         type: DT_FLOAT
   52852         type: DT_DOUBLE
   52853         type: DT_INT64
   52854         type: DT_INT32
   52855         type: DT_UINT8
   52856         type: DT_UINT16
   52857         type: DT_INT16
   52858         type: DT_INT8
   52859         type: DT_COMPLEX64
   52860         type: DT_COMPLEX128
   52861         type: DT_QINT8
   52862         type: DT_QUINT8
   52863         type: DT_QINT32
   52864         type: DT_HALF
   52865         type: DT_UINT32
   52866         type: DT_UINT64
   52867         type: DT_BFLOAT16
   52868       }
   52869     }
   52870   }
   52871   attr {
   52872     name: "Treal"
   52873     type: "type"
   52874     allowed_values {
   52875       list {
   52876         type: DT_FLOAT
   52877         type: DT_DOUBLE
   52878         type: DT_INT32
   52879         type: DT_INT64
   52880         type: DT_UINT8
   52881         type: DT_INT16
   52882         type: DT_INT8
   52883         type: DT_UINT16
   52884         type: DT_HALF
   52885         type: DT_UINT32
   52886         type: DT_UINT64
   52887         type: DT_BFLOAT16
   52888       }
   52889     }
   52890   }
   52891 }
   52892 op {
   52893   name: "SparseAdd"
   52894   input_arg {
   52895     name: "a_indices"
   52896     type: DT_INT64
   52897   }
   52898   input_arg {
   52899     name: "a_values"
   52900     type_attr: "T"
   52901   }
   52902   input_arg {
   52903     name: "a_shape"
   52904     type: DT_INT64
   52905   }
   52906   input_arg {
   52907     name: "b_indices"
   52908     type: DT_INT64
   52909   }
   52910   input_arg {
   52911     name: "b_values"
   52912     type_attr: "T"
   52913   }
   52914   input_arg {
   52915     name: "b_shape"
   52916     type: DT_INT64
   52917   }
   52918   input_arg {
   52919     name: "thresh"
   52920     type_attr: "Treal"
   52921   }
   52922   output_arg {
   52923     name: "sum_indices"
   52924     type: DT_INT64
   52925   }
   52926   output_arg {
   52927     name: "sum_values"
   52928     type_attr: "T"
   52929   }
   52930   output_arg {
   52931     name: "sum_shape"
   52932     type: DT_INT64
   52933   }
   52934   attr {
   52935     name: "T"
   52936     type: "type"
   52937     allowed_values {
   52938       list {
   52939         type: DT_FLOAT
   52940         type: DT_DOUBLE
   52941         type: DT_INT32
   52942         type: DT_UINT8
   52943         type: DT_INT16
   52944         type: DT_INT8
   52945         type: DT_COMPLEX64
   52946         type: DT_INT64
   52947         type: DT_QINT8
   52948         type: DT_QUINT8
   52949         type: DT_QINT32
   52950         type: DT_BFLOAT16
   52951         type: DT_UINT16
   52952         type: DT_COMPLEX128
   52953         type: DT_HALF
   52954         type: DT_UINT32
   52955         type: DT_UINT64
   52956       }
   52957     }
   52958   }
   52959   attr {
   52960     name: "Treal"
   52961     type: "type"
   52962     allowed_values {
   52963       list {
   52964         type: DT_FLOAT
   52965         type: DT_DOUBLE
   52966         type: DT_INT32
   52967         type: DT_UINT8
   52968         type: DT_INT16
   52969         type: DT_INT8
   52970         type: DT_INT64
   52971         type: DT_BFLOAT16
   52972         type: DT_UINT16
   52973         type: DT_HALF
   52974         type: DT_UINT32
   52975         type: DT_UINT64
   52976       }
   52977     }
   52978   }
   52979 }
   52980 op {
   52981   name: "SparseAddGrad"
   52982   input_arg {
   52983     name: "backprop_val_grad"
   52984     type_attr: "T"
   52985   }
   52986   input_arg {
   52987     name: "a_indices"
   52988     type: DT_INT64
   52989   }
   52990   input_arg {
   52991     name: "b_indices"
   52992     type: DT_INT64
   52993   }
   52994   input_arg {
   52995     name: "sum_indices"
   52996     type: DT_INT64
   52997   }
   52998   output_arg {
   52999     name: "a_val_grad"
   53000     type_attr: "T"
   53001   }
   53002   output_arg {
   53003     name: "b_val_grad"
   53004     type_attr: "T"
   53005   }
   53006   attr {
   53007     name: "T"
   53008     type: "type"
   53009     allowed_values {
   53010       list {
   53011         type: DT_FLOAT
   53012         type: DT_DOUBLE
   53013         type: DT_INT64
   53014         type: DT_INT32
   53015         type: DT_UINT8
   53016         type: DT_UINT16
   53017         type: DT_INT16
   53018         type: DT_INT8
   53019         type: DT_COMPLEX64
   53020         type: DT_COMPLEX128
   53021         type: DT_QINT8
   53022         type: DT_QUINT8
   53023         type: DT_QINT32
   53024         type: DT_HALF
   53025       }
   53026     }
   53027   }
   53028 }
   53029 op {
   53030   name: "SparseAddGrad"
   53031   input_arg {
   53032     name: "backprop_val_grad"
   53033     type_attr: "T"
   53034   }
   53035   input_arg {
   53036     name: "a_indices"
   53037     type: DT_INT64
   53038   }
   53039   input_arg {
   53040     name: "b_indices"
   53041     type: DT_INT64
   53042   }
   53043   input_arg {
   53044     name: "sum_indices"
   53045     type: DT_INT64
   53046   }
   53047   output_arg {
   53048     name: "a_val_grad"
   53049     type_attr: "T"
   53050   }
   53051   output_arg {
   53052     name: "b_val_grad"
   53053     type_attr: "T"
   53054   }
   53055   attr {
   53056     name: "T"
   53057     type: "type"
   53058     allowed_values {
   53059       list {
   53060         type: DT_FLOAT
   53061         type: DT_DOUBLE
   53062         type: DT_INT64
   53063         type: DT_INT32
   53064         type: DT_UINT8
   53065         type: DT_UINT16
   53066         type: DT_INT16
   53067         type: DT_INT8
   53068         type: DT_COMPLEX64
   53069         type: DT_COMPLEX128
   53070         type: DT_QINT8
   53071         type: DT_QUINT8
   53072         type: DT_QINT32
   53073         type: DT_HALF
   53074         type: DT_UINT32
   53075         type: DT_UINT64
   53076       }
   53077     }
   53078   }
   53079 }
   53080 op {
   53081   name: "SparseAddGrad"
   53082   input_arg {
   53083     name: "backprop_val_grad"
   53084     type_attr: "T"
   53085   }
   53086   input_arg {
   53087     name: "a_indices"
   53088     type: DT_INT64
   53089   }
   53090   input_arg {
   53091     name: "b_indices"
   53092     type: DT_INT64
   53093   }
   53094   input_arg {
   53095     name: "sum_indices"
   53096     type: DT_INT64
   53097   }
   53098   output_arg {
   53099     name: "a_val_grad"
   53100     type_attr: "T"
   53101   }
   53102   output_arg {
   53103     name: "b_val_grad"
   53104     type_attr: "T"
   53105   }
   53106   attr {
   53107     name: "T"
   53108     type: "type"
   53109     allowed_values {
   53110       list {
   53111         type: DT_FLOAT
   53112         type: DT_DOUBLE
   53113         type: DT_INT64
   53114         type: DT_INT32
   53115         type: DT_UINT8
   53116         type: DT_UINT16
   53117         type: DT_INT16
   53118         type: DT_INT8
   53119         type: DT_COMPLEX64
   53120         type: DT_COMPLEX128
   53121         type: DT_QINT8
   53122         type: DT_QUINT8
   53123         type: DT_QINT32
   53124         type: DT_HALF
   53125         type: DT_UINT32
   53126         type: DT_UINT64
   53127         type: DT_BFLOAT16
   53128       }
   53129     }
   53130   }
   53131 }
   53132 op {
   53133   name: "SparseAddGrad"
   53134   input_arg {
   53135     name: "backprop_val_grad"
   53136     type_attr: "T"
   53137   }
   53138   input_arg {
   53139     name: "a_indices"
   53140     type: DT_INT64
   53141   }
   53142   input_arg {
   53143     name: "b_indices"
   53144     type: DT_INT64
   53145   }
   53146   input_arg {
   53147     name: "sum_indices"
   53148     type: DT_INT64
   53149   }
   53150   output_arg {
   53151     name: "a_val_grad"
   53152     type_attr: "T"
   53153   }
   53154   output_arg {
   53155     name: "b_val_grad"
   53156     type_attr: "T"
   53157   }
   53158   attr {
   53159     name: "T"
   53160     type: "type"
   53161     allowed_values {
   53162       list {
   53163         type: DT_FLOAT
   53164         type: DT_DOUBLE
   53165         type: DT_INT32
   53166         type: DT_UINT8
   53167         type: DT_INT16
   53168         type: DT_INT8
   53169         type: DT_COMPLEX64
   53170         type: DT_INT64
   53171         type: DT_QINT8
   53172         type: DT_QUINT8
   53173         type: DT_QINT32
   53174         type: DT_BFLOAT16
   53175         type: DT_UINT16
   53176         type: DT_COMPLEX128
   53177         type: DT_HALF
   53178         type: DT_UINT32
   53179         type: DT_UINT64
   53180       }
   53181     }
   53182   }
   53183 }
   53184 op {
   53185   name: "SparseApplyAdadelta"
   53186   input_arg {
   53187     name: "var"
   53188     type_attr: "T"
   53189     is_ref: true
   53190   }
   53191   input_arg {
   53192     name: "accum"
   53193     type_attr: "T"
   53194     is_ref: true
   53195   }
   53196   input_arg {
   53197     name: "accum_update"
   53198     type_attr: "T"
   53199     is_ref: true
   53200   }
   53201   input_arg {
   53202     name: "lr"
   53203     type_attr: "T"
   53204   }
   53205   input_arg {
   53206     name: "rho"
   53207     type_attr: "T"
   53208   }
   53209   input_arg {
   53210     name: "epsilon"
   53211     type_attr: "T"
   53212   }
   53213   input_arg {
   53214     name: "grad"
   53215     type_attr: "T"
   53216   }
   53217   input_arg {
   53218     name: "indices"
   53219     type_attr: "Tindices"
   53220   }
   53221   output_arg {
   53222     name: "out"
   53223     type_attr: "T"
   53224     is_ref: true
   53225   }
   53226   attr {
   53227     name: "T"
   53228     type: "type"
   53229     allowed_values {
   53230       list {
   53231         type: DT_FLOAT
   53232         type: DT_DOUBLE
   53233         type: DT_INT64
   53234         type: DT_INT32
   53235         type: DT_UINT8
   53236         type: DT_UINT16
   53237         type: DT_INT16
   53238         type: DT_INT8
   53239         type: DT_COMPLEX64
   53240         type: DT_COMPLEX128
   53241         type: DT_QINT8
   53242         type: DT_QUINT8
   53243         type: DT_QINT32
   53244         type: DT_HALF
   53245       }
   53246     }
   53247   }
   53248   attr {
   53249     name: "Tindices"
   53250     type: "type"
   53251     allowed_values {
   53252       list {
   53253         type: DT_INT32
   53254         type: DT_INT64
   53255       }
   53256     }
   53257   }
   53258   attr {
   53259     name: "use_locking"
   53260     type: "bool"
   53261     default_value {
   53262       b: false
   53263     }
   53264   }
   53265 }
   53266 op {
   53267   name: "SparseApplyAdadelta"
   53268   input_arg {
   53269     name: "var"
   53270     type_attr: "T"
   53271     is_ref: true
   53272   }
   53273   input_arg {
   53274     name: "accum"
   53275     type_attr: "T"
   53276     is_ref: true
   53277   }
   53278   input_arg {
   53279     name: "accum_update"
   53280     type_attr: "T"
   53281     is_ref: true
   53282   }
   53283   input_arg {
   53284     name: "lr"
   53285     type_attr: "T"
   53286   }
   53287   input_arg {
   53288     name: "rho"
   53289     type_attr: "T"
   53290   }
   53291   input_arg {
   53292     name: "epsilon"
   53293     type_attr: "T"
   53294   }
   53295   input_arg {
   53296     name: "grad"
   53297     type_attr: "T"
   53298   }
   53299   input_arg {
   53300     name: "indices"
   53301     type_attr: "Tindices"
   53302   }
   53303   output_arg {
   53304     name: "out"
   53305     type_attr: "T"
   53306     is_ref: true
   53307   }
   53308   attr {
   53309     name: "T"
   53310     type: "type"
   53311     allowed_values {
   53312       list {
   53313         type: DT_FLOAT
   53314         type: DT_DOUBLE
   53315         type: DT_INT64
   53316         type: DT_INT32
   53317         type: DT_UINT8
   53318         type: DT_UINT16
   53319         type: DT_INT16
   53320         type: DT_INT8
   53321         type: DT_COMPLEX64
   53322         type: DT_COMPLEX128
   53323         type: DT_QINT8
   53324         type: DT_QUINT8
   53325         type: DT_QINT32
   53326         type: DT_HALF
   53327         type: DT_UINT32
   53328         type: DT_UINT64
   53329       }
   53330     }
   53331   }
   53332   attr {
   53333     name: "Tindices"
   53334     type: "type"
   53335     allowed_values {
   53336       list {
   53337         type: DT_INT32
   53338         type: DT_INT64
   53339       }
   53340     }
   53341   }
   53342   attr {
   53343     name: "use_locking"
   53344     type: "bool"
   53345     default_value {
   53346       b: false
   53347     }
   53348   }
   53349 }
   53350 op {
   53351   name: "SparseApplyAdadelta"
   53352   input_arg {
   53353     name: "var"
   53354     type_attr: "T"
   53355     is_ref: true
   53356   }
   53357   input_arg {
   53358     name: "accum"
   53359     type_attr: "T"
   53360     is_ref: true
   53361   }
   53362   input_arg {
   53363     name: "accum_update"
   53364     type_attr: "T"
   53365     is_ref: true
   53366   }
   53367   input_arg {
   53368     name: "lr"
   53369     type_attr: "T"
   53370   }
   53371   input_arg {
   53372     name: "rho"
   53373     type_attr: "T"
   53374   }
   53375   input_arg {
   53376     name: "epsilon"
   53377     type_attr: "T"
   53378   }
   53379   input_arg {
   53380     name: "grad"
   53381     type_attr: "T"
   53382   }
   53383   input_arg {
   53384     name: "indices"
   53385     type_attr: "Tindices"
   53386   }
   53387   output_arg {
   53388     name: "out"
   53389     type_attr: "T"
   53390     is_ref: true
   53391   }
   53392   attr {
   53393     name: "T"
   53394     type: "type"
   53395     allowed_values {
   53396       list {
   53397         type: DT_FLOAT
   53398         type: DT_DOUBLE
   53399         type: DT_INT64
   53400         type: DT_INT32
   53401         type: DT_UINT8
   53402         type: DT_UINT16
   53403         type: DT_INT16
   53404         type: DT_INT8
   53405         type: DT_COMPLEX64
   53406         type: DT_COMPLEX128
   53407         type: DT_QINT8
   53408         type: DT_QUINT8
   53409         type: DT_QINT32
   53410         type: DT_HALF
   53411         type: DT_UINT32
   53412         type: DT_UINT64
   53413         type: DT_BFLOAT16
   53414       }
   53415     }
   53416   }
   53417   attr {
   53418     name: "Tindices"
   53419     type: "type"
   53420     allowed_values {
   53421       list {
   53422         type: DT_INT32
   53423         type: DT_INT64
   53424       }
   53425     }
   53426   }
   53427   attr {
   53428     name: "use_locking"
   53429     type: "bool"
   53430     default_value {
   53431       b: false
   53432     }
   53433   }
   53434 }
   53435 op {
   53436   name: "SparseApplyAdadelta"
   53437   input_arg {
   53438     name: "var"
   53439     type_attr: "T"
   53440     is_ref: true
   53441   }
   53442   input_arg {
   53443     name: "accum"
   53444     type_attr: "T"
   53445     is_ref: true
   53446   }
   53447   input_arg {
   53448     name: "accum_update"
   53449     type_attr: "T"
   53450     is_ref: true
   53451   }
   53452   input_arg {
   53453     name: "lr"
   53454     type_attr: "T"
   53455   }
   53456   input_arg {
   53457     name: "rho"
   53458     type_attr: "T"
   53459   }
   53460   input_arg {
   53461     name: "epsilon"
   53462     type_attr: "T"
   53463   }
   53464   input_arg {
   53465     name: "grad"
   53466     type_attr: "T"
   53467   }
   53468   input_arg {
   53469     name: "indices"
   53470     type_attr: "Tindices"
   53471   }
   53472   output_arg {
   53473     name: "out"
   53474     type_attr: "T"
   53475     is_ref: true
   53476   }
   53477   attr {
   53478     name: "T"
   53479     type: "type"
   53480     allowed_values {
   53481       list {
   53482         type: DT_FLOAT
   53483         type: DT_DOUBLE
   53484         type: DT_INT32
   53485         type: DT_UINT8
   53486         type: DT_INT16
   53487         type: DT_INT8
   53488         type: DT_COMPLEX64
   53489         type: DT_INT64
   53490         type: DT_QINT8
   53491         type: DT_QUINT8
   53492         type: DT_QINT32
   53493         type: DT_BFLOAT16
   53494         type: DT_UINT16
   53495         type: DT_COMPLEX128
   53496         type: DT_HALF
   53497         type: DT_UINT32
   53498         type: DT_UINT64
   53499       }
   53500     }
   53501   }
   53502   attr {
   53503     name: "Tindices"
   53504     type: "type"
   53505     allowed_values {
   53506       list {
   53507         type: DT_INT32
   53508         type: DT_INT64
   53509       }
   53510     }
   53511   }
   53512   attr {
   53513     name: "use_locking"
   53514     type: "bool"
   53515     default_value {
   53516       b: false
   53517     }
   53518   }
   53519 }
   53520 op {
   53521   name: "SparseApplyAdagrad"
   53522   input_arg {
   53523     name: "var"
   53524     type_attr: "T"
   53525     is_ref: true
   53526   }
   53527   input_arg {
   53528     name: "accum"
   53529     type_attr: "T"
   53530     is_ref: true
   53531   }
   53532   input_arg {
   53533     name: "lr"
   53534     type_attr: "T"
   53535   }
   53536   input_arg {
   53537     name: "grad"
   53538     type_attr: "T"
   53539   }
   53540   input_arg {
   53541     name: "indices"
   53542     type_attr: "Tindices"
   53543   }
   53544   output_arg {
   53545     name: "out"
   53546     type_attr: "T"
   53547     is_ref: true
   53548   }
   53549   attr {
   53550     name: "T"
   53551     type: "type"
   53552     allowed_values {
   53553       list {
   53554         type: DT_FLOAT
   53555         type: DT_DOUBLE
   53556         type: DT_INT64
   53557         type: DT_INT32
   53558         type: DT_UINT8
   53559         type: DT_UINT16
   53560         type: DT_INT16
   53561         type: DT_INT8
   53562         type: DT_COMPLEX64
   53563         type: DT_COMPLEX128
   53564         type: DT_QINT8
   53565         type: DT_QUINT8
   53566         type: DT_QINT32
   53567         type: DT_HALF
   53568       }
   53569     }
   53570   }
   53571   attr {
   53572     name: "Tindices"
   53573     type: "type"
   53574     allowed_values {
   53575       list {
   53576         type: DT_INT32
   53577         type: DT_INT64
   53578       }
   53579     }
   53580   }
   53581   attr {
   53582     name: "use_locking"
   53583     type: "bool"
   53584     default_value {
   53585       b: false
   53586     }
   53587   }
   53588 }
   53589 op {
   53590   name: "SparseApplyAdagrad"
   53591   input_arg {
   53592     name: "var"
   53593     type_attr: "T"
   53594     is_ref: true
   53595   }
   53596   input_arg {
   53597     name: "accum"
   53598     type_attr: "T"
   53599     is_ref: true
   53600   }
   53601   input_arg {
   53602     name: "lr"
   53603     type_attr: "T"
   53604   }
   53605   input_arg {
   53606     name: "grad"
   53607     type_attr: "T"
   53608   }
   53609   input_arg {
   53610     name: "indices"
   53611     type_attr: "Tindices"
   53612   }
   53613   output_arg {
   53614     name: "out"
   53615     type_attr: "T"
   53616     is_ref: true
   53617   }
   53618   attr {
   53619     name: "T"
   53620     type: "type"
   53621     allowed_values {
   53622       list {
   53623         type: DT_FLOAT
   53624         type: DT_DOUBLE
   53625         type: DT_INT64
   53626         type: DT_INT32
   53627         type: DT_UINT8
   53628         type: DT_UINT16
   53629         type: DT_INT16
   53630         type: DT_INT8
   53631         type: DT_COMPLEX64
   53632         type: DT_COMPLEX128
   53633         type: DT_QINT8
   53634         type: DT_QUINT8
   53635         type: DT_QINT32
   53636         type: DT_HALF
   53637         type: DT_UINT32
   53638         type: DT_UINT64
   53639       }
   53640     }
   53641   }
   53642   attr {
   53643     name: "Tindices"
   53644     type: "type"
   53645     allowed_values {
   53646       list {
   53647         type: DT_INT32
   53648         type: DT_INT64
   53649       }
   53650     }
   53651   }
   53652   attr {
   53653     name: "use_locking"
   53654     type: "bool"
   53655     default_value {
   53656       b: false
   53657     }
   53658   }
   53659 }
   53660 op {
   53661   name: "SparseApplyAdagrad"
   53662   input_arg {
   53663     name: "var"
   53664     type_attr: "T"
   53665     is_ref: true
   53666   }
   53667   input_arg {
   53668     name: "accum"
   53669     type_attr: "T"
   53670     is_ref: true
   53671   }
   53672   input_arg {
   53673     name: "lr"
   53674     type_attr: "T"
   53675   }
   53676   input_arg {
   53677     name: "grad"
   53678     type_attr: "T"
   53679   }
   53680   input_arg {
   53681     name: "indices"
   53682     type_attr: "Tindices"
   53683   }
   53684   output_arg {
   53685     name: "out"
   53686     type_attr: "T"
   53687     is_ref: true
   53688   }
   53689   attr {
   53690     name: "T"
   53691     type: "type"
   53692     allowed_values {
   53693       list {
   53694         type: DT_FLOAT
   53695         type: DT_DOUBLE
   53696         type: DT_INT64
   53697         type: DT_INT32
   53698         type: DT_UINT8
   53699         type: DT_UINT16
   53700         type: DT_INT16
   53701         type: DT_INT8
   53702         type: DT_COMPLEX64
   53703         type: DT_COMPLEX128
   53704         type: DT_QINT8
   53705         type: DT_QUINT8
   53706         type: DT_QINT32
   53707         type: DT_HALF
   53708         type: DT_UINT32
   53709         type: DT_UINT64
   53710         type: DT_BFLOAT16
   53711       }
   53712     }
   53713   }
   53714   attr {
   53715     name: "Tindices"
   53716     type: "type"
   53717     allowed_values {
   53718       list {
   53719         type: DT_INT32
   53720         type: DT_INT64
   53721       }
   53722     }
   53723   }
   53724   attr {
   53725     name: "use_locking"
   53726     type: "bool"
   53727     default_value {
   53728       b: false
   53729     }
   53730   }
   53731 }
   53732 op {
   53733   name: "SparseApplyAdagrad"
   53734   input_arg {
   53735     name: "var"
   53736     type_attr: "T"
   53737     is_ref: true
   53738   }
   53739   input_arg {
   53740     name: "accum"
   53741     type_attr: "T"
   53742     is_ref: true
   53743   }
   53744   input_arg {
   53745     name: "lr"
   53746     type_attr: "T"
   53747   }
   53748   input_arg {
   53749     name: "grad"
   53750     type_attr: "T"
   53751   }
   53752   input_arg {
   53753     name: "indices"
   53754     type_attr: "Tindices"
   53755   }
   53756   output_arg {
   53757     name: "out"
   53758     type_attr: "T"
   53759     is_ref: true
   53760   }
   53761   attr {
   53762     name: "T"
   53763     type: "type"
   53764     allowed_values {
   53765       list {
   53766         type: DT_FLOAT
   53767         type: DT_DOUBLE
   53768         type: DT_INT32
   53769         type: DT_UINT8
   53770         type: DT_INT16
   53771         type: DT_INT8
   53772         type: DT_COMPLEX64
   53773         type: DT_INT64
   53774         type: DT_QINT8
   53775         type: DT_QUINT8
   53776         type: DT_QINT32
   53777         type: DT_BFLOAT16
   53778         type: DT_UINT16
   53779         type: DT_COMPLEX128
   53780         type: DT_HALF
   53781         type: DT_UINT32
   53782         type: DT_UINT64
   53783       }
   53784     }
   53785   }
   53786   attr {
   53787     name: "Tindices"
   53788     type: "type"
   53789     allowed_values {
   53790       list {
   53791         type: DT_INT32
   53792         type: DT_INT64
   53793       }
   53794     }
   53795   }
   53796   attr {
   53797     name: "use_locking"
   53798     type: "bool"
   53799     default_value {
   53800       b: false
   53801     }
   53802   }
   53803 }
   53804 op {
   53805   name: "SparseApplyAdagradDA"
   53806   input_arg {
   53807     name: "var"
   53808     type_attr: "T"
   53809     is_ref: true
   53810   }
   53811   input_arg {
   53812     name: "gradient_accumulator"
   53813     type_attr: "T"
   53814     is_ref: true
   53815   }
   53816   input_arg {
   53817     name: "gradient_squared_accumulator"
   53818     type_attr: "T"
   53819     is_ref: true
   53820   }
   53821   input_arg {
   53822     name: "grad"
   53823     type_attr: "T"
   53824   }
   53825   input_arg {
   53826     name: "indices"
   53827     type_attr: "Tindices"
   53828   }
   53829   input_arg {
   53830     name: "lr"
   53831     type_attr: "T"
   53832   }
   53833   input_arg {
   53834     name: "l1"
   53835     type_attr: "T"
   53836   }
   53837   input_arg {
   53838     name: "l2"
   53839     type_attr: "T"
   53840   }
   53841   input_arg {
   53842     name: "global_step"
   53843     type: DT_INT64
   53844   }
   53845   output_arg {
   53846     name: "out"
   53847     type_attr: "T"
   53848     is_ref: true
   53849   }
   53850   attr {
   53851     name: "T"
   53852     type: "type"
   53853     allowed_values {
   53854       list {
   53855         type: DT_FLOAT
   53856         type: DT_DOUBLE
   53857         type: DT_INT64
   53858         type: DT_INT32
   53859         type: DT_UINT8
   53860         type: DT_UINT16
   53861         type: DT_INT16
   53862         type: DT_INT8
   53863         type: DT_COMPLEX64
   53864         type: DT_COMPLEX128
   53865         type: DT_QINT8
   53866         type: DT_QUINT8
   53867         type: DT_QINT32
   53868         type: DT_HALF
   53869       }
   53870     }
   53871   }
   53872   attr {
   53873     name: "Tindices"
   53874     type: "type"
   53875     allowed_values {
   53876       list {
   53877         type: DT_INT32
   53878         type: DT_INT64
   53879       }
   53880     }
   53881   }
   53882   attr {
   53883     name: "use_locking"
   53884     type: "bool"
   53885     default_value {
   53886       b: false
   53887     }
   53888   }
   53889 }
   53890 op {
   53891   name: "SparseApplyAdagradDA"
   53892   input_arg {
   53893     name: "var"
   53894     type_attr: "T"
   53895     is_ref: true
   53896   }
   53897   input_arg {
   53898     name: "gradient_accumulator"
   53899     type_attr: "T"
   53900     is_ref: true
   53901   }
   53902   input_arg {
   53903     name: "gradient_squared_accumulator"
   53904     type_attr: "T"
   53905     is_ref: true
   53906   }
   53907   input_arg {
   53908     name: "grad"
   53909     type_attr: "T"
   53910   }
   53911   input_arg {
   53912     name: "indices"
   53913     type_attr: "Tindices"
   53914   }
   53915   input_arg {
   53916     name: "lr"
   53917     type_attr: "T"
   53918   }
   53919   input_arg {
   53920     name: "l1"
   53921     type_attr: "T"
   53922   }
   53923   input_arg {
   53924     name: "l2"
   53925     type_attr: "T"
   53926   }
   53927   input_arg {
   53928     name: "global_step"
   53929     type: DT_INT64
   53930   }
   53931   output_arg {
   53932     name: "out"
   53933     type_attr: "T"
   53934     is_ref: true
   53935   }
   53936   attr {
   53937     name: "T"
   53938     type: "type"
   53939     allowed_values {
   53940       list {
   53941         type: DT_FLOAT
   53942         type: DT_DOUBLE
   53943         type: DT_INT64
   53944         type: DT_INT32
   53945         type: DT_UINT8
   53946         type: DT_UINT16
   53947         type: DT_INT16
   53948         type: DT_INT8
   53949         type: DT_COMPLEX64
   53950         type: DT_COMPLEX128
   53951         type: DT_QINT8
   53952         type: DT_QUINT8
   53953         type: DT_QINT32
   53954         type: DT_HALF
   53955         type: DT_UINT32
   53956         type: DT_UINT64
   53957       }
   53958     }
   53959   }
   53960   attr {
   53961     name: "Tindices"
   53962     type: "type"
   53963     allowed_values {
   53964       list {
   53965         type: DT_INT32
   53966         type: DT_INT64
   53967       }
   53968     }
   53969   }
   53970   attr {
   53971     name: "use_locking"
   53972     type: "bool"
   53973     default_value {
   53974       b: false
   53975     }
   53976   }
   53977 }
   53978 op {
   53979   name: "SparseApplyAdagradDA"
   53980   input_arg {
   53981     name: "var"
   53982     type_attr: "T"
   53983     is_ref: true
   53984   }
   53985   input_arg {
   53986     name: "gradient_accumulator"
   53987     type_attr: "T"
   53988     is_ref: true
   53989   }
   53990   input_arg {
   53991     name: "gradient_squared_accumulator"
   53992     type_attr: "T"
   53993     is_ref: true
   53994   }
   53995   input_arg {
   53996     name: "grad"
   53997     type_attr: "T"
   53998   }
   53999   input_arg {
   54000     name: "indices"
   54001     type_attr: "Tindices"
   54002   }
   54003   input_arg {
   54004     name: "lr"
   54005     type_attr: "T"
   54006   }
   54007   input_arg {
   54008     name: "l1"
   54009     type_attr: "T"
   54010   }
   54011   input_arg {
   54012     name: "l2"
   54013     type_attr: "T"
   54014   }
   54015   input_arg {
   54016     name: "global_step"
   54017     type: DT_INT64
   54018   }
   54019   output_arg {
   54020     name: "out"
   54021     type_attr: "T"
   54022     is_ref: true
   54023   }
   54024   attr {
   54025     name: "T"
   54026     type: "type"
   54027     allowed_values {
   54028       list {
   54029         type: DT_FLOAT
   54030         type: DT_DOUBLE
   54031         type: DT_INT64
   54032         type: DT_INT32
   54033         type: DT_UINT8
   54034         type: DT_UINT16
   54035         type: DT_INT16
   54036         type: DT_INT8
   54037         type: DT_COMPLEX64
   54038         type: DT_COMPLEX128
   54039         type: DT_QINT8
   54040         type: DT_QUINT8
   54041         type: DT_QINT32
   54042         type: DT_HALF
   54043         type: DT_UINT32
   54044         type: DT_UINT64
   54045         type: DT_BFLOAT16
   54046       }
   54047     }
   54048   }
   54049   attr {
   54050     name: "Tindices"
   54051     type: "type"
   54052     allowed_values {
   54053       list {
   54054         type: DT_INT32
   54055         type: DT_INT64
   54056       }
   54057     }
   54058   }
   54059   attr {
   54060     name: "use_locking"
   54061     type: "bool"
   54062     default_value {
   54063       b: false
   54064     }
   54065   }
   54066 }
   54067 op {
   54068   name: "SparseApplyAdagradDA"
   54069   input_arg {
   54070     name: "var"
   54071     type_attr: "T"
   54072     is_ref: true
   54073   }
   54074   input_arg {
   54075     name: "gradient_accumulator"
   54076     type_attr: "T"
   54077     is_ref: true
   54078   }
   54079   input_arg {
   54080     name: "gradient_squared_accumulator"
   54081     type_attr: "T"
   54082     is_ref: true
   54083   }
   54084   input_arg {
   54085     name: "grad"
   54086     type_attr: "T"
   54087   }
   54088   input_arg {
   54089     name: "indices"
   54090     type_attr: "Tindices"
   54091   }
   54092   input_arg {
   54093     name: "lr"
   54094     type_attr: "T"
   54095   }
   54096   input_arg {
   54097     name: "l1"
   54098     type_attr: "T"
   54099   }
   54100   input_arg {
   54101     name: "l2"
   54102     type_attr: "T"
   54103   }
   54104   input_arg {
   54105     name: "global_step"
   54106     type: DT_INT64
   54107   }
   54108   output_arg {
   54109     name: "out"
   54110     type_attr: "T"
   54111     is_ref: true
   54112   }
   54113   attr {
   54114     name: "T"
   54115     type: "type"
   54116     allowed_values {
   54117       list {
   54118         type: DT_FLOAT
   54119         type: DT_DOUBLE
   54120         type: DT_INT32
   54121         type: DT_UINT8
   54122         type: DT_INT16
   54123         type: DT_INT8
   54124         type: DT_COMPLEX64
   54125         type: DT_INT64
   54126         type: DT_QINT8
   54127         type: DT_QUINT8
   54128         type: DT_QINT32
   54129         type: DT_BFLOAT16
   54130         type: DT_UINT16
   54131         type: DT_COMPLEX128
   54132         type: DT_HALF
   54133         type: DT_UINT32
   54134         type: DT_UINT64
   54135       }
   54136     }
   54137   }
   54138   attr {
   54139     name: "Tindices"
   54140     type: "type"
   54141     allowed_values {
   54142       list {
   54143         type: DT_INT32
   54144         type: DT_INT64
   54145       }
   54146     }
   54147   }
   54148   attr {
   54149     name: "use_locking"
   54150     type: "bool"
   54151     default_value {
   54152       b: false
   54153     }
   54154   }
   54155 }
   54156 op {
   54157   name: "SparseApplyCenteredRMSProp"
   54158   input_arg {
   54159     name: "var"
   54160     type_attr: "T"
   54161     is_ref: true
   54162   }
   54163   input_arg {
   54164     name: "mg"
   54165     type_attr: "T"
   54166     is_ref: true
   54167   }
   54168   input_arg {
   54169     name: "ms"
   54170     type_attr: "T"
   54171     is_ref: true
   54172   }
   54173   input_arg {
   54174     name: "mom"
   54175     type_attr: "T"
   54176     is_ref: true
   54177   }
   54178   input_arg {
   54179     name: "lr"
   54180     type_attr: "T"
   54181   }
   54182   input_arg {
   54183     name: "rho"
   54184     type_attr: "T"
   54185   }
   54186   input_arg {
   54187     name: "momentum"
   54188     type_attr: "T"
   54189   }
   54190   input_arg {
   54191     name: "epsilon"
   54192     type_attr: "T"
   54193   }
   54194   input_arg {
   54195     name: "grad"
   54196     type_attr: "T"
   54197   }
   54198   input_arg {
   54199     name: "indices"
   54200     type_attr: "Tindices"
   54201   }
   54202   output_arg {
   54203     name: "out"
   54204     type_attr: "T"
   54205     is_ref: true
   54206   }
   54207   attr {
   54208     name: "T"
   54209     type: "type"
   54210     allowed_values {
   54211       list {
   54212         type: DT_FLOAT
   54213         type: DT_DOUBLE
   54214         type: DT_INT64
   54215         type: DT_INT32
   54216         type: DT_UINT8
   54217         type: DT_UINT16
   54218         type: DT_INT16
   54219         type: DT_INT8
   54220         type: DT_COMPLEX64
   54221         type: DT_COMPLEX128
   54222         type: DT_QINT8
   54223         type: DT_QUINT8
   54224         type: DT_QINT32
   54225         type: DT_HALF
   54226       }
   54227     }
   54228   }
   54229   attr {
   54230     name: "Tindices"
   54231     type: "type"
   54232     allowed_values {
   54233       list {
   54234         type: DT_INT32
   54235         type: DT_INT64
   54236       }
   54237     }
   54238   }
   54239   attr {
   54240     name: "use_locking"
   54241     type: "bool"
   54242     default_value {
   54243       b: false
   54244     }
   54245   }
   54246 }
   54247 op {
   54248   name: "SparseApplyCenteredRMSProp"
   54249   input_arg {
   54250     name: "var"
   54251     type_attr: "T"
   54252     is_ref: true
   54253   }
   54254   input_arg {
   54255     name: "mg"
   54256     type_attr: "T"
   54257     is_ref: true
   54258   }
   54259   input_arg {
   54260     name: "ms"
   54261     type_attr: "T"
   54262     is_ref: true
   54263   }
   54264   input_arg {
   54265     name: "mom"
   54266     type_attr: "T"
   54267     is_ref: true
   54268   }
   54269   input_arg {
   54270     name: "lr"
   54271     type_attr: "T"
   54272   }
   54273   input_arg {
   54274     name: "rho"
   54275     type_attr: "T"
   54276   }
   54277   input_arg {
   54278     name: "momentum"
   54279     type_attr: "T"
   54280   }
   54281   input_arg {
   54282     name: "epsilon"
   54283     type_attr: "T"
   54284   }
   54285   input_arg {
   54286     name: "grad"
   54287     type_attr: "T"
   54288   }
   54289   input_arg {
   54290     name: "indices"
   54291     type_attr: "Tindices"
   54292   }
   54293   output_arg {
   54294     name: "out"
   54295     type_attr: "T"
   54296     is_ref: true
   54297   }
   54298   attr {
   54299     name: "T"
   54300     type: "type"
   54301     allowed_values {
   54302       list {
   54303         type: DT_FLOAT
   54304         type: DT_DOUBLE
   54305         type: DT_INT64
   54306         type: DT_INT32
   54307         type: DT_UINT8
   54308         type: DT_UINT16
   54309         type: DT_INT16
   54310         type: DT_INT8
   54311         type: DT_COMPLEX64
   54312         type: DT_COMPLEX128
   54313         type: DT_QINT8
   54314         type: DT_QUINT8
   54315         type: DT_QINT32
   54316         type: DT_HALF
   54317         type: DT_UINT32
   54318         type: DT_UINT64
   54319       }
   54320     }
   54321   }
   54322   attr {
   54323     name: "Tindices"
   54324     type: "type"
   54325     allowed_values {
   54326       list {
   54327         type: DT_INT32
   54328         type: DT_INT64
   54329       }
   54330     }
   54331   }
   54332   attr {
   54333     name: "use_locking"
   54334     type: "bool"
   54335     default_value {
   54336       b: false
   54337     }
   54338   }
   54339 }
   54340 op {
   54341   name: "SparseApplyCenteredRMSProp"
   54342   input_arg {
   54343     name: "var"
   54344     type_attr: "T"
   54345     is_ref: true
   54346   }
   54347   input_arg {
   54348     name: "mg"
   54349     type_attr: "T"
   54350     is_ref: true
   54351   }
   54352   input_arg {
   54353     name: "ms"
   54354     type_attr: "T"
   54355     is_ref: true
   54356   }
   54357   input_arg {
   54358     name: "mom"
   54359     type_attr: "T"
   54360     is_ref: true
   54361   }
   54362   input_arg {
   54363     name: "lr"
   54364     type_attr: "T"
   54365   }
   54366   input_arg {
   54367     name: "rho"
   54368     type_attr: "T"
   54369   }
   54370   input_arg {
   54371     name: "momentum"
   54372     type_attr: "T"
   54373   }
   54374   input_arg {
   54375     name: "epsilon"
   54376     type_attr: "T"
   54377   }
   54378   input_arg {
   54379     name: "grad"
   54380     type_attr: "T"
   54381   }
   54382   input_arg {
   54383     name: "indices"
   54384     type_attr: "Tindices"
   54385   }
   54386   output_arg {
   54387     name: "out"
   54388     type_attr: "T"
   54389     is_ref: true
   54390   }
   54391   attr {
   54392     name: "T"
   54393     type: "type"
   54394     allowed_values {
   54395       list {
   54396         type: DT_FLOAT
   54397         type: DT_DOUBLE
   54398         type: DT_INT64
   54399         type: DT_INT32
   54400         type: DT_UINT8
   54401         type: DT_UINT16
   54402         type: DT_INT16
   54403         type: DT_INT8
   54404         type: DT_COMPLEX64
   54405         type: DT_COMPLEX128
   54406         type: DT_QINT8
   54407         type: DT_QUINT8
   54408         type: DT_QINT32
   54409         type: DT_HALF
   54410         type: DT_UINT32
   54411         type: DT_UINT64
   54412         type: DT_BFLOAT16
   54413       }
   54414     }
   54415   }
   54416   attr {
   54417     name: "Tindices"
   54418     type: "type"
   54419     allowed_values {
   54420       list {
   54421         type: DT_INT32
   54422         type: DT_INT64
   54423       }
   54424     }
   54425   }
   54426   attr {
   54427     name: "use_locking"
   54428     type: "bool"
   54429     default_value {
   54430       b: false
   54431     }
   54432   }
   54433 }
   54434 op {
   54435   name: "SparseApplyCenteredRMSProp"
   54436   input_arg {
   54437     name: "var"
   54438     type_attr: "T"
   54439     is_ref: true
   54440   }
   54441   input_arg {
   54442     name: "mg"
   54443     type_attr: "T"
   54444     is_ref: true
   54445   }
   54446   input_arg {
   54447     name: "ms"
   54448     type_attr: "T"
   54449     is_ref: true
   54450   }
   54451   input_arg {
   54452     name: "mom"
   54453     type_attr: "T"
   54454     is_ref: true
   54455   }
   54456   input_arg {
   54457     name: "lr"
   54458     type_attr: "T"
   54459   }
   54460   input_arg {
   54461     name: "rho"
   54462     type_attr: "T"
   54463   }
   54464   input_arg {
   54465     name: "momentum"
   54466     type_attr: "T"
   54467   }
   54468   input_arg {
   54469     name: "epsilon"
   54470     type_attr: "T"
   54471   }
   54472   input_arg {
   54473     name: "grad"
   54474     type_attr: "T"
   54475   }
   54476   input_arg {
   54477     name: "indices"
   54478     type_attr: "Tindices"
   54479   }
   54480   output_arg {
   54481     name: "out"
   54482     type_attr: "T"
   54483     is_ref: true
   54484   }
   54485   attr {
   54486     name: "T"
   54487     type: "type"
   54488     allowed_values {
   54489       list {
   54490         type: DT_FLOAT
   54491         type: DT_DOUBLE
   54492         type: DT_INT32
   54493         type: DT_UINT8
   54494         type: DT_INT16
   54495         type: DT_INT8
   54496         type: DT_COMPLEX64
   54497         type: DT_INT64
   54498         type: DT_QINT8
   54499         type: DT_QUINT8
   54500         type: DT_QINT32
   54501         type: DT_BFLOAT16
   54502         type: DT_UINT16
   54503         type: DT_COMPLEX128
   54504         type: DT_HALF
   54505         type: DT_UINT32
   54506         type: DT_UINT64
   54507       }
   54508     }
   54509   }
   54510   attr {
   54511     name: "Tindices"
   54512     type: "type"
   54513     allowed_values {
   54514       list {
   54515         type: DT_INT32
   54516         type: DT_INT64
   54517       }
   54518     }
   54519   }
   54520   attr {
   54521     name: "use_locking"
   54522     type: "bool"
   54523     default_value {
   54524       b: false
   54525     }
   54526   }
   54527 }
   54528 op {
   54529   name: "SparseApplyFtrl"
   54530   input_arg {
   54531     name: "var"
   54532     type_attr: "T"
   54533     is_ref: true
   54534   }
   54535   input_arg {
   54536     name: "accum"
   54537     type_attr: "T"
   54538     is_ref: true
   54539   }
   54540   input_arg {
   54541     name: "linear"
   54542     type_attr: "T"
   54543     is_ref: true
   54544   }
   54545   input_arg {
   54546     name: "grad"
   54547     type_attr: "T"
   54548   }
   54549   input_arg {
   54550     name: "indices"
   54551     type_attr: "Tindices"
   54552   }
   54553   input_arg {
   54554     name: "lr"
   54555     type_attr: "T"
   54556   }
   54557   input_arg {
   54558     name: "l1"
   54559     type_attr: "T"
   54560   }
   54561   input_arg {
   54562     name: "l2"
   54563     type_attr: "T"
   54564   }
   54565   input_arg {
   54566     name: "lr_power"
   54567     type_attr: "T"
   54568   }
   54569   output_arg {
   54570     name: "out"
   54571     type_attr: "T"
   54572     is_ref: true
   54573   }
   54574   attr {
   54575     name: "T"
   54576     type: "type"
   54577     allowed_values {
   54578       list {
   54579         type: DT_FLOAT
   54580         type: DT_DOUBLE
   54581         type: DT_INT64
   54582         type: DT_INT32
   54583         type: DT_UINT8
   54584         type: DT_UINT16
   54585         type: DT_INT16
   54586         type: DT_INT8
   54587         type: DT_COMPLEX64
   54588         type: DT_COMPLEX128
   54589         type: DT_QINT8
   54590         type: DT_QUINT8
   54591         type: DT_QINT32
   54592         type: DT_HALF
   54593       }
   54594     }
   54595   }
   54596   attr {
   54597     name: "Tindices"
   54598     type: "type"
   54599     allowed_values {
   54600       list {
   54601         type: DT_INT32
   54602         type: DT_INT64
   54603       }
   54604     }
   54605   }
   54606   attr {
   54607     name: "use_locking"
   54608     type: "bool"
   54609     default_value {
   54610       b: false
   54611     }
   54612   }
   54613 }
   54614 op {
   54615   name: "SparseApplyFtrl"
   54616   input_arg {
   54617     name: "var"
   54618     type_attr: "T"
   54619     is_ref: true
   54620   }
   54621   input_arg {
   54622     name: "accum"
   54623     type_attr: "T"
   54624     is_ref: true
   54625   }
   54626   input_arg {
   54627     name: "linear"
   54628     type_attr: "T"
   54629     is_ref: true
   54630   }
   54631   input_arg {
   54632     name: "grad"
   54633     type_attr: "T"
   54634   }
   54635   input_arg {
   54636     name: "indices"
   54637     type_attr: "Tindices"
   54638   }
   54639   input_arg {
   54640     name: "lr"
   54641     type_attr: "T"
   54642   }
   54643   input_arg {
   54644     name: "l1"
   54645     type_attr: "T"
   54646   }
   54647   input_arg {
   54648     name: "l2"
   54649     type_attr: "T"
   54650   }
   54651   input_arg {
   54652     name: "lr_power"
   54653     type_attr: "T"
   54654   }
   54655   output_arg {
   54656     name: "out"
   54657     type_attr: "T"
   54658     is_ref: true
   54659   }
   54660   attr {
   54661     name: "T"
   54662     type: "type"
   54663     allowed_values {
   54664       list {
   54665         type: DT_FLOAT
   54666         type: DT_DOUBLE
   54667         type: DT_INT64
   54668         type: DT_INT32
   54669         type: DT_UINT8
   54670         type: DT_UINT16
   54671         type: DT_INT16
   54672         type: DT_INT8
   54673         type: DT_COMPLEX64
   54674         type: DT_COMPLEX128
   54675         type: DT_QINT8
   54676         type: DT_QUINT8
   54677         type: DT_QINT32
   54678         type: DT_HALF
   54679         type: DT_UINT32
   54680         type: DT_UINT64
   54681       }
   54682     }
   54683   }
   54684   attr {
   54685     name: "Tindices"
   54686     type: "type"
   54687     allowed_values {
   54688       list {
   54689         type: DT_INT32
   54690         type: DT_INT64
   54691       }
   54692     }
   54693   }
   54694   attr {
   54695     name: "use_locking"
   54696     type: "bool"
   54697     default_value {
   54698       b: false
   54699     }
   54700   }
   54701 }
   54702 op {
   54703   name: "SparseApplyFtrl"
   54704   input_arg {
   54705     name: "var"
   54706     type_attr: "T"
   54707     is_ref: true
   54708   }
   54709   input_arg {
   54710     name: "accum"
   54711     type_attr: "T"
   54712     is_ref: true
   54713   }
   54714   input_arg {
   54715     name: "linear"
   54716     type_attr: "T"
   54717     is_ref: true
   54718   }
   54719   input_arg {
   54720     name: "grad"
   54721     type_attr: "T"
   54722   }
   54723   input_arg {
   54724     name: "indices"
   54725     type_attr: "Tindices"
   54726   }
   54727   input_arg {
   54728     name: "lr"
   54729     type_attr: "T"
   54730   }
   54731   input_arg {
   54732     name: "l1"
   54733     type_attr: "T"
   54734   }
   54735   input_arg {
   54736     name: "l2"
   54737     type_attr: "T"
   54738   }
   54739   input_arg {
   54740     name: "lr_power"
   54741     type_attr: "T"
   54742   }
   54743   output_arg {
   54744     name: "out"
   54745     type_attr: "T"
   54746     is_ref: true
   54747   }
   54748   attr {
   54749     name: "T"
   54750     type: "type"
   54751     allowed_values {
   54752       list {
   54753         type: DT_FLOAT
   54754         type: DT_DOUBLE
   54755         type: DT_INT64
   54756         type: DT_INT32
   54757         type: DT_UINT8
   54758         type: DT_UINT16
   54759         type: DT_INT16
   54760         type: DT_INT8
   54761         type: DT_COMPLEX64
   54762         type: DT_COMPLEX128
   54763         type: DT_QINT8
   54764         type: DT_QUINT8
   54765         type: DT_QINT32
   54766         type: DT_HALF
   54767         type: DT_UINT32
   54768         type: DT_UINT64
   54769         type: DT_BFLOAT16
   54770       }
   54771     }
   54772   }
   54773   attr {
   54774     name: "Tindices"
   54775     type: "type"
   54776     allowed_values {
   54777       list {
   54778         type: DT_INT32
   54779         type: DT_INT64
   54780       }
   54781     }
   54782   }
   54783   attr {
   54784     name: "use_locking"
   54785     type: "bool"
   54786     default_value {
   54787       b: false
   54788     }
   54789   }
   54790 }
   54791 op {
   54792   name: "SparseApplyFtrl"
   54793   input_arg {
   54794     name: "var"
   54795     type_attr: "T"
   54796     is_ref: true
   54797   }
   54798   input_arg {
   54799     name: "accum"
   54800     type_attr: "T"
   54801     is_ref: true
   54802   }
   54803   input_arg {
   54804     name: "linear"
   54805     type_attr: "T"
   54806     is_ref: true
   54807   }
   54808   input_arg {
   54809     name: "grad"
   54810     type_attr: "T"
   54811   }
   54812   input_arg {
   54813     name: "indices"
   54814     type_attr: "Tindices"
   54815   }
   54816   input_arg {
   54817     name: "lr"
   54818     type_attr: "T"
   54819   }
   54820   input_arg {
   54821     name: "l1"
   54822     type_attr: "T"
   54823   }
   54824   input_arg {
   54825     name: "l2"
   54826     type_attr: "T"
   54827   }
   54828   input_arg {
   54829     name: "lr_power"
   54830     type_attr: "T"
   54831   }
   54832   output_arg {
   54833     name: "out"
   54834     type_attr: "T"
   54835     is_ref: true
   54836   }
   54837   attr {
   54838     name: "T"
   54839     type: "type"
   54840     allowed_values {
   54841       list {
   54842         type: DT_FLOAT
   54843         type: DT_DOUBLE
   54844         type: DT_INT32
   54845         type: DT_UINT8
   54846         type: DT_INT16
   54847         type: DT_INT8
   54848         type: DT_COMPLEX64
   54849         type: DT_INT64
   54850         type: DT_QINT8
   54851         type: DT_QUINT8
   54852         type: DT_QINT32
   54853         type: DT_BFLOAT16
   54854         type: DT_UINT16
   54855         type: DT_COMPLEX128
   54856         type: DT_HALF
   54857         type: DT_UINT32
   54858         type: DT_UINT64
   54859       }
   54860     }
   54861   }
   54862   attr {
   54863     name: "Tindices"
   54864     type: "type"
   54865     allowed_values {
   54866       list {
   54867         type: DT_INT32
   54868         type: DT_INT64
   54869       }
   54870     }
   54871   }
   54872   attr {
   54873     name: "use_locking"
   54874     type: "bool"
   54875     default_value {
   54876       b: false
   54877     }
   54878   }
   54879 }
   54880 op {
   54881   name: "SparseApplyFtrlV2"
   54882   input_arg {
   54883     name: "var"
   54884     type_attr: "T"
   54885     is_ref: true
   54886   }
   54887   input_arg {
   54888     name: "accum"
   54889     type_attr: "T"
   54890     is_ref: true
   54891   }
   54892   input_arg {
   54893     name: "linear"
   54894     type_attr: "T"
   54895     is_ref: true
   54896   }
   54897   input_arg {
   54898     name: "grad"
   54899     type_attr: "T"
   54900   }
   54901   input_arg {
   54902     name: "indices"
   54903     type_attr: "Tindices"
   54904   }
   54905   input_arg {
   54906     name: "lr"
   54907     type_attr: "T"
   54908   }
   54909   input_arg {
   54910     name: "l1"
   54911     type_attr: "T"
   54912   }
   54913   input_arg {
   54914     name: "l2"
   54915     type_attr: "T"
   54916   }
   54917   input_arg {
   54918     name: "l2_shrinkage"
   54919     type_attr: "T"
   54920   }
   54921   input_arg {
   54922     name: "lr_power"
   54923     type_attr: "T"
   54924   }
   54925   output_arg {
   54926     name: "out"
   54927     type_attr: "T"
   54928     is_ref: true
   54929   }
   54930   attr {
   54931     name: "T"
   54932     type: "type"
   54933     allowed_values {
   54934       list {
   54935         type: DT_FLOAT
   54936         type: DT_DOUBLE
   54937         type: DT_INT64
   54938         type: DT_INT32
   54939         type: DT_UINT8
   54940         type: DT_UINT16
   54941         type: DT_INT16
   54942         type: DT_INT8
   54943         type: DT_COMPLEX64
   54944         type: DT_COMPLEX128
   54945         type: DT_QINT8
   54946         type: DT_QUINT8
   54947         type: DT_QINT32
   54948         type: DT_HALF
   54949       }
   54950     }
   54951   }
   54952   attr {
   54953     name: "Tindices"
   54954     type: "type"
   54955     allowed_values {
   54956       list {
   54957         type: DT_INT32
   54958         type: DT_INT64
   54959       }
   54960     }
   54961   }
   54962   attr {
   54963     name: "use_locking"
   54964     type: "bool"
   54965     default_value {
   54966       b: false
   54967     }
   54968   }
   54969 }
   54970 op {
   54971   name: "SparseApplyFtrlV2"
   54972   input_arg {
   54973     name: "var"
   54974     type_attr: "T"
   54975     is_ref: true
   54976   }
   54977   input_arg {
   54978     name: "accum"
   54979     type_attr: "T"
   54980     is_ref: true
   54981   }
   54982   input_arg {
   54983     name: "linear"
   54984     type_attr: "T"
   54985     is_ref: true
   54986   }
   54987   input_arg {
   54988     name: "grad"
   54989     type_attr: "T"
   54990   }
   54991   input_arg {
   54992     name: "indices"
   54993     type_attr: "Tindices"
   54994   }
   54995   input_arg {
   54996     name: "lr"
   54997     type_attr: "T"
   54998   }
   54999   input_arg {
   55000     name: "l1"
   55001     type_attr: "T"
   55002   }
   55003   input_arg {
   55004     name: "l2"
   55005     type_attr: "T"
   55006   }
   55007   input_arg {
   55008     name: "l2_shrinkage"
   55009     type_attr: "T"
   55010   }
   55011   input_arg {
   55012     name: "lr_power"
   55013     type_attr: "T"
   55014   }
   55015   output_arg {
   55016     name: "out"
   55017     type_attr: "T"
   55018     is_ref: true
   55019   }
   55020   attr {
   55021     name: "T"
   55022     type: "type"
   55023     allowed_values {
   55024       list {
   55025         type: DT_FLOAT
   55026         type: DT_DOUBLE
   55027         type: DT_INT64
   55028         type: DT_INT32
   55029         type: DT_UINT8
   55030         type: DT_UINT16
   55031         type: DT_INT16
   55032         type: DT_INT8
   55033         type: DT_COMPLEX64
   55034         type: DT_COMPLEX128
   55035         type: DT_QINT8
   55036         type: DT_QUINT8
   55037         type: DT_QINT32
   55038         type: DT_HALF
   55039         type: DT_UINT32
   55040         type: DT_UINT64
   55041       }
   55042     }
   55043   }
   55044   attr {
   55045     name: "Tindices"
   55046     type: "type"
   55047     allowed_values {
   55048       list {
   55049         type: DT_INT32
   55050         type: DT_INT64
   55051       }
   55052     }
   55053   }
   55054   attr {
   55055     name: "use_locking"
   55056     type: "bool"
   55057     default_value {
   55058       b: false
   55059     }
   55060   }
   55061 }
   55062 op {
   55063   name: "SparseApplyFtrlV2"
   55064   input_arg {
   55065     name: "var"
   55066     type_attr: "T"
   55067     is_ref: true
   55068   }
   55069   input_arg {
   55070     name: "accum"
   55071     type_attr: "T"
   55072     is_ref: true
   55073   }
   55074   input_arg {
   55075     name: "linear"
   55076     type_attr: "T"
   55077     is_ref: true
   55078   }
   55079   input_arg {
   55080     name: "grad"
   55081     type_attr: "T"
   55082   }
   55083   input_arg {
   55084     name: "indices"
   55085     type_attr: "Tindices"
   55086   }
   55087   input_arg {
   55088     name: "lr"
   55089     type_attr: "T"
   55090   }
   55091   input_arg {
   55092     name: "l1"
   55093     type_attr: "T"
   55094   }
   55095   input_arg {
   55096     name: "l2"
   55097     type_attr: "T"
   55098   }
   55099   input_arg {
   55100     name: "l2_shrinkage"
   55101     type_attr: "T"
   55102   }
   55103   input_arg {
   55104     name: "lr_power"
   55105     type_attr: "T"
   55106   }
   55107   output_arg {
   55108     name: "out"
   55109     type_attr: "T"
   55110     is_ref: true
   55111   }
   55112   attr {
   55113     name: "T"
   55114     type: "type"
   55115     allowed_values {
   55116       list {
   55117         type: DT_FLOAT
   55118         type: DT_DOUBLE
   55119         type: DT_INT64
   55120         type: DT_INT32
   55121         type: DT_UINT8
   55122         type: DT_UINT16
   55123         type: DT_INT16
   55124         type: DT_INT8
   55125         type: DT_COMPLEX64
   55126         type: DT_COMPLEX128
   55127         type: DT_QINT8
   55128         type: DT_QUINT8
   55129         type: DT_QINT32
   55130         type: DT_HALF
   55131         type: DT_UINT32
   55132         type: DT_UINT64
   55133         type: DT_BFLOAT16
   55134       }
   55135     }
   55136   }
   55137   attr {
   55138     name: "Tindices"
   55139     type: "type"
   55140     allowed_values {
   55141       list {
   55142         type: DT_INT32
   55143         type: DT_INT64
   55144       }
   55145     }
   55146   }
   55147   attr {
   55148     name: "use_locking"
   55149     type: "bool"
   55150     default_value {
   55151       b: false
   55152     }
   55153   }
   55154 }
   55155 op {
   55156   name: "SparseApplyFtrlV2"
   55157   input_arg {
   55158     name: "var"
   55159     type_attr: "T"
   55160     is_ref: true
   55161   }
   55162   input_arg {
   55163     name: "accum"
   55164     type_attr: "T"
   55165     is_ref: true
   55166   }
   55167   input_arg {
   55168     name: "linear"
   55169     type_attr: "T"
   55170     is_ref: true
   55171   }
   55172   input_arg {
   55173     name: "grad"
   55174     type_attr: "T"
   55175   }
   55176   input_arg {
   55177     name: "indices"
   55178     type_attr: "Tindices"
   55179   }
   55180   input_arg {
   55181     name: "lr"
   55182     type_attr: "T"
   55183   }
   55184   input_arg {
   55185     name: "l1"
   55186     type_attr: "T"
   55187   }
   55188   input_arg {
   55189     name: "l2"
   55190     type_attr: "T"
   55191   }
   55192   input_arg {
   55193     name: "l2_shrinkage"
   55194     type_attr: "T"
   55195   }
   55196   input_arg {
   55197     name: "lr_power"
   55198     type_attr: "T"
   55199   }
   55200   output_arg {
   55201     name: "out"
   55202     type_attr: "T"
   55203     is_ref: true
   55204   }
   55205   attr {
   55206     name: "T"
   55207     type: "type"
   55208     allowed_values {
   55209       list {
   55210         type: DT_FLOAT
   55211         type: DT_DOUBLE
   55212         type: DT_INT32
   55213         type: DT_UINT8
   55214         type: DT_INT16
   55215         type: DT_INT8
   55216         type: DT_COMPLEX64
   55217         type: DT_INT64
   55218         type: DT_QINT8
   55219         type: DT_QUINT8
   55220         type: DT_QINT32
   55221         type: DT_BFLOAT16
   55222         type: DT_UINT16
   55223         type: DT_COMPLEX128
   55224         type: DT_HALF
   55225         type: DT_UINT32
   55226         type: DT_UINT64
   55227       }
   55228     }
   55229   }
   55230   attr {
   55231     name: "Tindices"
   55232     type: "type"
   55233     allowed_values {
   55234       list {
   55235         type: DT_INT32
   55236         type: DT_INT64
   55237       }
   55238     }
   55239   }
   55240   attr {
   55241     name: "use_locking"
   55242     type: "bool"
   55243     default_value {
   55244       b: false
   55245     }
   55246   }
   55247 }
   55248 op {
   55249   name: "SparseApplyMomentum"
   55250   input_arg {
   55251     name: "var"
   55252     type_attr: "T"
   55253     is_ref: true
   55254   }
   55255   input_arg {
   55256     name: "accum"
   55257     type_attr: "T"
   55258     is_ref: true
   55259   }
   55260   input_arg {
   55261     name: "lr"
   55262     type_attr: "T"
   55263   }
   55264   input_arg {
   55265     name: "grad"
   55266     type_attr: "T"
   55267   }
   55268   input_arg {
   55269     name: "indices"
   55270     type_attr: "Tindices"
   55271   }
   55272   input_arg {
   55273     name: "momentum"
   55274     type_attr: "T"
   55275   }
   55276   output_arg {
   55277     name: "out"
   55278     type_attr: "T"
   55279     is_ref: true
   55280   }
   55281   attr {
   55282     name: "T"
   55283     type: "type"
   55284     allowed_values {
   55285       list {
   55286         type: DT_FLOAT
   55287         type: DT_DOUBLE
   55288         type: DT_INT64
   55289         type: DT_INT32
   55290         type: DT_UINT8
   55291         type: DT_UINT16
   55292         type: DT_INT16
   55293         type: DT_INT8
   55294         type: DT_COMPLEX64
   55295         type: DT_COMPLEX128
   55296         type: DT_QINT8
   55297         type: DT_QUINT8
   55298         type: DT_QINT32
   55299         type: DT_HALF
   55300       }
   55301     }
   55302   }
   55303   attr {
   55304     name: "Tindices"
   55305     type: "type"
   55306     allowed_values {
   55307       list {
   55308         type: DT_INT32
   55309         type: DT_INT64
   55310       }
   55311     }
   55312   }
   55313   attr {
   55314     name: "use_locking"
   55315     type: "bool"
   55316     default_value {
   55317       b: false
   55318     }
   55319   }
   55320   attr {
   55321     name: "use_nesterov"
   55322     type: "bool"
   55323     default_value {
   55324       b: false
   55325     }
   55326   }
   55327 }
   55328 op {
   55329   name: "SparseApplyMomentum"
   55330   input_arg {
   55331     name: "var"
   55332     type_attr: "T"
   55333     is_ref: true
   55334   }
   55335   input_arg {
   55336     name: "accum"
   55337     type_attr: "T"
   55338     is_ref: true
   55339   }
   55340   input_arg {
   55341     name: "lr"
   55342     type_attr: "T"
   55343   }
   55344   input_arg {
   55345     name: "grad"
   55346     type_attr: "T"
   55347   }
   55348   input_arg {
   55349     name: "indices"
   55350     type_attr: "Tindices"
   55351   }
   55352   input_arg {
   55353     name: "momentum"
   55354     type_attr: "T"
   55355   }
   55356   output_arg {
   55357     name: "out"
   55358     type_attr: "T"
   55359     is_ref: true
   55360   }
   55361   attr {
   55362     name: "T"
   55363     type: "type"
   55364     allowed_values {
   55365       list {
   55366         type: DT_FLOAT
   55367         type: DT_DOUBLE
   55368         type: DT_INT64
   55369         type: DT_INT32
   55370         type: DT_UINT8
   55371         type: DT_UINT16
   55372         type: DT_INT16
   55373         type: DT_INT8
   55374         type: DT_COMPLEX64
   55375         type: DT_COMPLEX128
   55376         type: DT_QINT8
   55377         type: DT_QUINT8
   55378         type: DT_QINT32
   55379         type: DT_HALF
   55380         type: DT_UINT32
   55381         type: DT_UINT64
   55382       }
   55383     }
   55384   }
   55385   attr {
   55386     name: "Tindices"
   55387     type: "type"
   55388     allowed_values {
   55389       list {
   55390         type: DT_INT32
   55391         type: DT_INT64
   55392       }
   55393     }
   55394   }
   55395   attr {
   55396     name: "use_locking"
   55397     type: "bool"
   55398     default_value {
   55399       b: false
   55400     }
   55401   }
   55402   attr {
   55403     name: "use_nesterov"
   55404     type: "bool"
   55405     default_value {
   55406       b: false
   55407     }
   55408   }
   55409 }
   55410 op {
   55411   name: "SparseApplyMomentum"
   55412   input_arg {
   55413     name: "var"
   55414     type_attr: "T"
   55415     is_ref: true
   55416   }
   55417   input_arg {
   55418     name: "accum"
   55419     type_attr: "T"
   55420     is_ref: true
   55421   }
   55422   input_arg {
   55423     name: "lr"
   55424     type_attr: "T"
   55425   }
   55426   input_arg {
   55427     name: "grad"
   55428     type_attr: "T"
   55429   }
   55430   input_arg {
   55431     name: "indices"
   55432     type_attr: "Tindices"
   55433   }
   55434   input_arg {
   55435     name: "momentum"
   55436     type_attr: "T"
   55437   }
   55438   output_arg {
   55439     name: "out"
   55440     type_attr: "T"
   55441     is_ref: true
   55442   }
   55443   attr {
   55444     name: "T"
   55445     type: "type"
   55446     allowed_values {
   55447       list {
   55448         type: DT_FLOAT
   55449         type: DT_DOUBLE
   55450         type: DT_INT64
   55451         type: DT_INT32
   55452         type: DT_UINT8
   55453         type: DT_UINT16
   55454         type: DT_INT16
   55455         type: DT_INT8
   55456         type: DT_COMPLEX64
   55457         type: DT_COMPLEX128
   55458         type: DT_QINT8
   55459         type: DT_QUINT8
   55460         type: DT_QINT32
   55461         type: DT_HALF
   55462         type: DT_UINT32
   55463         type: DT_UINT64
   55464         type: DT_BFLOAT16
   55465       }
   55466     }
   55467   }
   55468   attr {
   55469     name: "Tindices"
   55470     type: "type"
   55471     allowed_values {
   55472       list {
   55473         type: DT_INT32
   55474         type: DT_INT64
   55475       }
   55476     }
   55477   }
   55478   attr {
   55479     name: "use_locking"
   55480     type: "bool"
   55481     default_value {
   55482       b: false
   55483     }
   55484   }
   55485   attr {
   55486     name: "use_nesterov"
   55487     type: "bool"
   55488     default_value {
   55489       b: false
   55490     }
   55491   }
   55492 }
   55493 op {
   55494   name: "SparseApplyMomentum"
   55495   input_arg {
   55496     name: "var"
   55497     type_attr: "T"
   55498     is_ref: true
   55499   }
   55500   input_arg {
   55501     name: "accum"
   55502     type_attr: "T"
   55503     is_ref: true
   55504   }
   55505   input_arg {
   55506     name: "lr"
   55507     type_attr: "T"
   55508   }
   55509   input_arg {
   55510     name: "grad"
   55511     type_attr: "T"
   55512   }
   55513   input_arg {
   55514     name: "indices"
   55515     type_attr: "Tindices"
   55516   }
   55517   input_arg {
   55518     name: "momentum"
   55519     type_attr: "T"
   55520   }
   55521   output_arg {
   55522     name: "out"
   55523     type_attr: "T"
   55524     is_ref: true
   55525   }
   55526   attr {
   55527     name: "T"
   55528     type: "type"
   55529     allowed_values {
   55530       list {
   55531         type: DT_FLOAT
   55532         type: DT_DOUBLE
   55533         type: DT_INT32
   55534         type: DT_UINT8
   55535         type: DT_INT16
   55536         type: DT_INT8
   55537         type: DT_COMPLEX64
   55538         type: DT_INT64
   55539         type: DT_QINT8
   55540         type: DT_QUINT8
   55541         type: DT_QINT32
   55542         type: DT_BFLOAT16
   55543         type: DT_UINT16
   55544         type: DT_COMPLEX128
   55545         type: DT_HALF
   55546         type: DT_UINT32
   55547         type: DT_UINT64
   55548       }
   55549     }
   55550   }
   55551   attr {
   55552     name: "Tindices"
   55553     type: "type"
   55554     allowed_values {
   55555       list {
   55556         type: DT_INT32
   55557         type: DT_INT64
   55558       }
   55559     }
   55560   }
   55561   attr {
   55562     name: "use_locking"
   55563     type: "bool"
   55564     default_value {
   55565       b: false
   55566     }
   55567   }
   55568   attr {
   55569     name: "use_nesterov"
   55570     type: "bool"
   55571     default_value {
   55572       b: false
   55573     }
   55574   }
   55575 }
   55576 op {
   55577   name: "SparseApplyProximalAdagrad"
   55578   input_arg {
   55579     name: "var"
   55580     type_attr: "T"
   55581     is_ref: true
   55582   }
   55583   input_arg {
   55584     name: "accum"
   55585     type_attr: "T"
   55586     is_ref: true
   55587   }
   55588   input_arg {
   55589     name: "lr"
   55590     type_attr: "T"
   55591   }
   55592   input_arg {
   55593     name: "l1"
   55594     type_attr: "T"
   55595   }
   55596   input_arg {
   55597     name: "l2"
   55598     type_attr: "T"
   55599   }
   55600   input_arg {
   55601     name: "grad"
   55602     type_attr: "T"
   55603   }
   55604   input_arg {
   55605     name: "indices"
   55606     type_attr: "Tindices"
   55607   }
   55608   output_arg {
   55609     name: "out"
   55610     type_attr: "T"
   55611     is_ref: true
   55612   }
   55613   attr {
   55614     name: "T"
   55615     type: "type"
   55616     allowed_values {
   55617       list {
   55618         type: DT_FLOAT
   55619         type: DT_DOUBLE
   55620         type: DT_INT64
   55621         type: DT_INT32
   55622         type: DT_UINT8
   55623         type: DT_UINT16
   55624         type: DT_INT16
   55625         type: DT_INT8
   55626         type: DT_COMPLEX64
   55627         type: DT_COMPLEX128
   55628         type: DT_QINT8
   55629         type: DT_QUINT8
   55630         type: DT_QINT32
   55631         type: DT_HALF
   55632       }
   55633     }
   55634   }
   55635   attr {
   55636     name: "Tindices"
   55637     type: "type"
   55638     allowed_values {
   55639       list {
   55640         type: DT_INT32
   55641         type: DT_INT64
   55642       }
   55643     }
   55644   }
   55645   attr {
   55646     name: "use_locking"
   55647     type: "bool"
   55648     default_value {
   55649       b: false
   55650     }
   55651   }
   55652 }
   55653 op {
   55654   name: "SparseApplyProximalAdagrad"
   55655   input_arg {
   55656     name: "var"
   55657     type_attr: "T"
   55658     is_ref: true
   55659   }
   55660   input_arg {
   55661     name: "accum"
   55662     type_attr: "T"
   55663     is_ref: true
   55664   }
   55665   input_arg {
   55666     name: "lr"
   55667     type_attr: "T"
   55668   }
   55669   input_arg {
   55670     name: "l1"
   55671     type_attr: "T"
   55672   }
   55673   input_arg {
   55674     name: "l2"
   55675     type_attr: "T"
   55676   }
   55677   input_arg {
   55678     name: "grad"
   55679     type_attr: "T"
   55680   }
   55681   input_arg {
   55682     name: "indices"
   55683     type_attr: "Tindices"
   55684   }
   55685   output_arg {
   55686     name: "out"
   55687     type_attr: "T"
   55688     is_ref: true
   55689   }
   55690   attr {
   55691     name: "T"
   55692     type: "type"
   55693     allowed_values {
   55694       list {
   55695         type: DT_FLOAT
   55696         type: DT_DOUBLE
   55697         type: DT_INT64
   55698         type: DT_INT32
   55699         type: DT_UINT8
   55700         type: DT_UINT16
   55701         type: DT_INT16
   55702         type: DT_INT8
   55703         type: DT_COMPLEX64
   55704         type: DT_COMPLEX128
   55705         type: DT_QINT8
   55706         type: DT_QUINT8
   55707         type: DT_QINT32
   55708         type: DT_HALF
   55709         type: DT_UINT32
   55710         type: DT_UINT64
   55711       }
   55712     }
   55713   }
   55714   attr {
   55715     name: "Tindices"
   55716     type: "type"
   55717     allowed_values {
   55718       list {
   55719         type: DT_INT32
   55720         type: DT_INT64
   55721       }
   55722     }
   55723   }
   55724   attr {
   55725     name: "use_locking"
   55726     type: "bool"
   55727     default_value {
   55728       b: false
   55729     }
   55730   }
   55731 }
   55732 op {
   55733   name: "SparseApplyProximalAdagrad"
   55734   input_arg {
   55735     name: "var"
   55736     type_attr: "T"
   55737     is_ref: true
   55738   }
   55739   input_arg {
   55740     name: "accum"
   55741     type_attr: "T"
   55742     is_ref: true
   55743   }
   55744   input_arg {
   55745     name: "lr"
   55746     type_attr: "T"
   55747   }
   55748   input_arg {
   55749     name: "l1"
   55750     type_attr: "T"
   55751   }
   55752   input_arg {
   55753     name: "l2"
   55754     type_attr: "T"
   55755   }
   55756   input_arg {
   55757     name: "grad"
   55758     type_attr: "T"
   55759   }
   55760   input_arg {
   55761     name: "indices"
   55762     type_attr: "Tindices"
   55763   }
   55764   output_arg {
   55765     name: "out"
   55766     type_attr: "T"
   55767     is_ref: true
   55768   }
   55769   attr {
   55770     name: "T"
   55771     type: "type"
   55772     allowed_values {
   55773       list {
   55774         type: DT_FLOAT
   55775         type: DT_DOUBLE
   55776         type: DT_INT64
   55777         type: DT_INT32
   55778         type: DT_UINT8
   55779         type: DT_UINT16
   55780         type: DT_INT16
   55781         type: DT_INT8
   55782         type: DT_COMPLEX64
   55783         type: DT_COMPLEX128
   55784         type: DT_QINT8
   55785         type: DT_QUINT8
   55786         type: DT_QINT32
   55787         type: DT_HALF
   55788         type: DT_UINT32
   55789         type: DT_UINT64
   55790         type: DT_BFLOAT16
   55791       }
   55792     }
   55793   }
   55794   attr {
   55795     name: "Tindices"
   55796     type: "type"
   55797     allowed_values {
   55798       list {
   55799         type: DT_INT32
   55800         type: DT_INT64
   55801       }
   55802     }
   55803   }
   55804   attr {
   55805     name: "use_locking"
   55806     type: "bool"
   55807     default_value {
   55808       b: false
   55809     }
   55810   }
   55811 }
   55812 op {
   55813   name: "SparseApplyProximalAdagrad"
   55814   input_arg {
   55815     name: "var"
   55816     type_attr: "T"
   55817     is_ref: true
   55818   }
   55819   input_arg {
   55820     name: "accum"
   55821     type_attr: "T"
   55822     is_ref: true
   55823   }
   55824   input_arg {
   55825     name: "lr"
   55826     type_attr: "T"
   55827   }
   55828   input_arg {
   55829     name: "l1"
   55830     type_attr: "T"
   55831   }
   55832   input_arg {
   55833     name: "l2"
   55834     type_attr: "T"
   55835   }
   55836   input_arg {
   55837     name: "grad"
   55838     type_attr: "T"
   55839   }
   55840   input_arg {
   55841     name: "indices"
   55842     type_attr: "Tindices"
   55843   }
   55844   output_arg {
   55845     name: "out"
   55846     type_attr: "T"
   55847     is_ref: true
   55848   }
   55849   attr {
   55850     name: "T"
   55851     type: "type"
   55852     allowed_values {
   55853       list {
   55854         type: DT_FLOAT
   55855         type: DT_DOUBLE
   55856         type: DT_INT32
   55857         type: DT_UINT8
   55858         type: DT_INT16
   55859         type: DT_INT8
   55860         type: DT_COMPLEX64
   55861         type: DT_INT64
   55862         type: DT_QINT8
   55863         type: DT_QUINT8
   55864         type: DT_QINT32
   55865         type: DT_BFLOAT16
   55866         type: DT_UINT16
   55867         type: DT_COMPLEX128
   55868         type: DT_HALF
   55869         type: DT_UINT32
   55870         type: DT_UINT64
   55871       }
   55872     }
   55873   }
   55874   attr {
   55875     name: "Tindices"
   55876     type: "type"
   55877     allowed_values {
   55878       list {
   55879         type: DT_INT32
   55880         type: DT_INT64
   55881       }
   55882     }
   55883   }
   55884   attr {
   55885     name: "use_locking"
   55886     type: "bool"
   55887     default_value {
   55888       b: false
   55889     }
   55890   }
   55891 }
   55892 op {
   55893   name: "SparseApplyProximalGradientDescent"
   55894   input_arg {
   55895     name: "var"
   55896     type_attr: "T"
   55897     is_ref: true
   55898   }
   55899   input_arg {
   55900     name: "alpha"
   55901     type_attr: "T"
   55902   }
   55903   input_arg {
   55904     name: "l1"
   55905     type_attr: "T"
   55906   }
   55907   input_arg {
   55908     name: "l2"
   55909     type_attr: "T"
   55910   }
   55911   input_arg {
   55912     name: "grad"
   55913     type_attr: "T"
   55914   }
   55915   input_arg {
   55916     name: "indices"
   55917     type_attr: "Tindices"
   55918   }
   55919   output_arg {
   55920     name: "out"
   55921     type_attr: "T"
   55922     is_ref: true
   55923   }
   55924   attr {
   55925     name: "T"
   55926     type: "type"
   55927     allowed_values {
   55928       list {
   55929         type: DT_FLOAT
   55930         type: DT_DOUBLE
   55931         type: DT_INT64
   55932         type: DT_INT32
   55933         type: DT_UINT8
   55934         type: DT_UINT16
   55935         type: DT_INT16
   55936         type: DT_INT8
   55937         type: DT_COMPLEX64
   55938         type: DT_COMPLEX128
   55939         type: DT_QINT8
   55940         type: DT_QUINT8
   55941         type: DT_QINT32
   55942         type: DT_HALF
   55943       }
   55944     }
   55945   }
   55946   attr {
   55947     name: "Tindices"
   55948     type: "type"
   55949     allowed_values {
   55950       list {
   55951         type: DT_INT32
   55952         type: DT_INT64
   55953       }
   55954     }
   55955   }
   55956   attr {
   55957     name: "use_locking"
   55958     type: "bool"
   55959     default_value {
   55960       b: false
   55961     }
   55962   }
   55963 }
   55964 op {
   55965   name: "SparseApplyProximalGradientDescent"
   55966   input_arg {
   55967     name: "var"
   55968     type_attr: "T"
   55969     is_ref: true
   55970   }
   55971   input_arg {
   55972     name: "alpha"
   55973     type_attr: "T"
   55974   }
   55975   input_arg {
   55976     name: "l1"
   55977     type_attr: "T"
   55978   }
   55979   input_arg {
   55980     name: "l2"
   55981     type_attr: "T"
   55982   }
   55983   input_arg {
   55984     name: "grad"
   55985     type_attr: "T"
   55986   }
   55987   input_arg {
   55988     name: "indices"
   55989     type_attr: "Tindices"
   55990   }
   55991   output_arg {
   55992     name: "out"
   55993     type_attr: "T"
   55994     is_ref: true
   55995   }
   55996   attr {
   55997     name: "T"
   55998     type: "type"
   55999     allowed_values {
   56000       list {
   56001         type: DT_FLOAT
   56002         type: DT_DOUBLE
   56003         type: DT_INT64
   56004         type: DT_INT32
   56005         type: DT_UINT8
   56006         type: DT_UINT16
   56007         type: DT_INT16
   56008         type: DT_INT8
   56009         type: DT_COMPLEX64
   56010         type: DT_COMPLEX128
   56011         type: DT_QINT8
   56012         type: DT_QUINT8
   56013         type: DT_QINT32
   56014         type: DT_HALF
   56015         type: DT_UINT32
   56016         type: DT_UINT64
   56017       }
   56018     }
   56019   }
   56020   attr {
   56021     name: "Tindices"
   56022     type: "type"
   56023     allowed_values {
   56024       list {
   56025         type: DT_INT32
   56026         type: DT_INT64
   56027       }
   56028     }
   56029   }
   56030   attr {
   56031     name: "use_locking"
   56032     type: "bool"
   56033     default_value {
   56034       b: false
   56035     }
   56036   }
   56037 }
   56038 op {
   56039   name: "SparseApplyProximalGradientDescent"
   56040   input_arg {
   56041     name: "var"
   56042     type_attr: "T"
   56043     is_ref: true
   56044   }
   56045   input_arg {
   56046     name: "alpha"
   56047     type_attr: "T"
   56048   }
   56049   input_arg {
   56050     name: "l1"
   56051     type_attr: "T"
   56052   }
   56053   input_arg {
   56054     name: "l2"
   56055     type_attr: "T"
   56056   }
   56057   input_arg {
   56058     name: "grad"
   56059     type_attr: "T"
   56060   }
   56061   input_arg {
   56062     name: "indices"
   56063     type_attr: "Tindices"
   56064   }
   56065   output_arg {
   56066     name: "out"
   56067     type_attr: "T"
   56068     is_ref: true
   56069   }
   56070   attr {
   56071     name: "T"
   56072     type: "type"
   56073     allowed_values {
   56074       list {
   56075         type: DT_FLOAT
   56076         type: DT_DOUBLE
   56077         type: DT_INT64
   56078         type: DT_INT32
   56079         type: DT_UINT8
   56080         type: DT_UINT16
   56081         type: DT_INT16
   56082         type: DT_INT8
   56083         type: DT_COMPLEX64
   56084         type: DT_COMPLEX128
   56085         type: DT_QINT8
   56086         type: DT_QUINT8
   56087         type: DT_QINT32
   56088         type: DT_HALF
   56089         type: DT_UINT32
   56090         type: DT_UINT64
   56091         type: DT_BFLOAT16
   56092       }
   56093     }
   56094   }
   56095   attr {
   56096     name: "Tindices"
   56097     type: "type"
   56098     allowed_values {
   56099       list {
   56100         type: DT_INT32
   56101         type: DT_INT64
   56102       }
   56103     }
   56104   }
   56105   attr {
   56106     name: "use_locking"
   56107     type: "bool"
   56108     default_value {
   56109       b: false
   56110     }
   56111   }
   56112 }
   56113 op {
   56114   name: "SparseApplyProximalGradientDescent"
   56115   input_arg {
   56116     name: "var"
   56117     type_attr: "T"
   56118     is_ref: true
   56119   }
   56120   input_arg {
   56121     name: "alpha"
   56122     type_attr: "T"
   56123   }
   56124   input_arg {
   56125     name: "l1"
   56126     type_attr: "T"
   56127   }
   56128   input_arg {
   56129     name: "l2"
   56130     type_attr: "T"
   56131   }
   56132   input_arg {
   56133     name: "grad"
   56134     type_attr: "T"
   56135   }
   56136   input_arg {
   56137     name: "indices"
   56138     type_attr: "Tindices"
   56139   }
   56140   output_arg {
   56141     name: "out"
   56142     type_attr: "T"
   56143     is_ref: true
   56144   }
   56145   attr {
   56146     name: "T"
   56147     type: "type"
   56148     allowed_values {
   56149       list {
   56150         type: DT_FLOAT
   56151         type: DT_DOUBLE
   56152         type: DT_INT32
   56153         type: DT_UINT8
   56154         type: DT_INT16
   56155         type: DT_INT8
   56156         type: DT_COMPLEX64
   56157         type: DT_INT64
   56158         type: DT_QINT8
   56159         type: DT_QUINT8
   56160         type: DT_QINT32
   56161         type: DT_BFLOAT16
   56162         type: DT_UINT16
   56163         type: DT_COMPLEX128
   56164         type: DT_HALF
   56165         type: DT_UINT32
   56166         type: DT_UINT64
   56167       }
   56168     }
   56169   }
   56170   attr {
   56171     name: "Tindices"
   56172     type: "type"
   56173     allowed_values {
   56174       list {
   56175         type: DT_INT32
   56176         type: DT_INT64
   56177       }
   56178     }
   56179   }
   56180   attr {
   56181     name: "use_locking"
   56182     type: "bool"
   56183     default_value {
   56184       b: false
   56185     }
   56186   }
   56187 }
   56188 op {
   56189   name: "SparseApplyRMSProp"
   56190   input_arg {
   56191     name: "var"
   56192     type_attr: "T"
   56193     is_ref: true
   56194   }
   56195   input_arg {
   56196     name: "ms"
   56197     type_attr: "T"
   56198     is_ref: true
   56199   }
   56200   input_arg {
   56201     name: "mom"
   56202     type_attr: "T"
   56203     is_ref: true
   56204   }
   56205   input_arg {
   56206     name: "lr"
   56207     type_attr: "T"
   56208   }
   56209   input_arg {
   56210     name: "rho"
   56211     type_attr: "T"
   56212   }
   56213   input_arg {
   56214     name: "momentum"
   56215     type_attr: "T"
   56216   }
   56217   input_arg {
   56218     name: "epsilon"
   56219     type_attr: "T"
   56220   }
   56221   input_arg {
   56222     name: "grad"
   56223     type_attr: "T"
   56224   }
   56225   input_arg {
   56226     name: "indices"
   56227     type_attr: "Tindices"
   56228   }
   56229   output_arg {
   56230     name: "out"
   56231     type_attr: "T"
   56232     is_ref: true
   56233   }
   56234   attr {
   56235     name: "T"
   56236     type: "type"
   56237     allowed_values {
   56238       list {
   56239         type: DT_FLOAT
   56240         type: DT_DOUBLE
   56241         type: DT_INT64
   56242         type: DT_INT32
   56243         type: DT_UINT8
   56244         type: DT_UINT16
   56245         type: DT_INT16
   56246         type: DT_INT8
   56247         type: DT_COMPLEX64
   56248         type: DT_COMPLEX128
   56249         type: DT_QINT8
   56250         type: DT_QUINT8
   56251         type: DT_QINT32
   56252         type: DT_HALF
   56253       }
   56254     }
   56255   }
   56256   attr {
   56257     name: "Tindices"
   56258     type: "type"
   56259     allowed_values {
   56260       list {
   56261         type: DT_INT32
   56262         type: DT_INT64
   56263       }
   56264     }
   56265   }
   56266   attr {
   56267     name: "use_locking"
   56268     type: "bool"
   56269     default_value {
   56270       b: false
   56271     }
   56272   }
   56273 }
   56274 op {
   56275   name: "SparseApplyRMSProp"
   56276   input_arg {
   56277     name: "var"
   56278     type_attr: "T"
   56279     is_ref: true
   56280   }
   56281   input_arg {
   56282     name: "ms"
   56283     type_attr: "T"
   56284     is_ref: true
   56285   }
   56286   input_arg {
   56287     name: "mom"
   56288     type_attr: "T"
   56289     is_ref: true
   56290   }
   56291   input_arg {
   56292     name: "lr"
   56293     type_attr: "T"
   56294   }
   56295   input_arg {
   56296     name: "rho"
   56297     type_attr: "T"
   56298   }
   56299   input_arg {
   56300     name: "momentum"
   56301     type_attr: "T"
   56302   }
   56303   input_arg {
   56304     name: "epsilon"
   56305     type_attr: "T"
   56306   }
   56307   input_arg {
   56308     name: "grad"
   56309     type_attr: "T"
   56310   }
   56311   input_arg {
   56312     name: "indices"
   56313     type_attr: "Tindices"
   56314   }
   56315   output_arg {
   56316     name: "out"
   56317     type_attr: "T"
   56318     is_ref: true
   56319   }
   56320   attr {
   56321     name: "T"
   56322     type: "type"
   56323     allowed_values {
   56324       list {
   56325         type: DT_FLOAT
   56326         type: DT_DOUBLE
   56327         type: DT_INT64
   56328         type: DT_INT32
   56329         type: DT_UINT8
   56330         type: DT_UINT16
   56331         type: DT_INT16
   56332         type: DT_INT8
   56333         type: DT_COMPLEX64
   56334         type: DT_COMPLEX128
   56335         type: DT_QINT8
   56336         type: DT_QUINT8
   56337         type: DT_QINT32
   56338         type: DT_HALF
   56339         type: DT_UINT32
   56340         type: DT_UINT64
   56341       }
   56342     }
   56343   }
   56344   attr {
   56345     name: "Tindices"
   56346     type: "type"
   56347     allowed_values {
   56348       list {
   56349         type: DT_INT32
   56350         type: DT_INT64
   56351       }
   56352     }
   56353   }
   56354   attr {
   56355     name: "use_locking"
   56356     type: "bool"
   56357     default_value {
   56358       b: false
   56359     }
   56360   }
   56361 }
   56362 op {
   56363   name: "SparseApplyRMSProp"
   56364   input_arg {
   56365     name: "var"
   56366     type_attr: "T"
   56367     is_ref: true
   56368   }
   56369   input_arg {
   56370     name: "ms"
   56371     type_attr: "T"
   56372     is_ref: true
   56373   }
   56374   input_arg {
   56375     name: "mom"
   56376     type_attr: "T"
   56377     is_ref: true
   56378   }
   56379   input_arg {
   56380     name: "lr"
   56381     type_attr: "T"
   56382   }
   56383   input_arg {
   56384     name: "rho"
   56385     type_attr: "T"
   56386   }
   56387   input_arg {
   56388     name: "momentum"
   56389     type_attr: "T"
   56390   }
   56391   input_arg {
   56392     name: "epsilon"
   56393     type_attr: "T"
   56394   }
   56395   input_arg {
   56396     name: "grad"
   56397     type_attr: "T"
   56398   }
   56399   input_arg {
   56400     name: "indices"
   56401     type_attr: "Tindices"
   56402   }
   56403   output_arg {
   56404     name: "out"
   56405     type_attr: "T"
   56406     is_ref: true
   56407   }
   56408   attr {
   56409     name: "T"
   56410     type: "type"
   56411     allowed_values {
   56412       list {
   56413         type: DT_FLOAT
   56414         type: DT_DOUBLE
   56415         type: DT_INT64
   56416         type: DT_INT32
   56417         type: DT_UINT8
   56418         type: DT_UINT16
   56419         type: DT_INT16
   56420         type: DT_INT8
   56421         type: DT_COMPLEX64
   56422         type: DT_COMPLEX128
   56423         type: DT_QINT8
   56424         type: DT_QUINT8
   56425         type: DT_QINT32
   56426         type: DT_HALF
   56427         type: DT_UINT32
   56428         type: DT_UINT64
   56429         type: DT_BFLOAT16
   56430       }
   56431     }
   56432   }
   56433   attr {
   56434     name: "Tindices"
   56435     type: "type"
   56436     allowed_values {
   56437       list {
   56438         type: DT_INT32
   56439         type: DT_INT64
   56440       }
   56441     }
   56442   }
   56443   attr {
   56444     name: "use_locking"
   56445     type: "bool"
   56446     default_value {
   56447       b: false
   56448     }
   56449   }
   56450 }
   56451 op {
   56452   name: "SparseApplyRMSProp"
   56453   input_arg {
   56454     name: "var"
   56455     type_attr: "T"
   56456     is_ref: true
   56457   }
   56458   input_arg {
   56459     name: "ms"
   56460     type_attr: "T"
   56461     is_ref: true
   56462   }
   56463   input_arg {
   56464     name: "mom"
   56465     type_attr: "T"
   56466     is_ref: true
   56467   }
   56468   input_arg {
   56469     name: "lr"
   56470     type_attr: "T"
   56471   }
   56472   input_arg {
   56473     name: "rho"
   56474     type_attr: "T"
   56475   }
   56476   input_arg {
   56477     name: "momentum"
   56478     type_attr: "T"
   56479   }
   56480   input_arg {
   56481     name: "epsilon"
   56482     type_attr: "T"
   56483   }
   56484   input_arg {
   56485     name: "grad"
   56486     type_attr: "T"
   56487   }
   56488   input_arg {
   56489     name: "indices"
   56490     type_attr: "Tindices"
   56491   }
   56492   output_arg {
   56493     name: "out"
   56494     type_attr: "T"
   56495     is_ref: true
   56496   }
   56497   attr {
   56498     name: "T"
   56499     type: "type"
   56500     allowed_values {
   56501       list {
   56502         type: DT_FLOAT
   56503         type: DT_DOUBLE
   56504         type: DT_INT32
   56505         type: DT_UINT8
   56506         type: DT_INT16
   56507         type: DT_INT8
   56508         type: DT_COMPLEX64
   56509         type: DT_INT64
   56510         type: DT_QINT8
   56511         type: DT_QUINT8
   56512         type: DT_QINT32
   56513         type: DT_BFLOAT16
   56514         type: DT_UINT16
   56515         type: DT_COMPLEX128
   56516         type: DT_HALF
   56517         type: DT_UINT32
   56518         type: DT_UINT64
   56519       }
   56520     }
   56521   }
   56522   attr {
   56523     name: "Tindices"
   56524     type: "type"
   56525     allowed_values {
   56526       list {
   56527         type: DT_INT32
   56528         type: DT_INT64
   56529       }
   56530     }
   56531   }
   56532   attr {
   56533     name: "use_locking"
   56534     type: "bool"
   56535     default_value {
   56536       b: false
   56537     }
   56538   }
   56539 }
   56540 op {
   56541   name: "SparseConcat"
   56542   input_arg {
   56543     name: "indices"
   56544     type: DT_INT64
   56545     number_attr: "N"
   56546   }
   56547   input_arg {
   56548     name: "values"
   56549     type_attr: "T"
   56550     number_attr: "N"
   56551   }
   56552   input_arg {
   56553     name: "shapes"
   56554     type: DT_INT64
   56555     number_attr: "N"
   56556   }
   56557   output_arg {
   56558     name: "output_indices"
   56559     type: DT_INT64
   56560   }
   56561   output_arg {
   56562     name: "output_values"
   56563     type_attr: "T"
   56564   }
   56565   output_arg {
   56566     name: "output_shape"
   56567     type: DT_INT64
   56568   }
   56569   attr {
   56570     name: "concat_dim"
   56571     type: "int"
   56572   }
   56573   attr {
   56574     name: "N"
   56575     type: "int"
   56576     has_minimum: true
   56577     minimum: 2
   56578   }
   56579   attr {
   56580     name: "T"
   56581     type: "type"
   56582   }
   56583 }
   56584 op {
   56585   name: "SparseConditionalAccumulator"
   56586   output_arg {
   56587     name: "handle"
   56588     type: DT_STRING
   56589     is_ref: true
   56590   }
   56591   attr {
   56592     name: "dtype"
   56593     type: "type"
   56594     allowed_values {
   56595       list {
   56596         type: DT_FLOAT
   56597         type: DT_DOUBLE
   56598         type: DT_INT64
   56599         type: DT_INT32
   56600         type: DT_UINT8
   56601         type: DT_UINT16
   56602         type: DT_INT16
   56603         type: DT_INT8
   56604         type: DT_COMPLEX64
   56605         type: DT_COMPLEX128
   56606         type: DT_QINT8
   56607         type: DT_QUINT8
   56608         type: DT_QINT32
   56609         type: DT_HALF
   56610       }
   56611     }
   56612   }
   56613   attr {
   56614     name: "shape"
   56615     type: "shape"
   56616   }
   56617   attr {
   56618     name: "container"
   56619     type: "string"
   56620     default_value {
   56621       s: ""
   56622     }
   56623   }
   56624   attr {
   56625     name: "shared_name"
   56626     type: "string"
   56627     default_value {
   56628       s: ""
   56629     }
   56630   }
   56631   is_stateful: true
   56632 }
   56633 op {
   56634   name: "SparseConditionalAccumulator"
   56635   output_arg {
   56636     name: "handle"
   56637     type: DT_STRING
   56638     is_ref: true
   56639   }
   56640   attr {
   56641     name: "dtype"
   56642     type: "type"
   56643     allowed_values {
   56644       list {
   56645         type: DT_FLOAT
   56646         type: DT_DOUBLE
   56647         type: DT_INT64
   56648         type: DT_INT32
   56649         type: DT_UINT8
   56650         type: DT_UINT16
   56651         type: DT_INT16
   56652         type: DT_INT8
   56653         type: DT_COMPLEX64
   56654         type: DT_COMPLEX128
   56655         type: DT_QINT8
   56656         type: DT_QUINT8
   56657         type: DT_QINT32
   56658         type: DT_HALF
   56659         type: DT_UINT32
   56660         type: DT_UINT64
   56661       }
   56662     }
   56663   }
   56664   attr {
   56665     name: "shape"
   56666     type: "shape"
   56667   }
   56668   attr {
   56669     name: "container"
   56670     type: "string"
   56671     default_value {
   56672       s: ""
   56673     }
   56674   }
   56675   attr {
   56676     name: "shared_name"
   56677     type: "string"
   56678     default_value {
   56679       s: ""
   56680     }
   56681   }
   56682   is_stateful: true
   56683 }
   56684 op {
   56685   name: "SparseConditionalAccumulator"
   56686   output_arg {
   56687     name: "handle"
   56688     type: DT_STRING
   56689     is_ref: true
   56690   }
   56691   attr {
   56692     name: "dtype"
   56693     type: "type"
   56694     allowed_values {
   56695       list {
   56696         type: DT_FLOAT
   56697         type: DT_DOUBLE
   56698         type: DT_INT64
   56699         type: DT_INT32
   56700         type: DT_UINT8
   56701         type: DT_UINT16
   56702         type: DT_INT16
   56703         type: DT_INT8
   56704         type: DT_COMPLEX64
   56705         type: DT_COMPLEX128
   56706         type: DT_QINT8
   56707         type: DT_QUINT8
   56708         type: DT_QINT32
   56709         type: DT_HALF
   56710         type: DT_UINT32
   56711         type: DT_UINT64
   56712         type: DT_BFLOAT16
   56713       }
   56714     }
   56715   }
   56716   attr {
   56717     name: "shape"
   56718     type: "shape"
   56719   }
   56720   attr {
   56721     name: "container"
   56722     type: "string"
   56723     default_value {
   56724       s: ""
   56725     }
   56726   }
   56727   attr {
   56728     name: "shared_name"
   56729     type: "string"
   56730     default_value {
   56731       s: ""
   56732     }
   56733   }
   56734   is_stateful: true
   56735 }
   56736 op {
   56737   name: "SparseConditionalAccumulator"
   56738   output_arg {
   56739     name: "handle"
   56740     type: DT_STRING
   56741     is_ref: true
   56742   }
   56743   attr {
   56744     name: "dtype"
   56745     type: "type"
   56746     allowed_values {
   56747       list {
   56748         type: DT_FLOAT
   56749         type: DT_DOUBLE
   56750         type: DT_INT32
   56751         type: DT_UINT8
   56752         type: DT_INT16
   56753         type: DT_INT8
   56754         type: DT_COMPLEX64
   56755         type: DT_INT64
   56756         type: DT_QINT8
   56757         type: DT_QUINT8
   56758         type: DT_QINT32
   56759         type: DT_BFLOAT16
   56760         type: DT_UINT16
   56761         type: DT_COMPLEX128
   56762         type: DT_HALF
   56763         type: DT_UINT32
   56764         type: DT_UINT64
   56765       }
   56766     }
   56767   }
   56768   attr {
   56769     name: "shape"
   56770     type: "shape"
   56771   }
   56772   attr {
   56773     name: "container"
   56774     type: "string"
   56775     default_value {
   56776       s: ""
   56777     }
   56778   }
   56779   attr {
   56780     name: "shared_name"
   56781     type: "string"
   56782     default_value {
   56783       s: ""
   56784     }
   56785   }
   56786   is_stateful: true
   56787 }
   56788 op {
   56789   name: "SparseCross"
   56790   input_arg {
   56791     name: "indices"
   56792     type: DT_INT64
   56793     number_attr: "N"
   56794   }
   56795   input_arg {
   56796     name: "values"
   56797     type_list_attr: "sparse_types"
   56798   }
   56799   input_arg {
   56800     name: "shapes"
   56801     type: DT_INT64
   56802     number_attr: "N"
   56803   }
   56804   input_arg {
   56805     name: "dense_inputs"
   56806     type_list_attr: "dense_types"
   56807   }
   56808   output_arg {
   56809     name: "output_indices"
   56810     type: DT_INT64
   56811   }
   56812   output_arg {
   56813     name: "output_values"
   56814     type_attr: "out_type"
   56815   }
   56816   output_arg {
   56817     name: "output_shape"
   56818     type: DT_INT64
   56819   }
   56820   attr {
   56821     name: "N"
   56822     type: "int"
   56823     has_minimum: true
   56824   }
   56825   attr {
   56826     name: "hashed_output"
   56827     type: "bool"
   56828   }
   56829   attr {
   56830     name: "num_buckets"
   56831     type: "int"
   56832     has_minimum: true
   56833   }
   56834   attr {
   56835     name: "hash_key"
   56836     type: "int"
   56837   }
   56838   attr {
   56839     name: "sparse_types"
   56840     type: "list(type)"
   56841     has_minimum: true
   56842     allowed_values {
   56843       list {
   56844         type: DT_INT64
   56845         type: DT_STRING
   56846       }
   56847     }
   56848   }
   56849   attr {
   56850     name: "dense_types"
   56851     type: "list(type)"
   56852     has_minimum: true
   56853     allowed_values {
   56854       list {
   56855         type: DT_INT64
   56856         type: DT_STRING
   56857       }
   56858     }
   56859   }
   56860   attr {
   56861     name: "out_type"
   56862     type: "type"
   56863     allowed_values {
   56864       list {
   56865         type: DT_INT64
   56866         type: DT_STRING
   56867       }
   56868     }
   56869   }
   56870   attr {
   56871     name: "internal_type"
   56872     type: "type"
   56873     allowed_values {
   56874       list {
   56875         type: DT_INT64
   56876         type: DT_STRING
   56877       }
   56878     }
   56879   }
   56880 }
   56881 op {
   56882   name: "SparseDenseCwiseAdd"
   56883   input_arg {
   56884     name: "sp_indices"
   56885     type: DT_INT64
   56886   }
   56887   input_arg {
   56888     name: "sp_values"
   56889     type_attr: "T"
   56890   }
   56891   input_arg {
   56892     name: "sp_shape"
   56893     type: DT_INT64
   56894   }
   56895   input_arg {
   56896     name: "dense"
   56897     type_attr: "T"
   56898   }
   56899   output_arg {
   56900     name: "output"
   56901     type_attr: "T"
   56902   }
   56903   attr {
   56904     name: "T"
   56905     type: "type"
   56906     allowed_values {
   56907       list {
   56908         type: DT_FLOAT
   56909         type: DT_DOUBLE
   56910         type: DT_INT64
   56911         type: DT_INT32
   56912         type: DT_UINT8
   56913         type: DT_UINT16
   56914         type: DT_INT16
   56915         type: DT_INT8
   56916         type: DT_COMPLEX64
   56917         type: DT_COMPLEX128
   56918         type: DT_QINT8
   56919         type: DT_QUINT8
   56920         type: DT_QINT32
   56921         type: DT_HALF
   56922       }
   56923     }
   56924   }
   56925 }
   56926 op {
   56927   name: "SparseDenseCwiseAdd"
   56928   input_arg {
   56929     name: "sp_indices"
   56930     type: DT_INT64
   56931   }
   56932   input_arg {
   56933     name: "sp_values"
   56934     type_attr: "T"
   56935   }
   56936   input_arg {
   56937     name: "sp_shape"
   56938     type: DT_INT64
   56939   }
   56940   input_arg {
   56941     name: "dense"
   56942     type_attr: "T"
   56943   }
   56944   output_arg {
   56945     name: "output"
   56946     type_attr: "T"
   56947   }
   56948   attr {
   56949     name: "T"
   56950     type: "type"
   56951     allowed_values {
   56952       list {
   56953         type: DT_FLOAT
   56954         type: DT_DOUBLE
   56955         type: DT_INT64
   56956         type: DT_INT32
   56957         type: DT_UINT8
   56958         type: DT_UINT16
   56959         type: DT_INT16
   56960         type: DT_INT8
   56961         type: DT_COMPLEX64
   56962         type: DT_COMPLEX128
   56963         type: DT_QINT8
   56964         type: DT_QUINT8
   56965         type: DT_QINT32
   56966         type: DT_HALF
   56967         type: DT_UINT32
   56968         type: DT_UINT64
   56969       }
   56970     }
   56971   }
   56972 }
   56973 op {
   56974   name: "SparseDenseCwiseAdd"
   56975   input_arg {
   56976     name: "sp_indices"
   56977     type: DT_INT64
   56978   }
   56979   input_arg {
   56980     name: "sp_values"
   56981     type_attr: "T"
   56982   }
   56983   input_arg {
   56984     name: "sp_shape"
   56985     type: DT_INT64
   56986   }
   56987   input_arg {
   56988     name: "dense"
   56989     type_attr: "T"
   56990   }
   56991   output_arg {
   56992     name: "output"
   56993     type_attr: "T"
   56994   }
   56995   attr {
   56996     name: "T"
   56997     type: "type"
   56998     allowed_values {
   56999       list {
   57000         type: DT_FLOAT
   57001         type: DT_DOUBLE
   57002         type: DT_INT64
   57003         type: DT_INT32
   57004         type: DT_UINT8
   57005         type: DT_UINT16
   57006         type: DT_INT16
   57007         type: DT_INT8
   57008         type: DT_COMPLEX64
   57009         type: DT_COMPLEX128
   57010         type: DT_QINT8
   57011         type: DT_QUINT8
   57012         type: DT_QINT32
   57013         type: DT_HALF
   57014         type: DT_UINT32
   57015         type: DT_UINT64
   57016         type: DT_BFLOAT16
   57017       }
   57018     }
   57019   }
   57020 }
   57021 op {
   57022   name: "SparseDenseCwiseAdd"
   57023   input_arg {
   57024     name: "sp_indices"
   57025     type: DT_INT64
   57026   }
   57027   input_arg {
   57028     name: "sp_values"
   57029     type_attr: "T"
   57030   }
   57031   input_arg {
   57032     name: "sp_shape"
   57033     type: DT_INT64
   57034   }
   57035   input_arg {
   57036     name: "dense"
   57037     type_attr: "T"
   57038   }
   57039   output_arg {
   57040     name: "output"
   57041     type_attr: "T"
   57042   }
   57043   attr {
   57044     name: "T"
   57045     type: "type"
   57046     allowed_values {
   57047       list {
   57048         type: DT_FLOAT
   57049         type: DT_DOUBLE
   57050         type: DT_INT32
   57051         type: DT_UINT8
   57052         type: DT_INT16
   57053         type: DT_INT8
   57054         type: DT_COMPLEX64
   57055         type: DT_INT64
   57056         type: DT_QINT8
   57057         type: DT_QUINT8
   57058         type: DT_QINT32
   57059         type: DT_BFLOAT16
   57060         type: DT_UINT16
   57061         type: DT_COMPLEX128
   57062         type: DT_HALF
   57063         type: DT_UINT32
   57064         type: DT_UINT64
   57065       }
   57066     }
   57067   }
   57068 }
   57069 op {
   57070   name: "SparseDenseCwiseDiv"
   57071   input_arg {
   57072     name: "sp_indices"
   57073     type: DT_INT64
   57074   }
   57075   input_arg {
   57076     name: "sp_values"
   57077     type_attr: "T"
   57078   }
   57079   input_arg {
   57080     name: "sp_shape"
   57081     type: DT_INT64
   57082   }
   57083   input_arg {
   57084     name: "dense"
   57085     type_attr: "T"
   57086   }
   57087   output_arg {
   57088     name: "output"
   57089     type_attr: "T"
   57090   }
   57091   attr {
   57092     name: "T"
   57093     type: "type"
   57094     allowed_values {
   57095       list {
   57096         type: DT_FLOAT
   57097         type: DT_DOUBLE
   57098         type: DT_INT64
   57099         type: DT_INT32
   57100         type: DT_UINT8
   57101         type: DT_UINT16
   57102         type: DT_INT16
   57103         type: DT_INT8
   57104         type: DT_COMPLEX64
   57105         type: DT_COMPLEX128
   57106         type: DT_QINT8
   57107         type: DT_QUINT8
   57108         type: DT_QINT32
   57109         type: DT_HALF
   57110       }
   57111     }
   57112   }
   57113 }
   57114 op {
   57115   name: "SparseDenseCwiseDiv"
   57116   input_arg {
   57117     name: "sp_indices"
   57118     type: DT_INT64
   57119   }
   57120   input_arg {
   57121     name: "sp_values"
   57122     type_attr: "T"
   57123   }
   57124   input_arg {
   57125     name: "sp_shape"
   57126     type: DT_INT64
   57127   }
   57128   input_arg {
   57129     name: "dense"
   57130     type_attr: "T"
   57131   }
   57132   output_arg {
   57133     name: "output"
   57134     type_attr: "T"
   57135   }
   57136   attr {
   57137     name: "T"
   57138     type: "type"
   57139     allowed_values {
   57140       list {
   57141         type: DT_FLOAT
   57142         type: DT_DOUBLE
   57143         type: DT_INT64
   57144         type: DT_INT32
   57145         type: DT_UINT8
   57146         type: DT_UINT16
   57147         type: DT_INT16
   57148         type: DT_INT8
   57149         type: DT_COMPLEX64
   57150         type: DT_COMPLEX128
   57151         type: DT_QINT8
   57152         type: DT_QUINT8
   57153         type: DT_QINT32
   57154         type: DT_HALF
   57155         type: DT_UINT32
   57156         type: DT_UINT64
   57157       }
   57158     }
   57159   }
   57160 }
   57161 op {
   57162   name: "SparseDenseCwiseDiv"
   57163   input_arg {
   57164     name: "sp_indices"
   57165     type: DT_INT64
   57166   }
   57167   input_arg {
   57168     name: "sp_values"
   57169     type_attr: "T"
   57170   }
   57171   input_arg {
   57172     name: "sp_shape"
   57173     type: DT_INT64
   57174   }
   57175   input_arg {
   57176     name: "dense"
   57177     type_attr: "T"
   57178   }
   57179   output_arg {
   57180     name: "output"
   57181     type_attr: "T"
   57182   }
   57183   attr {
   57184     name: "T"
   57185     type: "type"
   57186     allowed_values {
   57187       list {
   57188         type: DT_FLOAT
   57189         type: DT_DOUBLE
   57190         type: DT_INT64
   57191         type: DT_INT32
   57192         type: DT_UINT8
   57193         type: DT_UINT16
   57194         type: DT_INT16
   57195         type: DT_INT8
   57196         type: DT_COMPLEX64
   57197         type: DT_COMPLEX128
   57198         type: DT_QINT8
   57199         type: DT_QUINT8
   57200         type: DT_QINT32
   57201         type: DT_HALF
   57202         type: DT_UINT32
   57203         type: DT_UINT64
   57204         type: DT_BFLOAT16
   57205       }
   57206     }
   57207   }
   57208 }
   57209 op {
   57210   name: "SparseDenseCwiseDiv"
   57211   input_arg {
   57212     name: "sp_indices"
   57213     type: DT_INT64
   57214   }
   57215   input_arg {
   57216     name: "sp_values"
   57217     type_attr: "T"
   57218   }
   57219   input_arg {
   57220     name: "sp_shape"
   57221     type: DT_INT64
   57222   }
   57223   input_arg {
   57224     name: "dense"
   57225     type_attr: "T"
   57226   }
   57227   output_arg {
   57228     name: "output"
   57229     type_attr: "T"
   57230   }
   57231   attr {
   57232     name: "T"
   57233     type: "type"
   57234     allowed_values {
   57235       list {
   57236         type: DT_FLOAT
   57237         type: DT_DOUBLE
   57238         type: DT_INT32
   57239         type: DT_UINT8
   57240         type: DT_INT16
   57241         type: DT_INT8
   57242         type: DT_COMPLEX64
   57243         type: DT_INT64
   57244         type: DT_QINT8
   57245         type: DT_QUINT8
   57246         type: DT_QINT32
   57247         type: DT_BFLOAT16
   57248         type: DT_UINT16
   57249         type: DT_COMPLEX128
   57250         type: DT_HALF
   57251         type: DT_UINT32
   57252         type: DT_UINT64
   57253       }
   57254     }
   57255   }
   57256 }
   57257 op {
   57258   name: "SparseDenseCwiseMul"
   57259   input_arg {
   57260     name: "sp_indices"
   57261     type: DT_INT64
   57262   }
   57263   input_arg {
   57264     name: "sp_values"
   57265     type_attr: "T"
   57266   }
   57267   input_arg {
   57268     name: "sp_shape"
   57269     type: DT_INT64
   57270   }
   57271   input_arg {
   57272     name: "dense"
   57273     type_attr: "T"
   57274   }
   57275   output_arg {
   57276     name: "output"
   57277     type_attr: "T"
   57278   }
   57279   attr {
   57280     name: "T"
   57281     type: "type"
   57282     allowed_values {
   57283       list {
   57284         type: DT_FLOAT
   57285         type: DT_DOUBLE
   57286         type: DT_INT64
   57287         type: DT_INT32
   57288         type: DT_UINT8
   57289         type: DT_UINT16
   57290         type: DT_INT16
   57291         type: DT_INT8
   57292         type: DT_COMPLEX64
   57293         type: DT_COMPLEX128
   57294         type: DT_QINT8
   57295         type: DT_QUINT8
   57296         type: DT_QINT32
   57297         type: DT_HALF
   57298       }
   57299     }
   57300   }
   57301 }
   57302 op {
   57303   name: "SparseDenseCwiseMul"
   57304   input_arg {
   57305     name: "sp_indices"
   57306     type: DT_INT64
   57307   }
   57308   input_arg {
   57309     name: "sp_values"
   57310     type_attr: "T"
   57311   }
   57312   input_arg {
   57313     name: "sp_shape"
   57314     type: DT_INT64
   57315   }
   57316   input_arg {
   57317     name: "dense"
   57318     type_attr: "T"
   57319   }
   57320   output_arg {
   57321     name: "output"
   57322     type_attr: "T"
   57323   }
   57324   attr {
   57325     name: "T"
   57326     type: "type"
   57327     allowed_values {
   57328       list {
   57329         type: DT_FLOAT
   57330         type: DT_DOUBLE
   57331         type: DT_INT64
   57332         type: DT_INT32
   57333         type: DT_UINT8
   57334         type: DT_UINT16
   57335         type: DT_INT16
   57336         type: DT_INT8
   57337         type: DT_COMPLEX64
   57338         type: DT_COMPLEX128
   57339         type: DT_QINT8
   57340         type: DT_QUINT8
   57341         type: DT_QINT32
   57342         type: DT_HALF
   57343         type: DT_UINT32
   57344         type: DT_UINT64
   57345       }
   57346     }
   57347   }
   57348 }
   57349 op {
   57350   name: "SparseDenseCwiseMul"
   57351   input_arg {
   57352     name: "sp_indices"
   57353     type: DT_INT64
   57354   }
   57355   input_arg {
   57356     name: "sp_values"
   57357     type_attr: "T"
   57358   }
   57359   input_arg {
   57360     name: "sp_shape"
   57361     type: DT_INT64
   57362   }
   57363   input_arg {
   57364     name: "dense"
   57365     type_attr: "T"
   57366   }
   57367   output_arg {
   57368     name: "output"
   57369     type_attr: "T"
   57370   }
   57371   attr {
   57372     name: "T"
   57373     type: "type"
   57374     allowed_values {
   57375       list {
   57376         type: DT_FLOAT
   57377         type: DT_DOUBLE
   57378         type: DT_INT64
   57379         type: DT_INT32
   57380         type: DT_UINT8
   57381         type: DT_UINT16
   57382         type: DT_INT16
   57383         type: DT_INT8
   57384         type: DT_COMPLEX64
   57385         type: DT_COMPLEX128
   57386         type: DT_QINT8
   57387         type: DT_QUINT8
   57388         type: DT_QINT32
   57389         type: DT_HALF
   57390         type: DT_UINT32
   57391         type: DT_UINT64
   57392         type: DT_BFLOAT16
   57393       }
   57394     }
   57395   }
   57396 }
   57397 op {
   57398   name: "SparseDenseCwiseMul"
   57399   input_arg {
   57400     name: "sp_indices"
   57401     type: DT_INT64
   57402   }
   57403   input_arg {
   57404     name: "sp_values"
   57405     type_attr: "T"
   57406   }
   57407   input_arg {
   57408     name: "sp_shape"
   57409     type: DT_INT64
   57410   }
   57411   input_arg {
   57412     name: "dense"
   57413     type_attr: "T"
   57414   }
   57415   output_arg {
   57416     name: "output"
   57417     type_attr: "T"
   57418   }
   57419   attr {
   57420     name: "T"
   57421     type: "type"
   57422     allowed_values {
   57423       list {
   57424         type: DT_FLOAT
   57425         type: DT_DOUBLE
   57426         type: DT_INT32
   57427         type: DT_UINT8
   57428         type: DT_INT16
   57429         type: DT_INT8
   57430         type: DT_COMPLEX64
   57431         type: DT_INT64
   57432         type: DT_QINT8
   57433         type: DT_QUINT8
   57434         type: DT_QINT32
   57435         type: DT_BFLOAT16
   57436         type: DT_UINT16
   57437         type: DT_COMPLEX128
   57438         type: DT_HALF
   57439         type: DT_UINT32
   57440         type: DT_UINT64
   57441       }
   57442     }
   57443   }
   57444 }
   57445 op {
   57446   name: "SparseFillEmptyRows"
   57447   input_arg {
   57448     name: "indices"
   57449     type: DT_INT64
   57450   }
   57451   input_arg {
   57452     name: "values"
   57453     type_attr: "T"
   57454   }
   57455   input_arg {
   57456     name: "dense_shape"
   57457     type: DT_INT64
   57458   }
   57459   input_arg {
   57460     name: "default_value"
   57461     type_attr: "T"
   57462   }
   57463   output_arg {
   57464     name: "output_indices"
   57465     type: DT_INT64
   57466   }
   57467   output_arg {
   57468     name: "output_values"
   57469     type_attr: "T"
   57470   }
   57471   output_arg {
   57472     name: "empty_row_indicator"
   57473     type: DT_BOOL
   57474   }
   57475   output_arg {
   57476     name: "reverse_index_map"
   57477     type: DT_INT64
   57478   }
   57479   attr {
   57480     name: "T"
   57481     type: "type"
   57482   }
   57483 }
   57484 op {
   57485   name: "SparseFillEmptyRowsGrad"
   57486   input_arg {
   57487     name: "reverse_index_map"
   57488     type: DT_INT64
   57489   }
   57490   input_arg {
   57491     name: "grad_values"
   57492     type_attr: "T"
   57493   }
   57494   output_arg {
   57495     name: "d_values"
   57496     type_attr: "T"
   57497   }
   57498   output_arg {
   57499     name: "d_default_value"
   57500     type_attr: "T"
   57501   }
   57502   attr {
   57503     name: "T"
   57504     type: "type"
   57505   }
   57506 }
   57507 op {
   57508   name: "SparseMatMul"
   57509   input_arg {
   57510     name: "a"
   57511     type_attr: "Ta"
   57512   }
   57513   input_arg {
   57514     name: "b"
   57515     type_attr: "Tb"
   57516   }
   57517   output_arg {
   57518     name: "product"
   57519     type: DT_FLOAT
   57520   }
   57521   attr {
   57522     name: "transpose_a"
   57523     type: "bool"
   57524     default_value {
   57525       b: false
   57526     }
   57527   }
   57528   attr {
   57529     name: "transpose_b"
   57530     type: "bool"
   57531     default_value {
   57532       b: false
   57533     }
   57534   }
   57535   attr {
   57536     name: "a_is_sparse"
   57537     type: "bool"
   57538     default_value {
   57539       b: false
   57540     }
   57541   }
   57542   attr {
   57543     name: "b_is_sparse"
   57544     type: "bool"
   57545     default_value {
   57546       b: false
   57547     }
   57548   }
   57549   attr {
   57550     name: "Ta"
   57551     type: "type"
   57552     default_value {
   57553       type: DT_FLOAT
   57554     }
   57555     allowed_values {
   57556       list {
   57557         type: DT_FLOAT
   57558         type: DT_BFLOAT16
   57559       }
   57560     }
   57561   }
   57562   attr {
   57563     name: "Tb"
   57564     type: "type"
   57565     default_value {
   57566       type: DT_FLOAT
   57567     }
   57568     allowed_values {
   57569       list {
   57570         type: DT_FLOAT
   57571         type: DT_BFLOAT16
   57572       }
   57573     }
   57574   }
   57575 }
   57576 op {
   57577   name: "SparseReduceMax"
   57578   input_arg {
   57579     name: "input_indices"
   57580     type: DT_INT64
   57581   }
   57582   input_arg {
   57583     name: "input_values"
   57584     type_attr: "T"
   57585   }
   57586   input_arg {
   57587     name: "input_shape"
   57588     type: DT_INT64
   57589   }
   57590   input_arg {
   57591     name: "reduction_axes"
   57592     type: DT_INT32
   57593   }
   57594   output_arg {
   57595     name: "output"
   57596     type_attr: "T"
   57597   }
   57598   attr {
   57599     name: "keep_dims"
   57600     type: "bool"
   57601     default_value {
   57602       b: false
   57603     }
   57604   }
   57605   attr {
   57606     name: "T"
   57607     type: "type"
   57608     allowed_values {
   57609       list {
   57610         type: DT_FLOAT
   57611         type: DT_DOUBLE
   57612         type: DT_INT32
   57613         type: DT_INT64
   57614         type: DT_UINT8
   57615         type: DT_INT16
   57616         type: DT_INT8
   57617         type: DT_UINT16
   57618         type: DT_HALF
   57619       }
   57620     }
   57621   }
   57622 }
   57623 op {
   57624   name: "SparseReduceMax"
   57625   input_arg {
   57626     name: "input_indices"
   57627     type: DT_INT64
   57628   }
   57629   input_arg {
   57630     name: "input_values"
   57631     type_attr: "T"
   57632   }
   57633   input_arg {
   57634     name: "input_shape"
   57635     type: DT_INT64
   57636   }
   57637   input_arg {
   57638     name: "reduction_axes"
   57639     type: DT_INT32
   57640   }
   57641   output_arg {
   57642     name: "output"
   57643     type_attr: "T"
   57644   }
   57645   attr {
   57646     name: "keep_dims"
   57647     type: "bool"
   57648     default_value {
   57649       b: false
   57650     }
   57651   }
   57652   attr {
   57653     name: "T"
   57654     type: "type"
   57655     allowed_values {
   57656       list {
   57657         type: DT_FLOAT
   57658         type: DT_DOUBLE
   57659         type: DT_INT32
   57660         type: DT_INT64
   57661         type: DT_UINT8
   57662         type: DT_INT16
   57663         type: DT_INT8
   57664         type: DT_UINT16
   57665         type: DT_HALF
   57666         type: DT_UINT32
   57667         type: DT_UINT64
   57668       }
   57669     }
   57670   }
   57671 }
   57672 op {
   57673   name: "SparseReduceMax"
   57674   input_arg {
   57675     name: "input_indices"
   57676     type: DT_INT64
   57677   }
   57678   input_arg {
   57679     name: "input_values"
   57680     type_attr: "T"
   57681   }
   57682   input_arg {
   57683     name: "input_shape"
   57684     type: DT_INT64
   57685   }
   57686   input_arg {
   57687     name: "reduction_axes"
   57688     type: DT_INT32
   57689   }
   57690   output_arg {
   57691     name: "output"
   57692     type_attr: "T"
   57693   }
   57694   attr {
   57695     name: "keep_dims"
   57696     type: "bool"
   57697     default_value {
   57698       b: false
   57699     }
   57700   }
   57701   attr {
   57702     name: "T"
   57703     type: "type"
   57704     allowed_values {
   57705       list {
   57706         type: DT_FLOAT
   57707         type: DT_DOUBLE
   57708         type: DT_INT32
   57709         type: DT_INT64
   57710         type: DT_UINT8
   57711         type: DT_INT16
   57712         type: DT_INT8
   57713         type: DT_UINT16
   57714         type: DT_HALF
   57715         type: DT_UINT32
   57716         type: DT_UINT64
   57717         type: DT_BFLOAT16
   57718       }
   57719     }
   57720   }
   57721 }
   57722 op {
   57723   name: "SparseReduceMax"
   57724   input_arg {
   57725     name: "input_indices"
   57726     type: DT_INT64
   57727   }
   57728   input_arg {
   57729     name: "input_values"
   57730     type_attr: "T"
   57731   }
   57732   input_arg {
   57733     name: "input_shape"
   57734     type: DT_INT64
   57735   }
   57736   input_arg {
   57737     name: "reduction_axes"
   57738     type: DT_INT32
   57739   }
   57740   output_arg {
   57741     name: "output"
   57742     type_attr: "T"
   57743   }
   57744   attr {
   57745     name: "keep_dims"
   57746     type: "bool"
   57747     default_value {
   57748       b: false
   57749     }
   57750   }
   57751   attr {
   57752     name: "T"
   57753     type: "type"
   57754     allowed_values {
   57755       list {
   57756         type: DT_FLOAT
   57757         type: DT_DOUBLE
   57758         type: DT_INT32
   57759         type: DT_UINT8
   57760         type: DT_INT16
   57761         type: DT_INT8
   57762         type: DT_INT64
   57763         type: DT_BFLOAT16
   57764         type: DT_UINT16
   57765         type: DT_HALF
   57766         type: DT_UINT32
   57767         type: DT_UINT64
   57768       }
   57769     }
   57770   }
   57771 }
   57772 op {
   57773   name: "SparseReduceMaxSparse"
   57774   input_arg {
   57775     name: "input_indices"
   57776     type: DT_INT64
   57777   }
   57778   input_arg {
   57779     name: "input_values"
   57780     type_attr: "T"
   57781   }
   57782   input_arg {
   57783     name: "input_shape"
   57784     type: DT_INT64
   57785   }
   57786   input_arg {
   57787     name: "reduction_axes"
   57788     type: DT_INT32
   57789   }
   57790   output_arg {
   57791     name: "output_indices"
   57792     type: DT_INT64
   57793   }
   57794   output_arg {
   57795     name: "output_values"
   57796     type_attr: "T"
   57797   }
   57798   output_arg {
   57799     name: "output_shape"
   57800     type: DT_INT64
   57801   }
   57802   attr {
   57803     name: "keep_dims"
   57804     type: "bool"
   57805     default_value {
   57806       b: false
   57807     }
   57808   }
   57809   attr {
   57810     name: "T"
   57811     type: "type"
   57812     allowed_values {
   57813       list {
   57814         type: DT_FLOAT
   57815         type: DT_DOUBLE
   57816         type: DT_INT32
   57817         type: DT_INT64
   57818         type: DT_UINT8
   57819         type: DT_INT16
   57820         type: DT_INT8
   57821         type: DT_UINT16
   57822         type: DT_HALF
   57823       }
   57824     }
   57825   }
   57826 }
   57827 op {
   57828   name: "SparseReduceMaxSparse"
   57829   input_arg {
   57830     name: "input_indices"
   57831     type: DT_INT64
   57832   }
   57833   input_arg {
   57834     name: "input_values"
   57835     type_attr: "T"
   57836   }
   57837   input_arg {
   57838     name: "input_shape"
   57839     type: DT_INT64
   57840   }
   57841   input_arg {
   57842     name: "reduction_axes"
   57843     type: DT_INT32
   57844   }
   57845   output_arg {
   57846     name: "output_indices"
   57847     type: DT_INT64
   57848   }
   57849   output_arg {
   57850     name: "output_values"
   57851     type_attr: "T"
   57852   }
   57853   output_arg {
   57854     name: "output_shape"
   57855     type: DT_INT64
   57856   }
   57857   attr {
   57858     name: "keep_dims"
   57859     type: "bool"
   57860     default_value {
   57861       b: false
   57862     }
   57863   }
   57864   attr {
   57865     name: "T"
   57866     type: "type"
   57867     allowed_values {
   57868       list {
   57869         type: DT_FLOAT
   57870         type: DT_DOUBLE
   57871         type: DT_INT32
   57872         type: DT_INT64
   57873         type: DT_UINT8
   57874         type: DT_INT16
   57875         type: DT_INT8
   57876         type: DT_UINT16
   57877         type: DT_HALF
   57878         type: DT_UINT32
   57879         type: DT_UINT64
   57880       }
   57881     }
   57882   }
   57883 }
   57884 op {
   57885   name: "SparseReduceMaxSparse"
   57886   input_arg {
   57887     name: "input_indices"
   57888     type: DT_INT64
   57889   }
   57890   input_arg {
   57891     name: "input_values"
   57892     type_attr: "T"
   57893   }
   57894   input_arg {
   57895     name: "input_shape"
   57896     type: DT_INT64
   57897   }
   57898   input_arg {
   57899     name: "reduction_axes"
   57900     type: DT_INT32
   57901   }
   57902   output_arg {
   57903     name: "output_indices"
   57904     type: DT_INT64
   57905   }
   57906   output_arg {
   57907     name: "output_values"
   57908     type_attr: "T"
   57909   }
   57910   output_arg {
   57911     name: "output_shape"
   57912     type: DT_INT64
   57913   }
   57914   attr {
   57915     name: "keep_dims"
   57916     type: "bool"
   57917     default_value {
   57918       b: false
   57919     }
   57920   }
   57921   attr {
   57922     name: "T"
   57923     type: "type"
   57924     allowed_values {
   57925       list {
   57926         type: DT_FLOAT
   57927         type: DT_DOUBLE
   57928         type: DT_INT32
   57929         type: DT_INT64
   57930         type: DT_UINT8
   57931         type: DT_INT16
   57932         type: DT_INT8
   57933         type: DT_UINT16
   57934         type: DT_HALF
   57935         type: DT_UINT32
   57936         type: DT_UINT64
   57937         type: DT_BFLOAT16
   57938       }
   57939     }
   57940   }
   57941 }
   57942 op {
   57943   name: "SparseReduceMaxSparse"
   57944   input_arg {
   57945     name: "input_indices"
   57946     type: DT_INT64
   57947   }
   57948   input_arg {
   57949     name: "input_values"
   57950     type_attr: "T"
   57951   }
   57952   input_arg {
   57953     name: "input_shape"
   57954     type: DT_INT64
   57955   }
   57956   input_arg {
   57957     name: "reduction_axes"
   57958     type: DT_INT32
   57959   }
   57960   output_arg {
   57961     name: "output_indices"
   57962     type: DT_INT64
   57963   }
   57964   output_arg {
   57965     name: "output_values"
   57966     type_attr: "T"
   57967   }
   57968   output_arg {
   57969     name: "output_shape"
   57970     type: DT_INT64
   57971   }
   57972   attr {
   57973     name: "keep_dims"
   57974     type: "bool"
   57975     default_value {
   57976       b: false
   57977     }
   57978   }
   57979   attr {
   57980     name: "T"
   57981     type: "type"
   57982     allowed_values {
   57983       list {
   57984         type: DT_FLOAT
   57985         type: DT_DOUBLE
   57986         type: DT_INT32
   57987         type: DT_UINT8
   57988         type: DT_INT16
   57989         type: DT_INT8
   57990         type: DT_INT64
   57991         type: DT_BFLOAT16
   57992         type: DT_UINT16
   57993         type: DT_HALF
   57994         type: DT_UINT32
   57995         type: DT_UINT64
   57996       }
   57997     }
   57998   }
   57999 }
   58000 op {
   58001   name: "SparseReduceSum"
   58002   input_arg {
   58003     name: "input_indices"
   58004     type: DT_INT64
   58005   }
   58006   input_arg {
   58007     name: "input_values"
   58008     type_attr: "T"
   58009   }
   58010   input_arg {
   58011     name: "input_shape"
   58012     type: DT_INT64
   58013   }
   58014   input_arg {
   58015     name: "reduction_axes"
   58016     type: DT_INT32
   58017   }
   58018   output_arg {
   58019     name: "output"
   58020     type_attr: "T"
   58021   }
   58022   attr {
   58023     name: "keep_dims"
   58024     type: "bool"
   58025     default_value {
   58026       b: false
   58027     }
   58028   }
   58029   attr {
   58030     name: "T"
   58031     type: "type"
   58032     allowed_values {
   58033       list {
   58034         type: DT_FLOAT
   58035         type: DT_DOUBLE
   58036         type: DT_INT64
   58037         type: DT_INT32
   58038         type: DT_UINT8
   58039         type: DT_UINT16
   58040         type: DT_INT16
   58041         type: DT_INT8
   58042         type: DT_COMPLEX64
   58043         type: DT_COMPLEX128
   58044         type: DT_QINT8
   58045         type: DT_QUINT8
   58046         type: DT_QINT32
   58047         type: DT_HALF
   58048       }
   58049     }
   58050   }
   58051 }
   58052 op {
   58053   name: "SparseReduceSum"
   58054   input_arg {
   58055     name: "input_indices"
   58056     type: DT_INT64
   58057   }
   58058   input_arg {
   58059     name: "input_values"
   58060     type_attr: "T"
   58061   }
   58062   input_arg {
   58063     name: "input_shape"
   58064     type: DT_INT64
   58065   }
   58066   input_arg {
   58067     name: "reduction_axes"
   58068     type: DT_INT32
   58069   }
   58070   output_arg {
   58071     name: "output"
   58072     type_attr: "T"
   58073   }
   58074   attr {
   58075     name: "keep_dims"
   58076     type: "bool"
   58077     default_value {
   58078       b: false
   58079     }
   58080   }
   58081   attr {
   58082     name: "T"
   58083     type: "type"
   58084     allowed_values {
   58085       list {
   58086         type: DT_FLOAT
   58087         type: DT_DOUBLE
   58088         type: DT_INT64
   58089         type: DT_INT32
   58090         type: DT_UINT8
   58091         type: DT_UINT16
   58092         type: DT_INT16
   58093         type: DT_INT8
   58094         type: DT_COMPLEX64
   58095         type: DT_COMPLEX128
   58096         type: DT_QINT8
   58097         type: DT_QUINT8
   58098         type: DT_QINT32
   58099         type: DT_HALF
   58100         type: DT_UINT32
   58101         type: DT_UINT64
   58102       }
   58103     }
   58104   }
   58105 }
   58106 op {
   58107   name: "SparseReduceSum"
   58108   input_arg {
   58109     name: "input_indices"
   58110     type: DT_INT64
   58111   }
   58112   input_arg {
   58113     name: "input_values"
   58114     type_attr: "T"
   58115   }
   58116   input_arg {
   58117     name: "input_shape"
   58118     type: DT_INT64
   58119   }
   58120   input_arg {
   58121     name: "reduction_axes"
   58122     type: DT_INT32
   58123   }
   58124   output_arg {
   58125     name: "output"
   58126     type_attr: "T"
   58127   }
   58128   attr {
   58129     name: "keep_dims"
   58130     type: "bool"
   58131     default_value {
   58132       b: false
   58133     }
   58134   }
   58135   attr {
   58136     name: "T"
   58137     type: "type"
   58138     allowed_values {
   58139       list {
   58140         type: DT_FLOAT
   58141         type: DT_DOUBLE
   58142         type: DT_INT64
   58143         type: DT_INT32
   58144         type: DT_UINT8
   58145         type: DT_UINT16
   58146         type: DT_INT16
   58147         type: DT_INT8
   58148         type: DT_COMPLEX64
   58149         type: DT_COMPLEX128
   58150         type: DT_QINT8
   58151         type: DT_QUINT8
   58152         type: DT_QINT32
   58153         type: DT_HALF
   58154         type: DT_UINT32
   58155         type: DT_UINT64
   58156         type: DT_BFLOAT16
   58157       }
   58158     }
   58159   }
   58160 }
   58161 op {
   58162   name: "SparseReduceSum"
   58163   input_arg {
   58164     name: "input_indices"
   58165     type: DT_INT64
   58166   }
   58167   input_arg {
   58168     name: "input_values"
   58169     type_attr: "T"
   58170   }
   58171   input_arg {
   58172     name: "input_shape"
   58173     type: DT_INT64
   58174   }
   58175   input_arg {
   58176     name: "reduction_axes"
   58177     type: DT_INT32
   58178   }
   58179   output_arg {
   58180     name: "output"
   58181     type_attr: "T"
   58182   }
   58183   attr {
   58184     name: "keep_dims"
   58185     type: "bool"
   58186     default_value {
   58187       b: false
   58188     }
   58189   }
   58190   attr {
   58191     name: "T"
   58192     type: "type"
   58193     allowed_values {
   58194       list {
   58195         type: DT_FLOAT
   58196         type: DT_DOUBLE
   58197         type: DT_INT32
   58198         type: DT_UINT8
   58199         type: DT_INT16
   58200         type: DT_INT8
   58201         type: DT_COMPLEX64
   58202         type: DT_INT64
   58203         type: DT_QINT8
   58204         type: DT_QUINT8
   58205         type: DT_QINT32
   58206         type: DT_BFLOAT16
   58207         type: DT_UINT16
   58208         type: DT_COMPLEX128
   58209         type: DT_HALF
   58210         type: DT_UINT32
   58211         type: DT_UINT64
   58212       }
   58213     }
   58214   }
   58215 }
   58216 op {
   58217   name: "SparseReduceSumSparse"
   58218   input_arg {
   58219     name: "input_indices"
   58220     type: DT_INT64
   58221   }
   58222   input_arg {
   58223     name: "input_values"
   58224     type_attr: "T"
   58225   }
   58226   input_arg {
   58227     name: "input_shape"
   58228     type: DT_INT64
   58229   }
   58230   input_arg {
   58231     name: "reduction_axes"
   58232     type: DT_INT32
   58233   }
   58234   output_arg {
   58235     name: "output_indices"
   58236     type: DT_INT64
   58237   }
   58238   output_arg {
   58239     name: "output_values"
   58240     type_attr: "T"
   58241   }
   58242   output_arg {
   58243     name: "output_shape"
   58244     type: DT_INT64
   58245   }
   58246   attr {
   58247     name: "keep_dims"
   58248     type: "bool"
   58249     default_value {
   58250       b: false
   58251     }
   58252   }
   58253   attr {
   58254     name: "T"
   58255     type: "type"
   58256     allowed_values {
   58257       list {
   58258         type: DT_FLOAT
   58259         type: DT_DOUBLE
   58260         type: DT_INT64
   58261         type: DT_INT32
   58262         type: DT_UINT8
   58263         type: DT_UINT16
   58264         type: DT_INT16
   58265         type: DT_INT8
   58266         type: DT_COMPLEX64
   58267         type: DT_COMPLEX128
   58268         type: DT_QINT8
   58269         type: DT_QUINT8
   58270         type: DT_QINT32
   58271         type: DT_HALF
   58272       }
   58273     }
   58274   }
   58275 }
   58276 op {
   58277   name: "SparseReduceSumSparse"
   58278   input_arg {
   58279     name: "input_indices"
   58280     type: DT_INT64
   58281   }
   58282   input_arg {
   58283     name: "input_values"
   58284     type_attr: "T"
   58285   }
   58286   input_arg {
   58287     name: "input_shape"
   58288     type: DT_INT64
   58289   }
   58290   input_arg {
   58291     name: "reduction_axes"
   58292     type: DT_INT32
   58293   }
   58294   output_arg {
   58295     name: "output_indices"
   58296     type: DT_INT64
   58297   }
   58298   output_arg {
   58299     name: "output_values"
   58300     type_attr: "T"
   58301   }
   58302   output_arg {
   58303     name: "output_shape"
   58304     type: DT_INT64
   58305   }
   58306   attr {
   58307     name: "keep_dims"
   58308     type: "bool"
   58309     default_value {
   58310       b: false
   58311     }
   58312   }
   58313   attr {
   58314     name: "T"
   58315     type: "type"
   58316     allowed_values {
   58317       list {
   58318         type: DT_FLOAT
   58319         type: DT_DOUBLE
   58320         type: DT_INT64
   58321         type: DT_INT32
   58322         type: DT_UINT8
   58323         type: DT_UINT16
   58324         type: DT_INT16
   58325         type: DT_INT8
   58326         type: DT_COMPLEX64
   58327         type: DT_COMPLEX128
   58328         type: DT_QINT8
   58329         type: DT_QUINT8
   58330         type: DT_QINT32
   58331         type: DT_HALF
   58332         type: DT_UINT32
   58333         type: DT_UINT64
   58334       }
   58335     }
   58336   }
   58337 }
   58338 op {
   58339   name: "SparseReduceSumSparse"
   58340   input_arg {
   58341     name: "input_indices"
   58342     type: DT_INT64
   58343   }
   58344   input_arg {
   58345     name: "input_values"
   58346     type_attr: "T"
   58347   }
   58348   input_arg {
   58349     name: "input_shape"
   58350     type: DT_INT64
   58351   }
   58352   input_arg {
   58353     name: "reduction_axes"
   58354     type: DT_INT32
   58355   }
   58356   output_arg {
   58357     name: "output_indices"
   58358     type: DT_INT64
   58359   }
   58360   output_arg {
   58361     name: "output_values"
   58362     type_attr: "T"
   58363   }
   58364   output_arg {
   58365     name: "output_shape"
   58366     type: DT_INT64
   58367   }
   58368   attr {
   58369     name: "keep_dims"
   58370     type: "bool"
   58371     default_value {
   58372       b: false
   58373     }
   58374   }
   58375   attr {
   58376     name: "T"
   58377     type: "type"
   58378     allowed_values {
   58379       list {
   58380         type: DT_FLOAT
   58381         type: DT_DOUBLE
   58382         type: DT_INT64
   58383         type: DT_INT32
   58384         type: DT_UINT8
   58385         type: DT_UINT16
   58386         type: DT_INT16
   58387         type: DT_INT8
   58388         type: DT_COMPLEX64
   58389         type: DT_COMPLEX128
   58390         type: DT_QINT8
   58391         type: DT_QUINT8
   58392         type: DT_QINT32
   58393         type: DT_HALF
   58394         type: DT_UINT32
   58395         type: DT_UINT64
   58396         type: DT_BFLOAT16
   58397       }
   58398     }
   58399   }
   58400 }
   58401 op {
   58402   name: "SparseReduceSumSparse"
   58403   input_arg {
   58404     name: "input_indices"
   58405     type: DT_INT64
   58406   }
   58407   input_arg {
   58408     name: "input_values"
   58409     type_attr: "T"
   58410   }
   58411   input_arg {
   58412     name: "input_shape"
   58413     type: DT_INT64
   58414   }
   58415   input_arg {
   58416     name: "reduction_axes"
   58417     type: DT_INT32
   58418   }
   58419   output_arg {
   58420     name: "output_indices"
   58421     type: DT_INT64
   58422   }
   58423   output_arg {
   58424     name: "output_values"
   58425     type_attr: "T"
   58426   }
   58427   output_arg {
   58428     name: "output_shape"
   58429     type: DT_INT64
   58430   }
   58431   attr {
   58432     name: "keep_dims"
   58433     type: "bool"
   58434     default_value {
   58435       b: false
   58436     }
   58437   }
   58438   attr {
   58439     name: "T"
   58440     type: "type"
   58441     allowed_values {
   58442       list {
   58443         type: DT_FLOAT
   58444         type: DT_DOUBLE
   58445         type: DT_INT32
   58446         type: DT_UINT8
   58447         type: DT_INT16
   58448         type: DT_INT8
   58449         type: DT_COMPLEX64
   58450         type: DT_INT64
   58451         type: DT_QINT8
   58452         type: DT_QUINT8
   58453         type: DT_QINT32
   58454         type: DT_BFLOAT16
   58455         type: DT_UINT16
   58456         type: DT_COMPLEX128
   58457         type: DT_HALF
   58458         type: DT_UINT32
   58459         type: DT_UINT64
   58460       }
   58461     }
   58462   }
   58463 }
   58464 op {
   58465   name: "SparseReorder"
   58466   input_arg {
   58467     name: "input_indices"
   58468     type: DT_INT64
   58469   }
   58470   input_arg {
   58471     name: "input_values"
   58472     type_attr: "T"
   58473   }
   58474   input_arg {
   58475     name: "input_shape"
   58476     type: DT_INT64
   58477   }
   58478   output_arg {
   58479     name: "output_indices"
   58480     type: DT_INT64
   58481   }
   58482   output_arg {
   58483     name: "output_values"
   58484     type_attr: "T"
   58485   }
   58486   attr {
   58487     name: "T"
   58488     type: "type"
   58489   }
   58490 }
   58491 op {
   58492   name: "SparseReshape"
   58493   input_arg {
   58494     name: "input_indices"
   58495     type: DT_INT64
   58496   }
   58497   input_arg {
   58498     name: "input_shape"
   58499     type: DT_INT64
   58500   }
   58501   input_arg {
   58502     name: "new_shape"
   58503     type: DT_INT64
   58504   }
   58505   output_arg {
   58506     name: "output_indices"
   58507     type: DT_INT64
   58508   }
   58509   output_arg {
   58510     name: "output_shape"
   58511     type: DT_INT64
   58512   }
   58513 }
   58514 op {
   58515   name: "SparseSegmentMean"
   58516   input_arg {
   58517     name: "data"
   58518     type_attr: "T"
   58519   }
   58520   input_arg {
   58521     name: "indices"
   58522     type_attr: "Tidx"
   58523   }
   58524   input_arg {
   58525     name: "segment_ids"
   58526     type: DT_INT32
   58527   }
   58528   output_arg {
   58529     name: "output"
   58530     type_attr: "T"
   58531   }
   58532   attr {
   58533     name: "T"
   58534     type: "type"
   58535     allowed_values {
   58536       list {
   58537         type: DT_FLOAT
   58538         type: DT_DOUBLE
   58539       }
   58540     }
   58541   }
   58542   attr {
   58543     name: "Tidx"
   58544     type: "type"
   58545     default_value {
   58546       type: DT_INT32
   58547     }
   58548     allowed_values {
   58549       list {
   58550         type: DT_INT32
   58551         type: DT_INT64
   58552       }
   58553     }
   58554   }
   58555 }
   58556 op {
   58557   name: "SparseSegmentMeanGrad"
   58558   input_arg {
   58559     name: "grad"
   58560     type_attr: "T"
   58561   }
   58562   input_arg {
   58563     name: "indices"
   58564     type_attr: "Tidx"
   58565   }
   58566   input_arg {
   58567     name: "segment_ids"
   58568     type: DT_INT32
   58569   }
   58570   input_arg {
   58571     name: "output_dim0"
   58572     type: DT_INT32
   58573   }
   58574   output_arg {
   58575     name: "output"
   58576     type_attr: "T"
   58577   }
   58578   attr {
   58579     name: "T"
   58580     type: "type"
   58581     allowed_values {
   58582       list {
   58583         type: DT_FLOAT
   58584         type: DT_DOUBLE
   58585       }
   58586     }
   58587   }
   58588   attr {
   58589     name: "Tidx"
   58590     type: "type"
   58591     default_value {
   58592       type: DT_INT32
   58593     }
   58594     allowed_values {
   58595       list {
   58596         type: DT_INT32
   58597         type: DT_INT64
   58598       }
   58599     }
   58600   }
   58601 }
   58602 op {
   58603   name: "SparseSegmentMeanWithNumSegments"
   58604   input_arg {
   58605     name: "data"
   58606     type_attr: "T"
   58607   }
   58608   input_arg {
   58609     name: "indices"
   58610     type_attr: "Tidx"
   58611   }
   58612   input_arg {
   58613     name: "segment_ids"
   58614     type: DT_INT32
   58615   }
   58616   input_arg {
   58617     name: "num_segments"
   58618     type_attr: "Tnumsegments"
   58619   }
   58620   output_arg {
   58621     name: "output"
   58622     type_attr: "T"
   58623   }
   58624   attr {
   58625     name: "T"
   58626     type: "type"
   58627     allowed_values {
   58628       list {
   58629         type: DT_FLOAT
   58630         type: DT_DOUBLE
   58631       }
   58632     }
   58633   }
   58634   attr {
   58635     name: "Tidx"
   58636     type: "type"
   58637     default_value {
   58638       type: DT_INT32
   58639     }
   58640     allowed_values {
   58641       list {
   58642         type: DT_INT32
   58643         type: DT_INT64
   58644       }
   58645     }
   58646   }
   58647   attr {
   58648     name: "Tnumsegments"
   58649     type: "type"
   58650     default_value {
   58651       type: DT_INT32
   58652     }
   58653     allowed_values {
   58654       list {
   58655         type: DT_INT32
   58656         type: DT_INT64
   58657       }
   58658     }
   58659   }
   58660 }
   58661 op {
   58662   name: "SparseSegmentSqrtN"
   58663   input_arg {
   58664     name: "data"
   58665     type_attr: "T"
   58666   }
   58667   input_arg {
   58668     name: "indices"
   58669     type_attr: "Tidx"
   58670   }
   58671   input_arg {
   58672     name: "segment_ids"
   58673     type: DT_INT32
   58674   }
   58675   output_arg {
   58676     name: "output"
   58677     type_attr: "T"
   58678   }
   58679   attr {
   58680     name: "T"
   58681     type: "type"
   58682     allowed_values {
   58683       list {
   58684         type: DT_FLOAT
   58685         type: DT_DOUBLE
   58686       }
   58687     }
   58688   }
   58689   attr {
   58690     name: "Tidx"
   58691     type: "type"
   58692     default_value {
   58693       type: DT_INT32
   58694     }
   58695     allowed_values {
   58696       list {
   58697         type: DT_INT32
   58698         type: DT_INT64
   58699       }
   58700     }
   58701   }
   58702 }
   58703 op {
   58704   name: "SparseSegmentSqrtNGrad"
   58705   input_arg {
   58706     name: "grad"
   58707     type_attr: "T"
   58708   }
   58709   input_arg {
   58710     name: "indices"
   58711     type_attr: "Tidx"
   58712   }
   58713   input_arg {
   58714     name: "segment_ids"
   58715     type: DT_INT32
   58716   }
   58717   input_arg {
   58718     name: "output_dim0"
   58719     type: DT_INT32
   58720   }
   58721   output_arg {
   58722     name: "output"
   58723     type_attr: "T"
   58724   }
   58725   attr {
   58726     name: "T"
   58727     type: "type"
   58728     allowed_values {
   58729       list {
   58730         type: DT_FLOAT
   58731         type: DT_DOUBLE
   58732       }
   58733     }
   58734   }
   58735   attr {
   58736     name: "Tidx"
   58737     type: "type"
   58738     default_value {
   58739       type: DT_INT32
   58740     }
   58741     allowed_values {
   58742       list {
   58743         type: DT_INT32
   58744         type: DT_INT64
   58745       }
   58746     }
   58747   }
   58748 }
   58749 op {
   58750   name: "SparseSegmentSqrtNWithNumSegments"
   58751   input_arg {
   58752     name: "data"
   58753     type_attr: "T"
   58754   }
   58755   input_arg {
   58756     name: "indices"
   58757     type_attr: "Tidx"
   58758   }
   58759   input_arg {
   58760     name: "segment_ids"
   58761     type: DT_INT32
   58762   }
   58763   input_arg {
   58764     name: "num_segments"
   58765     type_attr: "Tnumsegments"
   58766   }
   58767   output_arg {
   58768     name: "output"
   58769     type_attr: "T"
   58770   }
   58771   attr {
   58772     name: "T"
   58773     type: "type"
   58774     allowed_values {
   58775       list {
   58776         type: DT_FLOAT
   58777         type: DT_DOUBLE
   58778       }
   58779     }
   58780   }
   58781   attr {
   58782     name: "Tidx"
   58783     type: "type"
   58784     default_value {
   58785       type: DT_INT32
   58786     }
   58787     allowed_values {
   58788       list {
   58789         type: DT_INT32
   58790         type: DT_INT64
   58791       }
   58792     }
   58793   }
   58794   attr {
   58795     name: "Tnumsegments"
   58796     type: "type"
   58797     default_value {
   58798       type: DT_INT32
   58799     }
   58800     allowed_values {
   58801       list {
   58802         type: DT_INT32
   58803         type: DT_INT64
   58804       }
   58805     }
   58806   }
   58807 }
   58808 op {
   58809   name: "SparseSegmentSum"
   58810   input_arg {
   58811     name: "data"
   58812     type_attr: "T"
   58813   }
   58814   input_arg {
   58815     name: "indices"
   58816     type_attr: "Tidx"
   58817   }
   58818   input_arg {
   58819     name: "segment_ids"
   58820     type: DT_INT32
   58821   }
   58822   output_arg {
   58823     name: "output"
   58824     type_attr: "T"
   58825   }
   58826   attr {
   58827     name: "T"
   58828     type: "type"
   58829     allowed_values {
   58830       list {
   58831         type: DT_FLOAT
   58832         type: DT_DOUBLE
   58833         type: DT_INT32
   58834         type: DT_INT64
   58835         type: DT_UINT8
   58836         type: DT_INT16
   58837         type: DT_INT8
   58838         type: DT_UINT16
   58839         type: DT_HALF
   58840       }
   58841     }
   58842   }
   58843   attr {
   58844     name: "Tidx"
   58845     type: "type"
   58846     default_value {
   58847       type: DT_INT32
   58848     }
   58849     allowed_values {
   58850       list {
   58851         type: DT_INT32
   58852         type: DT_INT64
   58853       }
   58854     }
   58855   }
   58856 }
   58857 op {
   58858   name: "SparseSegmentSum"
   58859   input_arg {
   58860     name: "data"
   58861     type_attr: "T"
   58862   }
   58863   input_arg {
   58864     name: "indices"
   58865     type_attr: "Tidx"
   58866   }
   58867   input_arg {
   58868     name: "segment_ids"
   58869     type: DT_INT32
   58870   }
   58871   output_arg {
   58872     name: "output"
   58873     type_attr: "T"
   58874   }
   58875   attr {
   58876     name: "T"
   58877     type: "type"
   58878     allowed_values {
   58879       list {
   58880         type: DT_FLOAT
   58881         type: DT_DOUBLE
   58882         type: DT_INT32
   58883         type: DT_INT64
   58884         type: DT_UINT8
   58885         type: DT_INT16
   58886         type: DT_INT8
   58887         type: DT_UINT16
   58888         type: DT_HALF
   58889         type: DT_UINT32
   58890         type: DT_UINT64
   58891       }
   58892     }
   58893   }
   58894   attr {
   58895     name: "Tidx"
   58896     type: "type"
   58897     default_value {
   58898       type: DT_INT32
   58899     }
   58900     allowed_values {
   58901       list {
   58902         type: DT_INT32
   58903         type: DT_INT64
   58904       }
   58905     }
   58906   }
   58907 }
   58908 op {
   58909   name: "SparseSegmentSum"
   58910   input_arg {
   58911     name: "data"
   58912     type_attr: "T"
   58913   }
   58914   input_arg {
   58915     name: "indices"
   58916     type_attr: "Tidx"
   58917   }
   58918   input_arg {
   58919     name: "segment_ids"
   58920     type: DT_INT32
   58921   }
   58922   output_arg {
   58923     name: "output"
   58924     type_attr: "T"
   58925   }
   58926   attr {
   58927     name: "T"
   58928     type: "type"
   58929     allowed_values {
   58930       list {
   58931         type: DT_FLOAT
   58932         type: DT_DOUBLE
   58933         type: DT_INT32
   58934         type: DT_INT64
   58935         type: DT_UINT8
   58936         type: DT_INT16
   58937         type: DT_INT8
   58938         type: DT_UINT16
   58939         type: DT_HALF
   58940         type: DT_UINT32
   58941         type: DT_UINT64
   58942         type: DT_BFLOAT16
   58943       }
   58944     }
   58945   }
   58946   attr {
   58947     name: "Tidx"
   58948     type: "type"
   58949     default_value {
   58950       type: DT_INT32
   58951     }
   58952     allowed_values {
   58953       list {
   58954         type: DT_INT32
   58955         type: DT_INT64
   58956       }
   58957     }
   58958   }
   58959 }
   58960 op {
   58961   name: "SparseSegmentSum"
   58962   input_arg {
   58963     name: "data"
   58964     type_attr: "T"
   58965   }
   58966   input_arg {
   58967     name: "indices"
   58968     type_attr: "Tidx"
   58969   }
   58970   input_arg {
   58971     name: "segment_ids"
   58972     type: DT_INT32
   58973   }
   58974   output_arg {
   58975     name: "output"
   58976     type_attr: "T"
   58977   }
   58978   attr {
   58979     name: "T"
   58980     type: "type"
   58981     allowed_values {
   58982       list {
   58983         type: DT_FLOAT
   58984         type: DT_DOUBLE
   58985         type: DT_INT32
   58986         type: DT_UINT8
   58987         type: DT_INT16
   58988         type: DT_INT8
   58989         type: DT_INT64
   58990         type: DT_BFLOAT16
   58991         type: DT_UINT16
   58992         type: DT_HALF
   58993         type: DT_UINT32
   58994         type: DT_UINT64
   58995       }
   58996     }
   58997   }
   58998   attr {
   58999     name: "Tidx"
   59000     type: "type"
   59001     default_value {
   59002       type: DT_INT32
   59003     }
   59004     allowed_values {
   59005       list {
   59006         type: DT_INT32
   59007         type: DT_INT64
   59008       }
   59009     }
   59010   }
   59011 }
   59012 op {
   59013   name: "SparseSegmentSumWithNumSegments"
   59014   input_arg {
   59015     name: "data"
   59016     type_attr: "T"
   59017   }
   59018   input_arg {
   59019     name: "indices"
   59020     type_attr: "Tidx"
   59021   }
   59022   input_arg {
   59023     name: "segment_ids"
   59024     type: DT_INT32
   59025   }
   59026   input_arg {
   59027     name: "num_segments"
   59028     type_attr: "Tnumsegments"
   59029   }
   59030   output_arg {
   59031     name: "output"
   59032     type_attr: "T"
   59033   }
   59034   attr {
   59035     name: "T"
   59036     type: "type"
   59037     allowed_values {
   59038       list {
   59039         type: DT_FLOAT
   59040         type: DT_DOUBLE
   59041         type: DT_INT32
   59042         type: DT_INT64
   59043         type: DT_UINT8
   59044         type: DT_INT16
   59045         type: DT_INT8
   59046         type: DT_UINT16
   59047         type: DT_HALF
   59048         type: DT_UINT32
   59049         type: DT_UINT64
   59050         type: DT_BFLOAT16
   59051       }
   59052     }
   59053   }
   59054   attr {
   59055     name: "Tidx"
   59056     type: "type"
   59057     default_value {
   59058       type: DT_INT32
   59059     }
   59060     allowed_values {
   59061       list {
   59062         type: DT_INT32
   59063         type: DT_INT64
   59064       }
   59065     }
   59066   }
   59067   attr {
   59068     name: "Tnumsegments"
   59069     type: "type"
   59070     default_value {
   59071       type: DT_INT32
   59072     }
   59073     allowed_values {
   59074       list {
   59075         type: DT_INT32
   59076         type: DT_INT64
   59077       }
   59078     }
   59079   }
   59080 }
   59081 op {
   59082   name: "SparseSegmentSumWithNumSegments"
   59083   input_arg {
   59084     name: "data"
   59085     type_attr: "T"
   59086   }
   59087   input_arg {
   59088     name: "indices"
   59089     type_attr: "Tidx"
   59090   }
   59091   input_arg {
   59092     name: "segment_ids"
   59093     type: DT_INT32
   59094   }
   59095   input_arg {
   59096     name: "num_segments"
   59097     type_attr: "Tnumsegments"
   59098   }
   59099   output_arg {
   59100     name: "output"
   59101     type_attr: "T"
   59102   }
   59103   attr {
   59104     name: "T"
   59105     type: "type"
   59106     allowed_values {
   59107       list {
   59108         type: DT_FLOAT
   59109         type: DT_DOUBLE
   59110         type: DT_INT32
   59111         type: DT_UINT8
   59112         type: DT_INT16
   59113         type: DT_INT8
   59114         type: DT_INT64
   59115         type: DT_BFLOAT16
   59116         type: DT_UINT16
   59117         type: DT_HALF
   59118         type: DT_UINT32
   59119         type: DT_UINT64
   59120       }
   59121     }
   59122   }
   59123   attr {
   59124     name: "Tidx"
   59125     type: "type"
   59126     default_value {
   59127       type: DT_INT32
   59128     }
   59129     allowed_values {
   59130       list {
   59131         type: DT_INT32
   59132         type: DT_INT64
   59133       }
   59134     }
   59135   }
   59136   attr {
   59137     name: "Tnumsegments"
   59138     type: "type"
   59139     default_value {
   59140       type: DT_INT32
   59141     }
   59142     allowed_values {
   59143       list {
   59144         type: DT_INT32
   59145         type: DT_INT64
   59146       }
   59147     }
   59148   }
   59149 }
   59150 op {
   59151   name: "SparseSlice"
   59152   input_arg {
   59153     name: "indices"
   59154     type: DT_INT64
   59155   }
   59156   input_arg {
   59157     name: "values"
   59158     type_attr: "T"
   59159   }
   59160   input_arg {
   59161     name: "shape"
   59162     type: DT_INT64
   59163   }
   59164   input_arg {
   59165     name: "start"
   59166     type: DT_INT64
   59167   }
   59168   input_arg {
   59169     name: "size"
   59170     type: DT_INT64
   59171   }
   59172   output_arg {
   59173     name: "output_indices"
   59174     type: DT_INT64
   59175   }
   59176   output_arg {
   59177     name: "output_values"
   59178     type_attr: "T"
   59179   }
   59180   output_arg {
   59181     name: "output_shape"
   59182     type: DT_INT64
   59183   }
   59184   attr {
   59185     name: "T"
   59186     type: "type"
   59187   }
   59188 }
   59189 op {
   59190   name: "SparseSoftmax"
   59191   input_arg {
   59192     name: "sp_indices"
   59193     type: DT_INT64
   59194   }
   59195   input_arg {
   59196     name: "sp_values"
   59197     type_attr: "T"
   59198   }
   59199   input_arg {
   59200     name: "sp_shape"
   59201     type: DT_INT64
   59202   }
   59203   output_arg {
   59204     name: "output"
   59205     type_attr: "T"
   59206   }
   59207   attr {
   59208     name: "T"
   59209     type: "type"
   59210     allowed_values {
   59211       list {
   59212         type: DT_FLOAT
   59213         type: DT_DOUBLE
   59214       }
   59215     }
   59216   }
   59217 }
   59218 op {
   59219   name: "SparseSoftmaxCrossEntropyWithLogits"
   59220   input_arg {
   59221     name: "features"
   59222     type_attr: "T"
   59223   }
   59224   input_arg {
   59225     name: "labels"
   59226     type_attr: "Tlabels"
   59227   }
   59228   output_arg {
   59229     name: "loss"
   59230     type_attr: "T"
   59231   }
   59232   output_arg {
   59233     name: "backprop"
   59234     type_attr: "T"
   59235   }
   59236   attr {
   59237     name: "T"
   59238     type: "type"
   59239     allowed_values {
   59240       list {
   59241         type: DT_HALF
   59242         type: DT_FLOAT
   59243         type: DT_DOUBLE
   59244       }
   59245     }
   59246   }
   59247   attr {
   59248     name: "Tlabels"
   59249     type: "type"
   59250     default_value {
   59251       type: DT_INT64
   59252     }
   59253     allowed_values {
   59254       list {
   59255         type: DT_INT32
   59256         type: DT_INT64
   59257       }
   59258     }
   59259   }
   59260 }
   59261 op {
   59262   name: "SparseSoftmaxCrossEntropyWithLogits"
   59263   input_arg {
   59264     name: "features"
   59265     type_attr: "T"
   59266   }
   59267   input_arg {
   59268     name: "labels"
   59269     type_attr: "Tlabels"
   59270   }
   59271   output_arg {
   59272     name: "loss"
   59273     type_attr: "T"
   59274   }
   59275   output_arg {
   59276     name: "backprop"
   59277     type_attr: "T"
   59278   }
   59279   attr {
   59280     name: "T"
   59281     type: "type"
   59282     allowed_values {
   59283       list {
   59284         type: DT_HALF
   59285         type: DT_BFLOAT16
   59286         type: DT_FLOAT
   59287         type: DT_DOUBLE
   59288       }
   59289     }
   59290   }
   59291   attr {
   59292     name: "Tlabels"
   59293     type: "type"
   59294     default_value {
   59295       type: DT_INT64
   59296     }
   59297     allowed_values {
   59298       list {
   59299         type: DT_INT32
   59300         type: DT_INT64
   59301       }
   59302     }
   59303   }
   59304 }
   59305 op {
   59306   name: "SparseSparseMaximum"
   59307   input_arg {
   59308     name: "a_indices"
   59309     type: DT_INT64
   59310   }
   59311   input_arg {
   59312     name: "a_values"
   59313     type_attr: "T"
   59314   }
   59315   input_arg {
   59316     name: "a_shape"
   59317     type: DT_INT64
   59318   }
   59319   input_arg {
   59320     name: "b_indices"
   59321     type: DT_INT64
   59322   }
   59323   input_arg {
   59324     name: "b_values"
   59325     type_attr: "T"
   59326   }
   59327   input_arg {
   59328     name: "b_shape"
   59329     type: DT_INT64
   59330   }
   59331   output_arg {
   59332     name: "output_indices"
   59333     type: DT_INT64
   59334   }
   59335   output_arg {
   59336     name: "output_values"
   59337     type_attr: "T"
   59338   }
   59339   attr {
   59340     name: "T"
   59341     type: "type"
   59342     allowed_values {
   59343       list {
   59344         type: DT_FLOAT
   59345         type: DT_DOUBLE
   59346         type: DT_INT32
   59347         type: DT_INT64
   59348         type: DT_UINT8
   59349         type: DT_INT16
   59350         type: DT_INT8
   59351         type: DT_UINT16
   59352         type: DT_HALF
   59353       }
   59354     }
   59355   }
   59356 }
   59357 op {
   59358   name: "SparseSparseMaximum"
   59359   input_arg {
   59360     name: "a_indices"
   59361     type: DT_INT64
   59362   }
   59363   input_arg {
   59364     name: "a_values"
   59365     type_attr: "T"
   59366   }
   59367   input_arg {
   59368     name: "a_shape"
   59369     type: DT_INT64
   59370   }
   59371   input_arg {
   59372     name: "b_indices"
   59373     type: DT_INT64
   59374   }
   59375   input_arg {
   59376     name: "b_values"
   59377     type_attr: "T"
   59378   }
   59379   input_arg {
   59380     name: "b_shape"
   59381     type: DT_INT64
   59382   }
   59383   output_arg {
   59384     name: "output_indices"
   59385     type: DT_INT64
   59386   }
   59387   output_arg {
   59388     name: "output_values"
   59389     type_attr: "T"
   59390   }
   59391   attr {
   59392     name: "T"
   59393     type: "type"
   59394     allowed_values {
   59395       list {
   59396         type: DT_FLOAT
   59397         type: DT_DOUBLE
   59398         type: DT_INT32
   59399         type: DT_INT64
   59400         type: DT_UINT8
   59401         type: DT_INT16
   59402         type: DT_INT8
   59403         type: DT_UINT16
   59404         type: DT_HALF
   59405         type: DT_UINT32
   59406         type: DT_UINT64
   59407       }
   59408     }
   59409   }
   59410 }
   59411 op {
   59412   name: "SparseSparseMaximum"
   59413   input_arg {
   59414     name: "a_indices"
   59415     type: DT_INT64
   59416   }
   59417   input_arg {
   59418     name: "a_values"
   59419     type_attr: "T"
   59420   }
   59421   input_arg {
   59422     name: "a_shape"
   59423     type: DT_INT64
   59424   }
   59425   input_arg {
   59426     name: "b_indices"
   59427     type: DT_INT64
   59428   }
   59429   input_arg {
   59430     name: "b_values"
   59431     type_attr: "T"
   59432   }
   59433   input_arg {
   59434     name: "b_shape"
   59435     type: DT_INT64
   59436   }
   59437   output_arg {
   59438     name: "output_indices"
   59439     type: DT_INT64
   59440   }
   59441   output_arg {
   59442     name: "output_values"
   59443     type_attr: "T"
   59444   }
   59445   attr {
   59446     name: "T"
   59447     type: "type"
   59448     allowed_values {
   59449       list {
   59450         type: DT_FLOAT
   59451         type: DT_DOUBLE
   59452         type: DT_INT32
   59453         type: DT_INT64
   59454         type: DT_UINT8
   59455         type: DT_INT16
   59456         type: DT_INT8
   59457         type: DT_UINT16
   59458         type: DT_HALF
   59459         type: DT_UINT32
   59460         type: DT_UINT64
   59461         type: DT_BFLOAT16
   59462       }
   59463     }
   59464   }
   59465 }
   59466 op {
   59467   name: "SparseSparseMaximum"
   59468   input_arg {
   59469     name: "a_indices"
   59470     type: DT_INT64
   59471   }
   59472   input_arg {
   59473     name: "a_values"
   59474     type_attr: "T"
   59475   }
   59476   input_arg {
   59477     name: "a_shape"
   59478     type: DT_INT64
   59479   }
   59480   input_arg {
   59481     name: "b_indices"
   59482     type: DT_INT64
   59483   }
   59484   input_arg {
   59485     name: "b_values"
   59486     type_attr: "T"
   59487   }
   59488   input_arg {
   59489     name: "b_shape"
   59490     type: DT_INT64
   59491   }
   59492   output_arg {
   59493     name: "output_indices"
   59494     type: DT_INT64
   59495   }
   59496   output_arg {
   59497     name: "output_values"
   59498     type_attr: "T"
   59499   }
   59500   attr {
   59501     name: "T"
   59502     type: "type"
   59503     allowed_values {
   59504       list {
   59505         type: DT_FLOAT
   59506         type: DT_DOUBLE
   59507         type: DT_INT32
   59508         type: DT_UINT8
   59509         type: DT_INT16
   59510         type: DT_INT8
   59511         type: DT_INT64
   59512         type: DT_BFLOAT16
   59513         type: DT_UINT16
   59514         type: DT_HALF
   59515         type: DT_UINT32
   59516         type: DT_UINT64
   59517       }
   59518     }
   59519   }
   59520 }
   59521 op {
   59522   name: "SparseSparseMinimum"
   59523   input_arg {
   59524     name: "a_indices"
   59525     type: DT_INT64
   59526   }
   59527   input_arg {
   59528     name: "a_values"
   59529     type_attr: "T"
   59530   }
   59531   input_arg {
   59532     name: "a_shape"
   59533     type: DT_INT64
   59534   }
   59535   input_arg {
   59536     name: "b_indices"
   59537     type: DT_INT64
   59538   }
   59539   input_arg {
   59540     name: "b_values"
   59541     type_attr: "T"
   59542   }
   59543   input_arg {
   59544     name: "b_shape"
   59545     type: DT_INT64
   59546   }
   59547   output_arg {
   59548     name: "output_indices"
   59549     type: DT_INT64
   59550   }
   59551   output_arg {
   59552     name: "output_values"
   59553     type_attr: "T"
   59554   }
   59555   attr {
   59556     name: "T"
   59557     type: "type"
   59558     allowed_values {
   59559       list {
   59560         type: DT_FLOAT
   59561         type: DT_DOUBLE
   59562         type: DT_INT64
   59563         type: DT_INT32
   59564         type: DT_UINT8
   59565         type: DT_UINT16
   59566         type: DT_INT16
   59567         type: DT_INT8
   59568         type: DT_COMPLEX64
   59569         type: DT_COMPLEX128
   59570         type: DT_QINT8
   59571         type: DT_QUINT8
   59572         type: DT_QINT32
   59573         type: DT_HALF
   59574       }
   59575     }
   59576   }
   59577 }
   59578 op {
   59579   name: "SparseSparseMinimum"
   59580   input_arg {
   59581     name: "a_indices"
   59582     type: DT_INT64
   59583   }
   59584   input_arg {
   59585     name: "a_values"
   59586     type_attr: "T"
   59587   }
   59588   input_arg {
   59589     name: "a_shape"
   59590     type: DT_INT64
   59591   }
   59592   input_arg {
   59593     name: "b_indices"
   59594     type: DT_INT64
   59595   }
   59596   input_arg {
   59597     name: "b_values"
   59598     type_attr: "T"
   59599   }
   59600   input_arg {
   59601     name: "b_shape"
   59602     type: DT_INT64
   59603   }
   59604   output_arg {
   59605     name: "output_indices"
   59606     type: DT_INT64
   59607   }
   59608   output_arg {
   59609     name: "output_values"
   59610     type_attr: "T"
   59611   }
   59612   attr {
   59613     name: "T"
   59614     type: "type"
   59615     allowed_values {
   59616       list {
   59617         type: DT_FLOAT
   59618         type: DT_DOUBLE
   59619         type: DT_INT64
   59620         type: DT_INT32
   59621         type: DT_UINT8
   59622         type: DT_UINT16
   59623         type: DT_INT16
   59624         type: DT_INT8
   59625         type: DT_COMPLEX64
   59626         type: DT_COMPLEX128
   59627         type: DT_QINT8
   59628         type: DT_QUINT8
   59629         type: DT_QINT32
   59630         type: DT_HALF
   59631         type: DT_UINT32
   59632         type: DT_UINT64
   59633       }
   59634     }
   59635   }
   59636 }
   59637 op {
   59638   name: "SparseSparseMinimum"
   59639   input_arg {
   59640     name: "a_indices"
   59641     type: DT_INT64
   59642   }
   59643   input_arg {
   59644     name: "a_values"
   59645     type_attr: "T"
   59646   }
   59647   input_arg {
   59648     name: "a_shape"
   59649     type: DT_INT64
   59650   }
   59651   input_arg {
   59652     name: "b_indices"
   59653     type: DT_INT64
   59654   }
   59655   input_arg {
   59656     name: "b_values"
   59657     type_attr: "T"
   59658   }
   59659   input_arg {
   59660     name: "b_shape"
   59661     type: DT_INT64
   59662   }
   59663   output_arg {
   59664     name: "output_indices"
   59665     type: DT_INT64
   59666   }
   59667   output_arg {
   59668     name: "output_values"
   59669     type_attr: "T"
   59670   }
   59671   attr {
   59672     name: "T"
   59673     type: "type"
   59674     allowed_values {
   59675       list {
   59676         type: DT_FLOAT
   59677         type: DT_DOUBLE
   59678         type: DT_INT64
   59679         type: DT_INT32
   59680         type: DT_UINT8
   59681         type: DT_UINT16
   59682         type: DT_INT16
   59683         type: DT_INT8
   59684         type: DT_COMPLEX64
   59685         type: DT_COMPLEX128
   59686         type: DT_QINT8
   59687         type: DT_QUINT8
   59688         type: DT_QINT32
   59689         type: DT_HALF
   59690         type: DT_UINT32
   59691         type: DT_UINT64
   59692         type: DT_BFLOAT16
   59693       }
   59694     }
   59695   }
   59696 }
   59697 op {
   59698   name: "SparseSparseMinimum"
   59699   input_arg {
   59700     name: "a_indices"
   59701     type: DT_INT64
   59702   }
   59703   input_arg {
   59704     name: "a_values"
   59705     type_attr: "T"
   59706   }
   59707   input_arg {
   59708     name: "a_shape"
   59709     type: DT_INT64
   59710   }
   59711   input_arg {
   59712     name: "b_indices"
   59713     type: DT_INT64
   59714   }
   59715   input_arg {
   59716     name: "b_values"
   59717     type_attr: "T"
   59718   }
   59719   input_arg {
   59720     name: "b_shape"
   59721     type: DT_INT64
   59722   }
   59723   output_arg {
   59724     name: "output_indices"
   59725     type: DT_INT64
   59726   }
   59727   output_arg {
   59728     name: "output_values"
   59729     type_attr: "T"
   59730   }
   59731   attr {
   59732     name: "T"
   59733     type: "type"
   59734     allowed_values {
   59735       list {
   59736         type: DT_FLOAT
   59737         type: DT_DOUBLE
   59738         type: DT_INT32
   59739         type: DT_UINT8
   59740         type: DT_INT16
   59741         type: DT_INT8
   59742         type: DT_COMPLEX64
   59743         type: DT_INT64
   59744         type: DT_QINT8
   59745         type: DT_QUINT8
   59746         type: DT_QINT32
   59747         type: DT_BFLOAT16
   59748         type: DT_UINT16
   59749         type: DT_COMPLEX128
   59750         type: DT_HALF
   59751         type: DT_UINT32
   59752         type: DT_UINT64
   59753       }
   59754     }
   59755   }
   59756 }
   59757 op {
   59758   name: "SparseSplit"
   59759   input_arg {
   59760     name: "split_dim"
   59761     type: DT_INT64
   59762   }
   59763   input_arg {
   59764     name: "indices"
   59765     type: DT_INT64
   59766   }
   59767   input_arg {
   59768     name: "values"
   59769     type_attr: "T"
   59770   }
   59771   input_arg {
   59772     name: "shape"
   59773     type: DT_INT64
   59774   }
   59775   output_arg {
   59776     name: "output_indices"
   59777     type: DT_INT64
   59778     number_attr: "num_split"
   59779   }
   59780   output_arg {
   59781     name: "output_values"
   59782     type_attr: "T"
   59783     number_attr: "num_split"
   59784   }
   59785   output_arg {
   59786     name: "output_shape"
   59787     type: DT_INT64
   59788     number_attr: "num_split"
   59789   }
   59790   attr {
   59791     name: "num_split"
   59792     type: "int"
   59793     has_minimum: true
   59794     minimum: 1
   59795   }
   59796   attr {
   59797     name: "T"
   59798     type: "type"
   59799   }
   59800 }
   59801 op {
   59802   name: "SparseTensorDenseAdd"
   59803   input_arg {
   59804     name: "a_indices"
   59805     type_attr: "Tindices"
   59806   }
   59807   input_arg {
   59808     name: "a_values"
   59809     type_attr: "T"
   59810   }
   59811   input_arg {
   59812     name: "a_shape"
   59813     type_attr: "Tindices"
   59814   }
   59815   input_arg {
   59816     name: "b"
   59817     type_attr: "T"
   59818   }
   59819   output_arg {
   59820     name: "output"
   59821     type_attr: "T"
   59822   }
   59823   attr {
   59824     name: "T"
   59825     type: "type"
   59826     allowed_values {
   59827       list {
   59828         type: DT_FLOAT
   59829         type: DT_DOUBLE
   59830         type: DT_INT64
   59831         type: DT_INT32
   59832         type: DT_UINT8
   59833         type: DT_UINT16
   59834         type: DT_INT16
   59835         type: DT_INT8
   59836         type: DT_COMPLEX64
   59837         type: DT_COMPLEX128
   59838         type: DT_QINT8
   59839         type: DT_QUINT8
   59840         type: DT_QINT32
   59841         type: DT_HALF
   59842       }
   59843     }
   59844   }
   59845   attr {
   59846     name: "Tindices"
   59847     type: "type"
   59848     allowed_values {
   59849       list {
   59850         type: DT_INT32
   59851         type: DT_INT64
   59852       }
   59853     }
   59854   }
   59855 }
   59856 op {
   59857   name: "SparseTensorDenseAdd"
   59858   input_arg {
   59859     name: "a_indices"
   59860     type_attr: "Tindices"
   59861   }
   59862   input_arg {
   59863     name: "a_values"
   59864     type_attr: "T"
   59865   }
   59866   input_arg {
   59867     name: "a_shape"
   59868     type_attr: "Tindices"
   59869   }
   59870   input_arg {
   59871     name: "b"
   59872     type_attr: "T"
   59873   }
   59874   output_arg {
   59875     name: "output"
   59876     type_attr: "T"
   59877   }
   59878   attr {
   59879     name: "T"
   59880     type: "type"
   59881     allowed_values {
   59882       list {
   59883         type: DT_FLOAT
   59884         type: DT_DOUBLE
   59885         type: DT_INT64
   59886         type: DT_INT32
   59887         type: DT_UINT8
   59888         type: DT_UINT16
   59889         type: DT_INT16
   59890         type: DT_INT8
   59891         type: DT_COMPLEX64
   59892         type: DT_COMPLEX128
   59893         type: DT_QINT8
   59894         type: DT_QUINT8
   59895         type: DT_QINT32
   59896         type: DT_HALF
   59897         type: DT_UINT32
   59898         type: DT_UINT64
   59899       }
   59900     }
   59901   }
   59902   attr {
   59903     name: "Tindices"
   59904     type: "type"
   59905     allowed_values {
   59906       list {
   59907         type: DT_INT32
   59908         type: DT_INT64
   59909       }
   59910     }
   59911   }
   59912 }
   59913 op {
   59914   name: "SparseTensorDenseAdd"
   59915   input_arg {
   59916     name: "a_indices"
   59917     type_attr: "Tindices"
   59918   }
   59919   input_arg {
   59920     name: "a_values"
   59921     type_attr: "T"
   59922   }
   59923   input_arg {
   59924     name: "a_shape"
   59925     type_attr: "Tindices"
   59926   }
   59927   input_arg {
   59928     name: "b"
   59929     type_attr: "T"
   59930   }
   59931   output_arg {
   59932     name: "output"
   59933     type_attr: "T"
   59934   }
   59935   attr {
   59936     name: "T"
   59937     type: "type"
   59938     allowed_values {
   59939       list {
   59940         type: DT_FLOAT
   59941         type: DT_DOUBLE
   59942         type: DT_INT64
   59943         type: DT_INT32
   59944         type: DT_UINT8
   59945         type: DT_UINT16
   59946         type: DT_INT16
   59947         type: DT_INT8
   59948         type: DT_COMPLEX64
   59949         type: DT_COMPLEX128
   59950         type: DT_QINT8
   59951         type: DT_QUINT8
   59952         type: DT_QINT32
   59953         type: DT_HALF
   59954         type: DT_UINT32
   59955         type: DT_UINT64
   59956         type: DT_BFLOAT16
   59957       }
   59958     }
   59959   }
   59960   attr {
   59961     name: "Tindices"
   59962     type: "type"
   59963     allowed_values {
   59964       list {
   59965         type: DT_INT32
   59966         type: DT_INT64
   59967       }
   59968     }
   59969   }
   59970 }
   59971 op {
   59972   name: "SparseTensorDenseAdd"
   59973   input_arg {
   59974     name: "a_indices"
   59975     type_attr: "Tindices"
   59976   }
   59977   input_arg {
   59978     name: "a_values"
   59979     type_attr: "T"
   59980   }
   59981   input_arg {
   59982     name: "a_shape"
   59983     type_attr: "Tindices"
   59984   }
   59985   input_arg {
   59986     name: "b"
   59987     type_attr: "T"
   59988   }
   59989   output_arg {
   59990     name: "output"
   59991     type_attr: "T"
   59992   }
   59993   attr {
   59994     name: "T"
   59995     type: "type"
   59996     allowed_values {
   59997       list {
   59998         type: DT_FLOAT
   59999         type: DT_DOUBLE
   60000         type: DT_INT32
   60001         type: DT_UINT8
   60002         type: DT_INT16
   60003         type: DT_INT8
   60004         type: DT_COMPLEX64
   60005         type: DT_INT64
   60006         type: DT_QINT8
   60007         type: DT_QUINT8
   60008         type: DT_QINT32
   60009         type: DT_BFLOAT16
   60010         type: DT_UINT16
   60011         type: DT_COMPLEX128
   60012         type: DT_HALF
   60013         type: DT_UINT32
   60014         type: DT_UINT64
   60015       }
   60016     }
   60017   }
   60018   attr {
   60019     name: "Tindices"
   60020     type: "type"
   60021     allowed_values {
   60022       list {
   60023         type: DT_INT32
   60024         type: DT_INT64
   60025       }
   60026     }
   60027   }
   60028 }
   60029 op {
   60030   name: "SparseTensorDenseMatMul"
   60031   input_arg {
   60032     name: "a_indices"
   60033     type: DT_INT64
   60034   }
   60035   input_arg {
   60036     name: "a_values"
   60037     type_attr: "T"
   60038   }
   60039   input_arg {
   60040     name: "a_shape"
   60041     type: DT_INT64
   60042   }
   60043   input_arg {
   60044     name: "b"
   60045     type_attr: "T"
   60046   }
   60047   output_arg {
   60048     name: "product"
   60049     type_attr: "T"
   60050   }
   60051   attr {
   60052     name: "T"
   60053     type: "type"
   60054   }
   60055   attr {
   60056     name: "adjoint_a"
   60057     type: "bool"
   60058     default_value {
   60059       b: false
   60060     }
   60061   }
   60062   attr {
   60063     name: "adjoint_b"
   60064     type: "bool"
   60065     default_value {
   60066       b: false
   60067     }
   60068   }
   60069 }
   60070 op {
   60071   name: "SparseTensorDenseMatMul"
   60072   input_arg {
   60073     name: "a_indices"
   60074     type_attr: "Tindices"
   60075   }
   60076   input_arg {
   60077     name: "a_values"
   60078     type_attr: "T"
   60079   }
   60080   input_arg {
   60081     name: "a_shape"
   60082     type: DT_INT64
   60083   }
   60084   input_arg {
   60085     name: "b"
   60086     type_attr: "T"
   60087   }
   60088   output_arg {
   60089     name: "product"
   60090     type_attr: "T"
   60091   }
   60092   attr {
   60093     name: "T"
   60094     type: "type"
   60095   }
   60096   attr {
   60097     name: "Tindices"
   60098     type: "type"
   60099     default_value {
   60100       type: DT_INT64
   60101     }
   60102     allowed_values {
   60103       list {
   60104         type: DT_INT32
   60105         type: DT_INT64
   60106       }
   60107     }
   60108   }
   60109   attr {
   60110     name: "adjoint_a"
   60111     type: "bool"
   60112     default_value {
   60113       b: false
   60114     }
   60115   }
   60116   attr {
   60117     name: "adjoint_b"
   60118     type: "bool"
   60119     default_value {
   60120       b: false
   60121     }
   60122   }
   60123 }
   60124 op {
   60125   name: "SparseTensorSliceDataset"
   60126   input_arg {
   60127     name: "indices"
   60128     type: DT_INT64
   60129   }
   60130   input_arg {
   60131     name: "values"
   60132     type_attr: "Tvalues"
   60133   }
   60134   input_arg {
   60135     name: "dense_shape"
   60136     type: DT_INT64
   60137   }
   60138   output_arg {
   60139     name: "handle"
   60140     type: DT_VARIANT
   60141   }
   60142   attr {
   60143     name: "Tvalues"
   60144     type: "type"
   60145   }
   60146   is_stateful: true
   60147 }
   60148 op {
   60149   name: "SparseToDense"
   60150   input_arg {
   60151     name: "sparse_indices"
   60152     type_attr: "Tindices"
   60153   }
   60154   input_arg {
   60155     name: "output_shape"
   60156     type_attr: "Tindices"
   60157   }
   60158   input_arg {
   60159     name: "sparse_values"
   60160     type_attr: "T"
   60161   }
   60162   input_arg {
   60163     name: "default_value"
   60164     type_attr: "T"
   60165   }
   60166   output_arg {
   60167     name: "dense"
   60168     type_attr: "T"
   60169   }
   60170   attr {
   60171     name: "validate_indices"
   60172     type: "bool"
   60173     default_value {
   60174       b: true
   60175     }
   60176   }
   60177   attr {
   60178     name: "T"
   60179     type: "type"
   60180   }
   60181   attr {
   60182     name: "Tindices"
   60183     type: "type"
   60184     allowed_values {
   60185       list {
   60186         type: DT_INT32
   60187         type: DT_INT64
   60188       }
   60189     }
   60190   }
   60191 }
   60192 op {
   60193   name: "SparseToSparseSetOperation"
   60194   input_arg {
   60195     name: "set1_indices"
   60196     type: DT_INT64
   60197   }
   60198   input_arg {
   60199     name: "set1_values"
   60200     type_attr: "T"
   60201   }
   60202   input_arg {
   60203     name: "set1_shape"
   60204     type: DT_INT64
   60205   }
   60206   input_arg {
   60207     name: "set2_indices"
   60208     type: DT_INT64
   60209   }
   60210   input_arg {
   60211     name: "set2_values"
   60212     type_attr: "T"
   60213   }
   60214   input_arg {
   60215     name: "set2_shape"
   60216     type: DT_INT64
   60217   }
   60218   output_arg {
   60219     name: "result_indices"
   60220     type: DT_INT64
   60221   }
   60222   output_arg {
   60223     name: "result_values"
   60224     type_attr: "T"
   60225   }
   60226   output_arg {
   60227     name: "result_shape"
   60228     type: DT_INT64
   60229   }
   60230   attr {
   60231     name: "set_operation"
   60232     type: "string"
   60233   }
   60234   attr {
   60235     name: "validate_indices"
   60236     type: "bool"
   60237     default_value {
   60238       b: true
   60239     }
   60240   }
   60241   attr {
   60242     name: "T"
   60243     type: "type"
   60244     allowed_values {
   60245       list {
   60246         type: DT_INT8
   60247         type: DT_INT16
   60248         type: DT_INT32
   60249         type: DT_INT64
   60250         type: DT_UINT8
   60251         type: DT_UINT16
   60252         type: DT_STRING
   60253       }
   60254     }
   60255   }
   60256 }
   60257 op {
   60258   name: "Split"
   60259   input_arg {
   60260     name: "split_dim"
   60261     type: DT_INT32
   60262   }
   60263   input_arg {
   60264     name: "value"
   60265     type_attr: "T"
   60266   }
   60267   output_arg {
   60268     name: "output"
   60269     type_attr: "T"
   60270     number_attr: "num_split"
   60271   }
   60272   attr {
   60273     name: "num_split"
   60274     type: "int"
   60275     has_minimum: true
   60276     minimum: 1
   60277   }
   60278   attr {
   60279     name: "T"
   60280     type: "type"
   60281   }
   60282 }
   60283 op {
   60284   name: "SplitV"
   60285   input_arg {
   60286     name: "value"
   60287     type_attr: "T"
   60288   }
   60289   input_arg {
   60290     name: "size_splits"
   60291     type_attr: "Tlen"
   60292   }
   60293   input_arg {
   60294     name: "split_dim"
   60295     type: DT_INT32
   60296   }
   60297   output_arg {
   60298     name: "output"
   60299     type_attr: "T"
   60300     number_attr: "num_split"
   60301   }
   60302   attr {
   60303     name: "num_split"
   60304     type: "int"
   60305     has_minimum: true
   60306     minimum: 1
   60307   }
   60308   attr {
   60309     name: "T"
   60310     type: "type"
   60311   }
   60312   attr {
   60313     name: "Tlen"
   60314     type: "type"
   60315     default_value {
   60316       type: DT_INT64
   60317     }
   60318     allowed_values {
   60319       list {
   60320         type: DT_INT32
   60321         type: DT_INT64
   60322       }
   60323     }
   60324   }
   60325 }
   60326 op {
   60327   name: "SqlDataset"
   60328   input_arg {
   60329     name: "driver_name"
   60330     type: DT_STRING
   60331   }
   60332   input_arg {
   60333     name: "data_source_name"
   60334     type: DT_STRING
   60335   }
   60336   input_arg {
   60337     name: "query"
   60338     type: DT_STRING
   60339   }
   60340   output_arg {
   60341     name: "handle"
   60342     type: DT_VARIANT
   60343   }
   60344   attr {
   60345     name: "output_types"
   60346     type: "list(type)"
   60347     has_minimum: true
   60348     minimum: 1
   60349   }
   60350   attr {
   60351     name: "output_shapes"
   60352     type: "list(shape)"
   60353     has_minimum: true
   60354     minimum: 1
   60355   }
   60356   is_stateful: true
   60357 }
   60358 op {
   60359   name: "Sqrt"
   60360   input_arg {
   60361     name: "x"
   60362     type_attr: "T"
   60363   }
   60364   output_arg {
   60365     name: "y"
   60366     type_attr: "T"
   60367   }
   60368   attr {
   60369     name: "T"
   60370     type: "type"
   60371     allowed_values {
   60372       list {
   60373         type: DT_HALF
   60374         type: DT_FLOAT
   60375         type: DT_DOUBLE
   60376         type: DT_COMPLEX64
   60377         type: DT_COMPLEX128
   60378       }
   60379     }
   60380   }
   60381 }
   60382 op {
   60383   name: "Sqrt"
   60384   input_arg {
   60385     name: "x"
   60386     type_attr: "T"
   60387   }
   60388   output_arg {
   60389     name: "y"
   60390     type_attr: "T"
   60391   }
   60392   attr {
   60393     name: "T"
   60394     type: "type"
   60395     allowed_values {
   60396       list {
   60397         type: DT_HALF
   60398         type: DT_BFLOAT16
   60399         type: DT_FLOAT
   60400         type: DT_DOUBLE
   60401         type: DT_COMPLEX64
   60402         type: DT_COMPLEX128
   60403       }
   60404     }
   60405   }
   60406 }
   60407 op {
   60408   name: "SqrtGrad"
   60409   input_arg {
   60410     name: "x"
   60411     type_attr: "T"
   60412   }
   60413   input_arg {
   60414     name: "y"
   60415     type_attr: "T"
   60416   }
   60417   output_arg {
   60418     name: "z"
   60419     type_attr: "T"
   60420   }
   60421   attr {
   60422     name: "T"
   60423     type: "type"
   60424     allowed_values {
   60425       list {
   60426         type: DT_HALF
   60427         type: DT_FLOAT
   60428         type: DT_DOUBLE
   60429         type: DT_COMPLEX64
   60430         type: DT_COMPLEX128
   60431       }
   60432     }
   60433   }
   60434 }
   60435 op {
   60436   name: "SqrtGrad"
   60437   input_arg {
   60438     name: "y"
   60439     type_attr: "T"
   60440   }
   60441   input_arg {
   60442     name: "dy"
   60443     type_attr: "T"
   60444   }
   60445   output_arg {
   60446     name: "z"
   60447     type_attr: "T"
   60448   }
   60449   attr {
   60450     name: "T"
   60451     type: "type"
   60452     allowed_values {
   60453       list {
   60454         type: DT_HALF
   60455         type: DT_FLOAT
   60456         type: DT_DOUBLE
   60457         type: DT_COMPLEX64
   60458         type: DT_COMPLEX128
   60459       }
   60460     }
   60461   }
   60462 }
   60463 op {
   60464   name: "SqrtGrad"
   60465   input_arg {
   60466     name: "y"
   60467     type_attr: "T"
   60468   }
   60469   input_arg {
   60470     name: "dy"
   60471     type_attr: "T"
   60472   }
   60473   output_arg {
   60474     name: "z"
   60475     type_attr: "T"
   60476   }
   60477   attr {
   60478     name: "T"
   60479     type: "type"
   60480     allowed_values {
   60481       list {
   60482         type: DT_HALF
   60483         type: DT_BFLOAT16
   60484         type: DT_FLOAT
   60485         type: DT_DOUBLE
   60486         type: DT_COMPLEX64
   60487         type: DT_COMPLEX128
   60488       }
   60489     }
   60490   }
   60491 }
   60492 op {
   60493   name: "Square"
   60494   input_arg {
   60495     name: "x"
   60496     type_attr: "T"
   60497   }
   60498   output_arg {
   60499     name: "y"
   60500     type_attr: "T"
   60501   }
   60502   attr {
   60503     name: "T"
   60504     type: "type"
   60505     allowed_values {
   60506       list {
   60507         type: DT_HALF
   60508         type: DT_FLOAT
   60509         type: DT_DOUBLE
   60510         type: DT_INT32
   60511         type: DT_INT64
   60512         type: DT_COMPLEX64
   60513         type: DT_COMPLEX128
   60514       }
   60515     }
   60516   }
   60517 }
   60518 op {
   60519   name: "Square"
   60520   input_arg {
   60521     name: "x"
   60522     type_attr: "T"
   60523   }
   60524   output_arg {
   60525     name: "y"
   60526     type_attr: "T"
   60527   }
   60528   attr {
   60529     name: "T"
   60530     type: "type"
   60531     allowed_values {
   60532       list {
   60533         type: DT_HALF
   60534         type: DT_BFLOAT16
   60535         type: DT_FLOAT
   60536         type: DT_DOUBLE
   60537         type: DT_INT32
   60538         type: DT_INT64
   60539         type: DT_COMPLEX64
   60540         type: DT_COMPLEX128
   60541       }
   60542     }
   60543   }
   60544 }
   60545 op {
   60546   name: "SquaredDifference"
   60547   input_arg {
   60548     name: "x"
   60549     type_attr: "T"
   60550   }
   60551   input_arg {
   60552     name: "y"
   60553     type_attr: "T"
   60554   }
   60555   output_arg {
   60556     name: "z"
   60557     type_attr: "T"
   60558   }
   60559   attr {
   60560     name: "T"
   60561     type: "type"
   60562     allowed_values {
   60563       list {
   60564         type: DT_HALF
   60565         type: DT_FLOAT
   60566         type: DT_DOUBLE
   60567         type: DT_INT32
   60568         type: DT_INT64
   60569         type: DT_COMPLEX64
   60570         type: DT_COMPLEX128
   60571       }
   60572     }
   60573   }
   60574   is_commutative: true
   60575 }
   60576 op {
   60577   name: "SquaredDifference"
   60578   input_arg {
   60579     name: "x"
   60580     type_attr: "T"
   60581   }
   60582   input_arg {
   60583     name: "y"
   60584     type_attr: "T"
   60585   }
   60586   output_arg {
   60587     name: "z"
   60588     type_attr: "T"
   60589   }
   60590   attr {
   60591     name: "T"
   60592     type: "type"
   60593     allowed_values {
   60594       list {
   60595         type: DT_HALF
   60596         type: DT_BFLOAT16
   60597         type: DT_FLOAT
   60598         type: DT_DOUBLE
   60599         type: DT_INT32
   60600         type: DT_INT64
   60601         type: DT_COMPLEX64
   60602         type: DT_COMPLEX128
   60603       }
   60604     }
   60605   }
   60606   is_commutative: true
   60607 }
   60608 op {
   60609   name: "Squeeze"
   60610   input_arg {
   60611     name: "input"
   60612     type_attr: "T"
   60613   }
   60614   output_arg {
   60615     name: "output"
   60616     type_attr: "T"
   60617   }
   60618   attr {
   60619     name: "T"
   60620     type: "type"
   60621   }
   60622   attr {
   60623     name: "squeeze_dims"
   60624     type: "list(int)"
   60625     default_value {
   60626       list {
   60627       }
   60628     }
   60629     has_minimum: true
   60630   }
   60631 }
   60632 op {
   60633   name: "Stack"
   60634   output_arg {
   60635     name: "handle"
   60636     type: DT_STRING
   60637     is_ref: true
   60638   }
   60639   attr {
   60640     name: "elem_type"
   60641     type: "type"
   60642   }
   60643   attr {
   60644     name: "stack_name"
   60645     type: "string"
   60646     default_value {
   60647       s: ""
   60648     }
   60649   }
   60650   is_stateful: true
   60651 }
   60652 op {
   60653   name: "StackClose"
   60654   input_arg {
   60655     name: "handle"
   60656     type: DT_STRING
   60657     is_ref: true
   60658   }
   60659 }
   60660 op {
   60661   name: "StackCloseV2"
   60662   input_arg {
   60663     name: "handle"
   60664     type: DT_RESOURCE
   60665   }
   60666   is_stateful: true
   60667 }
   60668 op {
   60669   name: "StackPop"
   60670   input_arg {
   60671     name: "handle"
   60672     type: DT_STRING
   60673     is_ref: true
   60674   }
   60675   output_arg {
   60676     name: "elem"
   60677     type_attr: "elem_type"
   60678   }
   60679   attr {
   60680     name: "elem_type"
   60681     type: "type"
   60682   }
   60683 }
   60684 op {
   60685   name: "StackPopV2"
   60686   input_arg {
   60687     name: "handle"
   60688     type: DT_RESOURCE
   60689   }
   60690   output_arg {
   60691     name: "elem"
   60692     type_attr: "elem_type"
   60693   }
   60694   attr {
   60695     name: "elem_type"
   60696     type: "type"
   60697   }
   60698   is_stateful: true
   60699 }
   60700 op {
   60701   name: "StackPush"
   60702   input_arg {
   60703     name: "handle"
   60704     type: DT_STRING
   60705     is_ref: true
   60706   }
   60707   input_arg {
   60708     name: "elem"
   60709     type_attr: "T"
   60710   }
   60711   output_arg {
   60712     name: "output"
   60713     type_attr: "T"
   60714   }
   60715   attr {
   60716     name: "T"
   60717     type: "type"
   60718   }
   60719   attr {
   60720     name: "swap_memory"
   60721     type: "bool"
   60722     default_value {
   60723       b: false
   60724     }
   60725   }
   60726 }
   60727 op {
   60728   name: "StackPushV2"
   60729   input_arg {
   60730     name: "handle"
   60731     type: DT_RESOURCE
   60732   }
   60733   input_arg {
   60734     name: "elem"
   60735     type_attr: "T"
   60736   }
   60737   output_arg {
   60738     name: "output"
   60739     type_attr: "T"
   60740   }
   60741   attr {
   60742     name: "T"
   60743     type: "type"
   60744   }
   60745   attr {
   60746     name: "swap_memory"
   60747     type: "bool"
   60748     default_value {
   60749       b: false
   60750     }
   60751   }
   60752   is_stateful: true
   60753 }
   60754 op {
   60755   name: "StackV2"
   60756   input_arg {
   60757     name: "max_size"
   60758     type: DT_INT32
   60759   }
   60760   output_arg {
   60761     name: "handle"
   60762     type: DT_RESOURCE
   60763   }
   60764   attr {
   60765     name: "elem_type"
   60766     type: "type"
   60767   }
   60768   attr {
   60769     name: "stack_name"
   60770     type: "string"
   60771     default_value {
   60772       s: ""
   60773     }
   60774   }
   60775   is_stateful: true
   60776 }
   60777 op {
   60778   name: "Stage"
   60779   input_arg {
   60780     name: "values"
   60781     type_list_attr: "dtypes"
   60782   }
   60783   attr {
   60784     name: "dtypes"
   60785     type: "list(type)"
   60786     has_minimum: true
   60787     minimum: 1
   60788   }
   60789   attr {
   60790     name: "container"
   60791     type: "string"
   60792     default_value {
   60793       s: ""
   60794     }
   60795   }
   60796   attr {
   60797     name: "shared_name"
   60798     type: "string"
   60799     default_value {
   60800       s: ""
   60801     }
   60802   }
   60803   is_stateful: true
   60804 }
   60805 op {
   60806   name: "Stage"
   60807   input_arg {
   60808     name: "values"
   60809     type_list_attr: "dtypes"
   60810   }
   60811   attr {
   60812     name: "capacity"
   60813     type: "int"
   60814     default_value {
   60815       i: 0
   60816     }
   60817     has_minimum: true
   60818   }
   60819   attr {
   60820     name: "memory_limit"
   60821     type: "int"
   60822     default_value {
   60823       i: 0
   60824     }
   60825     has_minimum: true
   60826   }
   60827   attr {
   60828     name: "dtypes"
   60829     type: "list(type)"
   60830     has_minimum: true
   60831     minimum: 1
   60832   }
   60833   attr {
   60834     name: "container"
   60835     type: "string"
   60836     default_value {
   60837       s: ""
   60838     }
   60839   }
   60840   attr {
   60841     name: "shared_name"
   60842     type: "string"
   60843     default_value {
   60844       s: ""
   60845     }
   60846   }
   60847   is_stateful: true
   60848 }
   60849 op {
   60850   name: "StageClear"
   60851   attr {
   60852     name: "capacity"
   60853     type: "int"
   60854     default_value {
   60855       i: 0
   60856     }
   60857     has_minimum: true
   60858   }
   60859   attr {
   60860     name: "memory_limit"
   60861     type: "int"
   60862     default_value {
   60863       i: 0
   60864     }
   60865     has_minimum: true
   60866   }
   60867   attr {
   60868     name: "dtypes"
   60869     type: "list(type)"
   60870   }
   60871   attr {
   60872     name: "container"
   60873     type: "string"
   60874     default_value {
   60875       s: ""
   60876     }
   60877   }
   60878   attr {
   60879     name: "shared_name"
   60880     type: "string"
   60881     default_value {
   60882       s: ""
   60883     }
   60884   }
   60885   is_stateful: true
   60886 }
   60887 op {
   60888   name: "StagePeek"
   60889   input_arg {
   60890     name: "index"
   60891     type: DT_INT32
   60892   }
   60893   output_arg {
   60894     name: "values"
   60895     type_list_attr: "dtypes"
   60896   }
   60897   attr {
   60898     name: "capacity"
   60899     type: "int"
   60900     default_value {
   60901       i: 0
   60902     }
   60903     has_minimum: true
   60904   }
   60905   attr {
   60906     name: "memory_limit"
   60907     type: "int"
   60908     default_value {
   60909       i: 0
   60910     }
   60911     has_minimum: true
   60912   }
   60913   attr {
   60914     name: "dtypes"
   60915     type: "list(type)"
   60916     has_minimum: true
   60917     minimum: 1
   60918   }
   60919   attr {
   60920     name: "container"
   60921     type: "string"
   60922     default_value {
   60923       s: ""
   60924     }
   60925   }
   60926   attr {
   60927     name: "shared_name"
   60928     type: "string"
   60929     default_value {
   60930       s: ""
   60931     }
   60932   }
   60933   is_stateful: true
   60934 }
   60935 op {
   60936   name: "StageSize"
   60937   output_arg {
   60938     name: "size"
   60939     type: DT_INT32
   60940   }
   60941   attr {
   60942     name: "capacity"
   60943     type: "int"
   60944     default_value {
   60945       i: 0
   60946     }
   60947     has_minimum: true
   60948   }
   60949   attr {
   60950     name: "memory_limit"
   60951     type: "int"
   60952     default_value {
   60953       i: 0
   60954     }
   60955     has_minimum: true
   60956   }
   60957   attr {
   60958     name: "dtypes"
   60959     type: "list(type)"
   60960   }
   60961   attr {
   60962     name: "container"
   60963     type: "string"
   60964     default_value {
   60965       s: ""
   60966     }
   60967   }
   60968   attr {
   60969     name: "shared_name"
   60970     type: "string"
   60971     default_value {
   60972       s: ""
   60973     }
   60974   }
   60975   is_stateful: true
   60976 }
   60977 op {
   60978   name: "StatelessRandomNormal"
   60979   input_arg {
   60980     name: "shape"
   60981     type_attr: "T"
   60982   }
   60983   input_arg {
   60984     name: "seed"
   60985     type: DT_INT64
   60986   }
   60987   output_arg {
   60988     name: "output"
   60989     type_attr: "dtype"
   60990   }
   60991   attr {
   60992     name: "dtype"
   60993     type: "type"
   60994     default_value {
   60995       type: DT_FLOAT
   60996     }
   60997     allowed_values {
   60998       list {
   60999         type: DT_HALF
   61000         type: DT_FLOAT
   61001         type: DT_DOUBLE
   61002       }
   61003     }
   61004   }
   61005   attr {
   61006     name: "T"
   61007     type: "type"
   61008     default_value {
   61009       type: DT_INT32
   61010     }
   61011     allowed_values {
   61012       list {
   61013         type: DT_INT32
   61014         type: DT_INT64
   61015       }
   61016     }
   61017   }
   61018 }
   61019 op {
   61020   name: "StatelessRandomNormal"
   61021   input_arg {
   61022     name: "shape"
   61023     type_attr: "T"
   61024   }
   61025   input_arg {
   61026     name: "seed"
   61027     type_attr: "Tseed"
   61028   }
   61029   output_arg {
   61030     name: "output"
   61031     type_attr: "dtype"
   61032   }
   61033   attr {
   61034     name: "dtype"
   61035     type: "type"
   61036     default_value {
   61037       type: DT_FLOAT
   61038     }
   61039     allowed_values {
   61040       list {
   61041         type: DT_HALF
   61042         type: DT_FLOAT
   61043         type: DT_DOUBLE
   61044       }
   61045     }
   61046   }
   61047   attr {
   61048     name: "T"
   61049     type: "type"
   61050     default_value {
   61051       type: DT_INT32
   61052     }
   61053     allowed_values {
   61054       list {
   61055         type: DT_INT32
   61056         type: DT_INT64
   61057       }
   61058     }
   61059   }
   61060   attr {
   61061     name: "Tseed"
   61062     type: "type"
   61063     default_value {
   61064       type: DT_INT64
   61065     }
   61066     allowed_values {
   61067       list {
   61068         type: DT_INT32
   61069         type: DT_INT64
   61070       }
   61071     }
   61072   }
   61073 }
   61074 op {
   61075   name: "StatelessRandomUniform"
   61076   input_arg {
   61077     name: "shape"
   61078     type_attr: "T"
   61079   }
   61080   input_arg {
   61081     name: "seed"
   61082     type: DT_INT64
   61083   }
   61084   output_arg {
   61085     name: "output"
   61086     type_attr: "dtype"
   61087   }
   61088   attr {
   61089     name: "dtype"
   61090     type: "type"
   61091     default_value {
   61092       type: DT_FLOAT
   61093     }
   61094     allowed_values {
   61095       list {
   61096         type: DT_HALF
   61097         type: DT_FLOAT
   61098         type: DT_DOUBLE
   61099       }
   61100     }
   61101   }
   61102   attr {
   61103     name: "T"
   61104     type: "type"
   61105     default_value {
   61106       type: DT_INT32
   61107     }
   61108     allowed_values {
   61109       list {
   61110         type: DT_INT32
   61111         type: DT_INT64
   61112       }
   61113     }
   61114   }
   61115 }
   61116 op {
   61117   name: "StatelessRandomUniform"
   61118   input_arg {
   61119     name: "shape"
   61120     type_attr: "T"
   61121   }
   61122   input_arg {
   61123     name: "seed"
   61124     type_attr: "Tseed"
   61125   }
   61126   output_arg {
   61127     name: "output"
   61128     type_attr: "dtype"
   61129   }
   61130   attr {
   61131     name: "dtype"
   61132     type: "type"
   61133     default_value {
   61134       type: DT_FLOAT
   61135     }
   61136     allowed_values {
   61137       list {
   61138         type: DT_HALF
   61139         type: DT_FLOAT
   61140         type: DT_DOUBLE
   61141       }
   61142     }
   61143   }
   61144   attr {
   61145     name: "T"
   61146     type: "type"
   61147     default_value {
   61148       type: DT_INT32
   61149     }
   61150     allowed_values {
   61151       list {
   61152         type: DT_INT32
   61153         type: DT_INT64
   61154       }
   61155     }
   61156   }
   61157   attr {
   61158     name: "Tseed"
   61159     type: "type"
   61160     default_value {
   61161       type: DT_INT64
   61162     }
   61163     allowed_values {
   61164       list {
   61165         type: DT_INT32
   61166         type: DT_INT64
   61167       }
   61168     }
   61169   }
   61170 }
   61171 op {
   61172   name: "StatelessTruncatedNormal"
   61173   input_arg {
   61174     name: "shape"
   61175     type_attr: "T"
   61176   }
   61177   input_arg {
   61178     name: "seed"
   61179     type: DT_INT64
   61180   }
   61181   output_arg {
   61182     name: "output"
   61183     type_attr: "dtype"
   61184   }
   61185   attr {
   61186     name: "dtype"
   61187     type: "type"
   61188     default_value {
   61189       type: DT_FLOAT
   61190     }
   61191     allowed_values {
   61192       list {
   61193         type: DT_HALF
   61194         type: DT_FLOAT
   61195         type: DT_DOUBLE
   61196       }
   61197     }
   61198   }
   61199   attr {
   61200     name: "T"
   61201     type: "type"
   61202     default_value {
   61203       type: DT_INT32
   61204     }
   61205     allowed_values {
   61206       list {
   61207         type: DT_INT32
   61208         type: DT_INT64
   61209       }
   61210     }
   61211   }
   61212 }
   61213 op {
   61214   name: "StatelessTruncatedNormal"
   61215   input_arg {
   61216     name: "shape"
   61217     type_attr: "T"
   61218   }
   61219   input_arg {
   61220     name: "seed"
   61221     type_attr: "Tseed"
   61222   }
   61223   output_arg {
   61224     name: "output"
   61225     type_attr: "dtype"
   61226   }
   61227   attr {
   61228     name: "dtype"
   61229     type: "type"
   61230     default_value {
   61231       type: DT_FLOAT
   61232     }
   61233     allowed_values {
   61234       list {
   61235         type: DT_HALF
   61236         type: DT_FLOAT
   61237         type: DT_DOUBLE
   61238       }
   61239     }
   61240   }
   61241   attr {
   61242     name: "T"
   61243     type: "type"
   61244     default_value {
   61245       type: DT_INT32
   61246     }
   61247     allowed_values {
   61248       list {
   61249         type: DT_INT32
   61250         type: DT_INT64
   61251       }
   61252     }
   61253   }
   61254   attr {
   61255     name: "Tseed"
   61256     type: "type"
   61257     default_value {
   61258       type: DT_INT64
   61259     }
   61260     allowed_values {
   61261       list {
   61262         type: DT_INT32
   61263         type: DT_INT64
   61264       }
   61265     }
   61266   }
   61267 }
   61268 op {
   61269   name: "StatsAggregatorHandle"
   61270   output_arg {
   61271     name: "handle"
   61272     type: DT_RESOURCE
   61273   }
   61274   attr {
   61275     name: "container"
   61276     type: "string"
   61277     default_value {
   61278       s: ""
   61279     }
   61280   }
   61281   attr {
   61282     name: "shared_name"
   61283     type: "string"
   61284     default_value {
   61285       s: ""
   61286     }
   61287   }
   61288   is_stateful: true
   61289 }
   61290 op {
   61291   name: "StatsAggregatorSummary"
   61292   input_arg {
   61293     name: "iterator"
   61294     type: DT_RESOURCE
   61295   }
   61296   output_arg {
   61297     name: "summary"
   61298     type: DT_STRING
   61299   }
   61300   is_stateful: true
   61301 }
   61302 op {
   61303   name: "StopGradient"
   61304   input_arg {
   61305     name: "input"
   61306     type_attr: "T"
   61307   }
   61308   output_arg {
   61309     name: "output"
   61310     type_attr: "T"
   61311   }
   61312   attr {
   61313     name: "T"
   61314     type: "type"
   61315   }
   61316 }
   61317 op {
   61318   name: "StridedSlice"
   61319   input_arg {
   61320     name: "input"
   61321     type_attr: "T"
   61322   }
   61323   input_arg {
   61324     name: "begin"
   61325     type_attr: "Index"
   61326   }
   61327   input_arg {
   61328     name: "end"
   61329     type_attr: "Index"
   61330   }
   61331   input_arg {
   61332     name: "strides"
   61333     type_attr: "Index"
   61334   }
   61335   output_arg {
   61336     name: "output"
   61337     type_attr: "T"
   61338   }
   61339   attr {
   61340     name: "T"
   61341     type: "type"
   61342   }
   61343   attr {
   61344     name: "Index"
   61345     type: "type"
   61346     allowed_values {
   61347       list {
   61348         type: DT_INT32
   61349         type: DT_INT64
   61350       }
   61351     }
   61352   }
   61353   attr {
   61354     name: "begin_mask"
   61355     type: "int"
   61356     default_value {
   61357       i: 0
   61358     }
   61359   }
   61360   attr {
   61361     name: "end_mask"
   61362     type: "int"
   61363     default_value {
   61364       i: 0
   61365     }
   61366   }
   61367   attr {
   61368     name: "ellipsis_mask"
   61369     type: "int"
   61370     default_value {
   61371       i: 0
   61372     }
   61373   }
   61374   attr {
   61375     name: "new_axis_mask"
   61376     type: "int"
   61377     default_value {
   61378       i: 0
   61379     }
   61380   }
   61381   attr {
   61382     name: "shrink_axis_mask"
   61383     type: "int"
   61384     default_value {
   61385       i: 0
   61386     }
   61387   }
   61388 }
   61389 op {
   61390   name: "StridedSliceAssign"
   61391   input_arg {
   61392     name: "ref"
   61393     type_attr: "T"
   61394     is_ref: true
   61395   }
   61396   input_arg {
   61397     name: "begin"
   61398     type_attr: "Index"
   61399   }
   61400   input_arg {
   61401     name: "end"
   61402     type_attr: "Index"
   61403   }
   61404   input_arg {
   61405     name: "strides"
   61406     type_attr: "Index"
   61407   }
   61408   input_arg {
   61409     name: "value"
   61410     type_attr: "T"
   61411   }
   61412   output_arg {
   61413     name: "output_ref"
   61414     type_attr: "T"
   61415     is_ref: true
   61416   }
   61417   attr {
   61418     name: "T"
   61419     type: "type"
   61420   }
   61421   attr {
   61422     name: "Index"
   61423     type: "type"
   61424     allowed_values {
   61425       list {
   61426         type: DT_INT32
   61427         type: DT_INT64
   61428       }
   61429     }
   61430   }
   61431   attr {
   61432     name: "begin_mask"
   61433     type: "int"
   61434     default_value {
   61435       i: 0
   61436     }
   61437   }
   61438   attr {
   61439     name: "end_mask"
   61440     type: "int"
   61441     default_value {
   61442       i: 0
   61443     }
   61444   }
   61445   attr {
   61446     name: "ellipsis_mask"
   61447     type: "int"
   61448     default_value {
   61449       i: 0
   61450     }
   61451   }
   61452   attr {
   61453     name: "new_axis_mask"
   61454     type: "int"
   61455     default_value {
   61456       i: 0
   61457     }
   61458   }
   61459   attr {
   61460     name: "shrink_axis_mask"
   61461     type: "int"
   61462     default_value {
   61463       i: 0
   61464     }
   61465   }
   61466 }
   61467 op {
   61468   name: "StridedSliceGrad"
   61469   input_arg {
   61470     name: "shape"
   61471     type_attr: "Index"
   61472   }
   61473   input_arg {
   61474     name: "begin"
   61475     type_attr: "Index"
   61476   }
   61477   input_arg {
   61478     name: "end"
   61479     type_attr: "Index"
   61480   }
   61481   input_arg {
   61482     name: "strides"
   61483     type_attr: "Index"
   61484   }
   61485   input_arg {
   61486     name: "dy"
   61487     type_attr: "T"
   61488   }
   61489   output_arg {
   61490     name: "output"
   61491     type_attr: "T"
   61492   }
   61493   attr {
   61494     name: "T"
   61495     type: "type"
   61496   }
   61497   attr {
   61498     name: "Index"
   61499     type: "type"
   61500     allowed_values {
   61501       list {
   61502         type: DT_INT32
   61503         type: DT_INT64
   61504       }
   61505     }
   61506   }
   61507   attr {
   61508     name: "begin_mask"
   61509     type: "int"
   61510     default_value {
   61511       i: 0
   61512     }
   61513   }
   61514   attr {
   61515     name: "end_mask"
   61516     type: "int"
   61517     default_value {
   61518       i: 0
   61519     }
   61520   }
   61521   attr {
   61522     name: "ellipsis_mask"
   61523     type: "int"
   61524     default_value {
   61525       i: 0
   61526     }
   61527   }
   61528   attr {
   61529     name: "new_axis_mask"
   61530     type: "int"
   61531     default_value {
   61532       i: 0
   61533     }
   61534   }
   61535   attr {
   61536     name: "shrink_axis_mask"
   61537     type: "int"
   61538     default_value {
   61539       i: 0
   61540     }
   61541   }
   61542 }
   61543 op {
   61544   name: "StringJoin"
   61545   input_arg {
   61546     name: "inputs"
   61547     type: DT_STRING
   61548     number_attr: "N"
   61549   }
   61550   output_arg {
   61551     name: "output"
   61552     type: DT_STRING
   61553   }
   61554   attr {
   61555     name: "N"
   61556     type: "int"
   61557     has_minimum: true
   61558     minimum: 1
   61559   }
   61560   attr {
   61561     name: "separator"
   61562     type: "string"
   61563     default_value {
   61564       s: ""
   61565     }
   61566   }
   61567 }
   61568 op {
   61569   name: "StringSplit"
   61570   input_arg {
   61571     name: "input"
   61572     type: DT_STRING
   61573   }
   61574   input_arg {
   61575     name: "delimiter"
   61576     type: DT_STRING
   61577   }
   61578   output_arg {
   61579     name: "indices"
   61580     type: DT_INT64
   61581   }
   61582   output_arg {
   61583     name: "values"
   61584     type: DT_STRING
   61585   }
   61586   output_arg {
   61587     name: "shape"
   61588     type: DT_INT64
   61589   }
   61590 }
   61591 op {
   61592   name: "StringSplit"
   61593   input_arg {
   61594     name: "input"
   61595     type: DT_STRING
   61596   }
   61597   input_arg {
   61598     name: "delimiter"
   61599     type: DT_STRING
   61600   }
   61601   output_arg {
   61602     name: "indices"
   61603     type: DT_INT64
   61604   }
   61605   output_arg {
   61606     name: "values"
   61607     type: DT_STRING
   61608   }
   61609   output_arg {
   61610     name: "shape"
   61611     type: DT_INT64
   61612   }
   61613   attr {
   61614     name: "skip_empty"
   61615     type: "bool"
   61616     default_value {
   61617       b: true
   61618     }
   61619   }
   61620 }
   61621 op {
   61622   name: "StringToHashBucket"
   61623   input_arg {
   61624     name: "string_tensor"
   61625     type: DT_STRING
   61626   }
   61627   output_arg {
   61628     name: "output"
   61629     type: DT_INT64
   61630   }
   61631   attr {
   61632     name: "num_buckets"
   61633     type: "int"
   61634     has_minimum: true
   61635     minimum: 1
   61636   }
   61637 }
   61638 op {
   61639   name: "StringToHashBucketFast"
   61640   input_arg {
   61641     name: "input"
   61642     type: DT_STRING
   61643   }
   61644   output_arg {
   61645     name: "output"
   61646     type: DT_INT64
   61647   }
   61648   attr {
   61649     name: "num_buckets"
   61650     type: "int"
   61651     has_minimum: true
   61652     minimum: 1
   61653   }
   61654 }
   61655 op {
   61656   name: "StringToHashBucketStrong"
   61657   input_arg {
   61658     name: "input"
   61659     type: DT_STRING
   61660   }
   61661   output_arg {
   61662     name: "output"
   61663     type: DT_INT64
   61664   }
   61665   attr {
   61666     name: "num_buckets"
   61667     type: "int"
   61668     has_minimum: true
   61669     minimum: 1
   61670   }
   61671   attr {
   61672     name: "key"
   61673     type: "list(int)"
   61674   }
   61675 }
   61676 op {
   61677   name: "StringToNumber"
   61678   input_arg {
   61679     name: "string_tensor"
   61680     type: DT_STRING
   61681   }
   61682   output_arg {
   61683     name: "output"
   61684     type_attr: "out_type"
   61685   }
   61686   attr {
   61687     name: "out_type"
   61688     type: "type"
   61689     default_value {
   61690       type: DT_FLOAT
   61691     }
   61692     allowed_values {
   61693       list {
   61694         type: DT_FLOAT
   61695         type: DT_INT32
   61696       }
   61697     }
   61698   }
   61699 }
   61700 op {
   61701   name: "StringToNumber"
   61702   input_arg {
   61703     name: "string_tensor"
   61704     type: DT_STRING
   61705   }
   61706   output_arg {
   61707     name: "output"
   61708     type_attr: "out_type"
   61709   }
   61710   attr {
   61711     name: "out_type"
   61712     type: "type"
   61713     default_value {
   61714       type: DT_FLOAT
   61715     }
   61716     allowed_values {
   61717       list {
   61718         type: DT_FLOAT
   61719         type: DT_DOUBLE
   61720         type: DT_INT32
   61721         type: DT_INT64
   61722       }
   61723     }
   61724   }
   61725 }
   61726 op {
   61727   name: "Sub"
   61728   input_arg {
   61729     name: "x"
   61730     type_attr: "T"
   61731   }
   61732   input_arg {
   61733     name: "y"
   61734     type_attr: "T"
   61735   }
   61736   output_arg {
   61737     name: "z"
   61738     type_attr: "T"
   61739   }
   61740   attr {
   61741     name: "T"
   61742     type: "type"
   61743     allowed_values {
   61744       list {
   61745         type: DT_HALF
   61746         type: DT_FLOAT
   61747         type: DT_DOUBLE
   61748         type: DT_INT32
   61749         type: DT_INT64
   61750         type: DT_COMPLEX64
   61751         type: DT_COMPLEX128
   61752       }
   61753     }
   61754   }
   61755 }
   61756 op {
   61757   name: "Sub"
   61758   input_arg {
   61759     name: "x"
   61760     type_attr: "T"
   61761   }
   61762   input_arg {
   61763     name: "y"
   61764     type_attr: "T"
   61765   }
   61766   output_arg {
   61767     name: "z"
   61768     type_attr: "T"
   61769   }
   61770   attr {
   61771     name: "T"
   61772     type: "type"
   61773     allowed_values {
   61774       list {
   61775         type: DT_HALF
   61776         type: DT_FLOAT
   61777         type: DT_DOUBLE
   61778         type: DT_UINT8
   61779         type: DT_INT8
   61780         type: DT_UINT16
   61781         type: DT_INT16
   61782         type: DT_INT32
   61783         type: DT_INT64
   61784         type: DT_COMPLEX64
   61785         type: DT_COMPLEX128
   61786       }
   61787     }
   61788   }
   61789 }
   61790 op {
   61791   name: "Sub"
   61792   input_arg {
   61793     name: "x"
   61794     type_attr: "T"
   61795   }
   61796   input_arg {
   61797     name: "y"
   61798     type_attr: "T"
   61799   }
   61800   output_arg {
   61801     name: "z"
   61802     type_attr: "T"
   61803   }
   61804   attr {
   61805     name: "T"
   61806     type: "type"
   61807     allowed_values {
   61808       list {
   61809         type: DT_HALF
   61810         type: DT_BFLOAT16
   61811         type: DT_FLOAT
   61812         type: DT_DOUBLE
   61813         type: DT_UINT8
   61814         type: DT_INT8
   61815         type: DT_UINT16
   61816         type: DT_INT16
   61817         type: DT_INT32
   61818         type: DT_INT64
   61819         type: DT_COMPLEX64
   61820         type: DT_COMPLEX128
   61821       }
   61822     }
   61823   }
   61824 }
   61825 op {
   61826   name: "Substr"
   61827   input_arg {
   61828     name: "input"
   61829     type: DT_STRING
   61830   }
   61831   input_arg {
   61832     name: "pos"
   61833     type_attr: "T"
   61834   }
   61835   input_arg {
   61836     name: "len"
   61837     type_attr: "T"
   61838   }
   61839   output_arg {
   61840     name: "output"
   61841     type: DT_STRING
   61842   }
   61843   attr {
   61844     name: "T"
   61845     type: "type"
   61846     allowed_values {
   61847       list {
   61848         type: DT_INT32
   61849         type: DT_INT64
   61850       }
   61851     }
   61852   }
   61853 }
   61854 op {
   61855   name: "Sum"
   61856   input_arg {
   61857     name: "input"
   61858     type_attr: "T"
   61859   }
   61860   input_arg {
   61861     name: "reduction_indices"
   61862     type_attr: "Tidx"
   61863   }
   61864   output_arg {
   61865     name: "output"
   61866     type_attr: "T"
   61867   }
   61868   attr {
   61869     name: "keep_dims"
   61870     type: "bool"
   61871     default_value {
   61872       b: false
   61873     }
   61874   }
   61875   attr {
   61876     name: "T"
   61877     type: "type"
   61878     allowed_values {
   61879       list {
   61880         type: DT_FLOAT
   61881         type: DT_DOUBLE
   61882         type: DT_INT64
   61883         type: DT_INT32
   61884         type: DT_UINT8
   61885         type: DT_UINT16
   61886         type: DT_INT16
   61887         type: DT_INT8
   61888         type: DT_COMPLEX64
   61889         type: DT_COMPLEX128
   61890         type: DT_QINT8
   61891         type: DT_QUINT8
   61892         type: DT_QINT32
   61893         type: DT_HALF
   61894       }
   61895     }
   61896   }
   61897   attr {
   61898     name: "Tidx"
   61899     type: "type"
   61900     default_value {
   61901       type: DT_INT32
   61902     }
   61903     allowed_values {
   61904       list {
   61905         type: DT_INT32
   61906         type: DT_INT64
   61907       }
   61908     }
   61909   }
   61910 }
   61911 op {
   61912   name: "Sum"
   61913   input_arg {
   61914     name: "input"
   61915     type_attr: "T"
   61916   }
   61917   input_arg {
   61918     name: "reduction_indices"
   61919     type_attr: "Tidx"
   61920   }
   61921   output_arg {
   61922     name: "output"
   61923     type_attr: "T"
   61924   }
   61925   attr {
   61926     name: "keep_dims"
   61927     type: "bool"
   61928     default_value {
   61929       b: false
   61930     }
   61931   }
   61932   attr {
   61933     name: "T"
   61934     type: "type"
   61935     allowed_values {
   61936       list {
   61937         type: DT_FLOAT
   61938         type: DT_DOUBLE
   61939         type: DT_INT64
   61940         type: DT_INT32
   61941         type: DT_UINT8
   61942         type: DT_UINT16
   61943         type: DT_INT16
   61944         type: DT_INT8
   61945         type: DT_COMPLEX64
   61946         type: DT_COMPLEX128
   61947         type: DT_QINT8
   61948         type: DT_QUINT8
   61949         type: DT_QINT32
   61950         type: DT_HALF
   61951         type: DT_UINT32
   61952         type: DT_UINT64
   61953       }
   61954     }
   61955   }
   61956   attr {
   61957     name: "Tidx"
   61958     type: "type"
   61959     default_value {
   61960       type: DT_INT32
   61961     }
   61962     allowed_values {
   61963       list {
   61964         type: DT_INT32
   61965         type: DT_INT64
   61966       }
   61967     }
   61968   }
   61969 }
   61970 op {
   61971   name: "Sum"
   61972   input_arg {
   61973     name: "input"
   61974     type_attr: "T"
   61975   }
   61976   input_arg {
   61977     name: "reduction_indices"
   61978     type_attr: "Tidx"
   61979   }
   61980   output_arg {
   61981     name: "output"
   61982     type_attr: "T"
   61983   }
   61984   attr {
   61985     name: "keep_dims"
   61986     type: "bool"
   61987     default_value {
   61988       b: false
   61989     }
   61990   }
   61991   attr {
   61992     name: "T"
   61993     type: "type"
   61994     allowed_values {
   61995       list {
   61996         type: DT_FLOAT
   61997         type: DT_DOUBLE
   61998         type: DT_INT64
   61999         type: DT_INT32
   62000         type: DT_UINT8
   62001         type: DT_UINT16
   62002         type: DT_INT16
   62003         type: DT_INT8
   62004         type: DT_COMPLEX64
   62005         type: DT_COMPLEX128
   62006         type: DT_QINT8
   62007         type: DT_QUINT8
   62008         type: DT_QINT32
   62009         type: DT_HALF
   62010         type: DT_UINT32
   62011         type: DT_UINT64
   62012         type: DT_BFLOAT16
   62013       }
   62014     }
   62015   }
   62016   attr {
   62017     name: "Tidx"
   62018     type: "type"
   62019     default_value {
   62020       type: DT_INT32
   62021     }
   62022     allowed_values {
   62023       list {
   62024         type: DT_INT32
   62025         type: DT_INT64
   62026       }
   62027     }
   62028   }
   62029 }
   62030 op {
   62031   name: "Sum"
   62032   input_arg {
   62033     name: "input"
   62034     type_attr: "T"
   62035   }
   62036   input_arg {
   62037     name: "reduction_indices"
   62038     type_attr: "Tidx"
   62039   }
   62040   output_arg {
   62041     name: "output"
   62042     type_attr: "T"
   62043   }
   62044   attr {
   62045     name: "keep_dims"
   62046     type: "bool"
   62047     default_value {
   62048       b: false
   62049     }
   62050   }
   62051   attr {
   62052     name: "T"
   62053     type: "type"
   62054     allowed_values {
   62055       list {
   62056         type: DT_FLOAT
   62057         type: DT_DOUBLE
   62058         type: DT_INT32
   62059         type: DT_UINT8
   62060         type: DT_INT16
   62061         type: DT_INT8
   62062         type: DT_COMPLEX64
   62063         type: DT_INT64
   62064         type: DT_QINT8
   62065         type: DT_QUINT8
   62066         type: DT_QINT32
   62067         type: DT_BFLOAT16
   62068         type: DT_UINT16
   62069         type: DT_COMPLEX128
   62070         type: DT_HALF
   62071         type: DT_UINT32
   62072         type: DT_UINT64
   62073       }
   62074     }
   62075   }
   62076   attr {
   62077     name: "Tidx"
   62078     type: "type"
   62079     default_value {
   62080       type: DT_INT32
   62081     }
   62082     allowed_values {
   62083       list {
   62084         type: DT_INT32
   62085         type: DT_INT64
   62086       }
   62087     }
   62088   }
   62089 }
   62090 op {
   62091   name: "Svd"
   62092   input_arg {
   62093     name: "input"
   62094     type_attr: "T"
   62095   }
   62096   output_arg {
   62097     name: "s"
   62098     type_attr: "T"
   62099   }
   62100   output_arg {
   62101     name: "u"
   62102     type_attr: "T"
   62103   }
   62104   output_arg {
   62105     name: "v"
   62106     type_attr: "T"
   62107   }
   62108   attr {
   62109     name: "compute_uv"
   62110     type: "bool"
   62111     default_value {
   62112       b: true
   62113     }
   62114   }
   62115   attr {
   62116     name: "full_matrices"
   62117     type: "bool"
   62118     default_value {
   62119       b: false
   62120     }
   62121   }
   62122   attr {
   62123     name: "T"
   62124     type: "type"
   62125     allowed_values {
   62126       list {
   62127         type: DT_DOUBLE
   62128         type: DT_FLOAT
   62129         type: DT_COMPLEX64
   62130         type: DT_COMPLEX128
   62131       }
   62132     }
   62133   }
   62134 }
   62135 op {
   62136   name: "Switch"
   62137   input_arg {
   62138     name: "data"
   62139     type_attr: "T"
   62140   }
   62141   input_arg {
   62142     name: "pred"
   62143     type: DT_BOOL
   62144   }
   62145   output_arg {
   62146     name: "output_false"
   62147     type_attr: "T"
   62148   }
   62149   output_arg {
   62150     name: "output_true"
   62151     type_attr: "T"
   62152   }
   62153   attr {
   62154     name: "T"
   62155     type: "type"
   62156   }
   62157 }
   62158 op {
   62159   name: "SymbolicGradient"
   62160   input_arg {
   62161     name: "input"
   62162     type_list_attr: "Tin"
   62163   }
   62164   output_arg {
   62165     name: "output"
   62166     type_list_attr: "Tout"
   62167   }
   62168   attr {
   62169     name: "Tin"
   62170     type: "list(type)"
   62171     has_minimum: true
   62172     minimum: 1
   62173   }
   62174   attr {
   62175     name: "Tout"
   62176     type: "list(type)"
   62177     has_minimum: true
   62178     minimum: 1
   62179   }
   62180   attr {
   62181     name: "f"
   62182     type: "func"
   62183   }
   62184 }
   62185 op {
   62186   name: "TFRecordDataset"
   62187   input_arg {
   62188     name: "filenames"
   62189     type: DT_STRING
   62190   }
   62191   input_arg {
   62192     name: "compression_type"
   62193     type: DT_STRING
   62194   }
   62195   input_arg {
   62196     name: "buffer_size"
   62197     type: DT_INT64
   62198   }
   62199   output_arg {
   62200     name: "handle"
   62201     type: DT_VARIANT
   62202   }
   62203   is_stateful: true
   62204 }
   62205 op {
   62206   name: "TFRecordReader"
   62207   output_arg {
   62208     name: "reader_handle"
   62209     type: DT_STRING
   62210     is_ref: true
   62211   }
   62212   attr {
   62213     name: "container"
   62214     type: "string"
   62215     default_value {
   62216       s: ""
   62217     }
   62218   }
   62219   attr {
   62220     name: "shared_name"
   62221     type: "string"
   62222     default_value {
   62223       s: ""
   62224     }
   62225   }
   62226   attr {
   62227     name: "compression_type"
   62228     type: "string"
   62229     default_value {
   62230       s: ""
   62231     }
   62232   }
   62233   is_stateful: true
   62234 }
   62235 op {
   62236   name: "TFRecordReader"
   62237   output_arg {
   62238     name: "reader_handle"
   62239     type: DT_STRING
   62240     is_ref: true
   62241   }
   62242   attr {
   62243     name: "container"
   62244     type: "string"
   62245     default_value {
   62246       s: ""
   62247     }
   62248   }
   62249   attr {
   62250     name: "shared_name"
   62251     type: "string"
   62252     default_value {
   62253       s: ""
   62254     }
   62255   }
   62256   attr {
   62257     name: "compression_type"
   62258     type: "string"
   62259     default_value {
   62260       s: ""
   62261     }
   62262   }
   62263   deprecation {
   62264     version: 26
   62265   }
   62266   is_stateful: true
   62267 }
   62268 op {
   62269   name: "TFRecordReaderV2"
   62270   output_arg {
   62271     name: "reader_handle"
   62272     type: DT_RESOURCE
   62273   }
   62274   attr {
   62275     name: "container"
   62276     type: "string"
   62277     default_value {
   62278       s: ""
   62279     }
   62280   }
   62281   attr {
   62282     name: "shared_name"
   62283     type: "string"
   62284     default_value {
   62285       s: ""
   62286     }
   62287   }
   62288   attr {
   62289     name: "compression_type"
   62290     type: "string"
   62291     default_value {
   62292       s: ""
   62293     }
   62294   }
   62295   is_stateful: true
   62296 }
   62297 op {
   62298   name: "TakeDataset"
   62299   input_arg {
   62300     name: "input_dataset"
   62301     type: DT_VARIANT
   62302   }
   62303   input_arg {
   62304     name: "count"
   62305     type: DT_INT64
   62306   }
   62307   output_arg {
   62308     name: "handle"
   62309     type: DT_VARIANT
   62310   }
   62311   attr {
   62312     name: "output_types"
   62313     type: "list(type)"
   62314     has_minimum: true
   62315     minimum: 1
   62316   }
   62317   attr {
   62318     name: "output_shapes"
   62319     type: "list(shape)"
   62320     has_minimum: true
   62321     minimum: 1
   62322   }
   62323   is_stateful: true
   62324 }
   62325 op {
   62326   name: "TakeDataset"
   62327   input_arg {
   62328     name: "input_dataset"
   62329     type: DT_VARIANT
   62330   }
   62331   input_arg {
   62332     name: "count"
   62333     type: DT_INT64
   62334   }
   62335   output_arg {
   62336     name: "handle"
   62337     type: DT_VARIANT
   62338   }
   62339   attr {
   62340     name: "output_types"
   62341     type: "list(type)"
   62342     has_minimum: true
   62343     minimum: 1
   62344   }
   62345   attr {
   62346     name: "output_shapes"
   62347     type: "list(shape)"
   62348     has_minimum: true
   62349     minimum: 1
   62350   }
   62351 }
   62352 op {
   62353   name: "TakeManySparseFromTensorsMap"
   62354   input_arg {
   62355     name: "sparse_handles"
   62356     type: DT_INT64
   62357   }
   62358   output_arg {
   62359     name: "sparse_indices"
   62360     type: DT_INT64
   62361   }
   62362   output_arg {
   62363     name: "sparse_values"
   62364     type_attr: "dtype"
   62365   }
   62366   output_arg {
   62367     name: "sparse_shape"
   62368     type: DT_INT64
   62369   }
   62370   attr {
   62371     name: "dtype"
   62372     type: "type"
   62373   }
   62374   attr {
   62375     name: "container"
   62376     type: "string"
   62377     default_value {
   62378       s: ""
   62379     }
   62380   }
   62381   attr {
   62382     name: "shared_name"
   62383     type: "string"
   62384     default_value {
   62385       s: ""
   62386     }
   62387   }
   62388   is_stateful: true
   62389 }
   62390 op {
   62391   name: "Tan"
   62392   input_arg {
   62393     name: "x"
   62394     type_attr: "T"
   62395   }
   62396   output_arg {
   62397     name: "y"
   62398     type_attr: "T"
   62399   }
   62400   attr {
   62401     name: "T"
   62402     type: "type"
   62403     allowed_values {
   62404       list {
   62405         type: DT_HALF
   62406         type: DT_FLOAT
   62407         type: DT_DOUBLE
   62408         type: DT_INT32
   62409         type: DT_INT64
   62410         type: DT_COMPLEX64
   62411         type: DT_COMPLEX128
   62412       }
   62413     }
   62414   }
   62415 }
   62416 op {
   62417   name: "Tan"
   62418   input_arg {
   62419     name: "x"
   62420     type_attr: "T"
   62421   }
   62422   output_arg {
   62423     name: "y"
   62424     type_attr: "T"
   62425   }
   62426   attr {
   62427     name: "T"
   62428     type: "type"
   62429     allowed_values {
   62430       list {
   62431         type: DT_HALF
   62432         type: DT_BFLOAT16
   62433         type: DT_FLOAT
   62434         type: DT_DOUBLE
   62435         type: DT_INT32
   62436         type: DT_INT64
   62437         type: DT_COMPLEX64
   62438         type: DT_COMPLEX128
   62439       }
   62440     }
   62441   }
   62442 }
   62443 op {
   62444   name: "Tanh"
   62445   input_arg {
   62446     name: "x"
   62447     type_attr: "T"
   62448   }
   62449   output_arg {
   62450     name: "y"
   62451     type_attr: "T"
   62452   }
   62453   attr {
   62454     name: "T"
   62455     type: "type"
   62456     allowed_values {
   62457       list {
   62458         type: DT_HALF
   62459         type: DT_FLOAT
   62460         type: DT_DOUBLE
   62461         type: DT_COMPLEX64
   62462         type: DT_COMPLEX128
   62463       }
   62464     }
   62465   }
   62466 }
   62467 op {
   62468   name: "Tanh"
   62469   input_arg {
   62470     name: "x"
   62471     type_attr: "T"
   62472   }
   62473   output_arg {
   62474     name: "y"
   62475     type_attr: "T"
   62476   }
   62477   attr {
   62478     name: "T"
   62479     type: "type"
   62480     allowed_values {
   62481       list {
   62482         type: DT_HALF
   62483         type: DT_BFLOAT16
   62484         type: DT_FLOAT
   62485         type: DT_DOUBLE
   62486         type: DT_COMPLEX64
   62487         type: DT_COMPLEX128
   62488       }
   62489     }
   62490   }
   62491 }
   62492 op {
   62493   name: "TanhGrad"
   62494   input_arg {
   62495     name: "x"
   62496     type_attr: "T"
   62497   }
   62498   input_arg {
   62499     name: "y"
   62500     type_attr: "T"
   62501   }
   62502   output_arg {
   62503     name: "z"
   62504     type_attr: "T"
   62505   }
   62506   attr {
   62507     name: "T"
   62508     type: "type"
   62509     allowed_values {
   62510       list {
   62511         type: DT_HALF
   62512         type: DT_FLOAT
   62513         type: DT_DOUBLE
   62514         type: DT_COMPLEX64
   62515         type: DT_COMPLEX128
   62516       }
   62517     }
   62518   }
   62519 }
   62520 op {
   62521   name: "TanhGrad"
   62522   input_arg {
   62523     name: "y"
   62524     type_attr: "T"
   62525   }
   62526   input_arg {
   62527     name: "dy"
   62528     type_attr: "T"
   62529   }
   62530   output_arg {
   62531     name: "z"
   62532     type_attr: "T"
   62533   }
   62534   attr {
   62535     name: "T"
   62536     type: "type"
   62537     allowed_values {
   62538       list {
   62539         type: DT_HALF
   62540         type: DT_FLOAT
   62541         type: DT_DOUBLE
   62542         type: DT_COMPLEX64
   62543         type: DT_COMPLEX128
   62544       }
   62545     }
   62546   }
   62547 }
   62548 op {
   62549   name: "TanhGrad"
   62550   input_arg {
   62551     name: "y"
   62552     type_attr: "T"
   62553   }
   62554   input_arg {
   62555     name: "dy"
   62556     type_attr: "T"
   62557   }
   62558   output_arg {
   62559     name: "z"
   62560     type_attr: "T"
   62561   }
   62562   attr {
   62563     name: "T"
   62564     type: "type"
   62565     allowed_values {
   62566       list {
   62567         type: DT_HALF
   62568         type: DT_BFLOAT16
   62569         type: DT_FLOAT
   62570         type: DT_DOUBLE
   62571         type: DT_COMPLEX64
   62572         type: DT_COMPLEX128
   62573       }
   62574     }
   62575   }
   62576 }
   62577 op {
   62578   name: "TemporaryVariable"
   62579   output_arg {
   62580     name: "ref"
   62581     type_attr: "dtype"
   62582     is_ref: true
   62583   }
   62584   attr {
   62585     name: "shape"
   62586     type: "shape"
   62587   }
   62588   attr {
   62589     name: "dtype"
   62590     type: "type"
   62591   }
   62592   attr {
   62593     name: "var_name"
   62594     type: "string"
   62595     default_value {
   62596       s: ""
   62597     }
   62598   }
   62599   is_stateful: true
   62600 }
   62601 op {
   62602   name: "TensorArray"
   62603   input_arg {
   62604     name: "size"
   62605     type: DT_INT32
   62606   }
   62607   output_arg {
   62608     name: "handle"
   62609     type: DT_STRING
   62610     is_ref: true
   62611   }
   62612   attr {
   62613     name: "dtype"
   62614     type: "type"
   62615   }
   62616   attr {
   62617     name: "dynamic_size"
   62618     type: "bool"
   62619     default_value {
   62620       b: false
   62621     }
   62622   }
   62623   attr {
   62624     name: "clear_after_read"
   62625     type: "bool"
   62626     default_value {
   62627       b: true
   62628     }
   62629   }
   62630   attr {
   62631     name: "tensor_array_name"
   62632     type: "string"
   62633     default_value {
   62634       s: ""
   62635     }
   62636   }
   62637   attr {
   62638     name: "element_shape"
   62639     type: "shape"
   62640     default_value {
   62641       shape {
   62642         unknown_rank: true
   62643       }
   62644     }
   62645   }
   62646   deprecation {
   62647     version: 16
   62648   }
   62649   is_stateful: true
   62650 }
   62651 op {
   62652   name: "TensorArrayClose"
   62653   input_arg {
   62654     name: "handle"
   62655     type: DT_STRING
   62656     is_ref: true
   62657   }
   62658   deprecation {
   62659     version: 16
   62660   }
   62661 }
   62662 op {
   62663   name: "TensorArrayCloseV2"
   62664   input_arg {
   62665     name: "handle"
   62666     type: DT_STRING
   62667   }
   62668 }
   62669 op {
   62670   name: "TensorArrayCloseV2"
   62671   input_arg {
   62672     name: "handle"
   62673     type: DT_STRING
   62674   }
   62675   deprecation {
   62676     version: 26
   62677   }
   62678 }
   62679 op {
   62680   name: "TensorArrayCloseV3"
   62681   input_arg {
   62682     name: "handle"
   62683     type: DT_RESOURCE
   62684   }
   62685   is_stateful: true
   62686 }
   62687 op {
   62688   name: "TensorArrayConcat"
   62689   input_arg {
   62690     name: "handle"
   62691     type: DT_STRING
   62692     is_ref: true
   62693   }
   62694   input_arg {
   62695     name: "flow_in"
   62696     type: DT_FLOAT
   62697   }
   62698   output_arg {
   62699     name: "value"
   62700     type_attr: "dtype"
   62701   }
   62702   output_arg {
   62703     name: "lengths"
   62704     type: DT_INT64
   62705   }
   62706   attr {
   62707     name: "dtype"
   62708     type: "type"
   62709   }
   62710   attr {
   62711     name: "element_shape_except0"
   62712     type: "shape"
   62713     default_value {
   62714       shape {
   62715         unknown_rank: true
   62716       }
   62717     }
   62718   }
   62719   deprecation {
   62720     version: 16
   62721   }
   62722 }
   62723 op {
   62724   name: "TensorArrayConcatV2"
   62725   input_arg {
   62726     name: "handle"
   62727     type: DT_STRING
   62728   }
   62729   input_arg {
   62730     name: "flow_in"
   62731     type: DT_FLOAT
   62732   }
   62733   output_arg {
   62734     name: "value"
   62735     type_attr: "dtype"
   62736   }
   62737   output_arg {
   62738     name: "lengths"
   62739     type: DT_INT64
   62740   }
   62741   attr {
   62742     name: "dtype"
   62743     type: "type"
   62744   }
   62745   attr {
   62746     name: "element_shape_except0"
   62747     type: "shape"
   62748     default_value {
   62749       shape {
   62750         unknown_rank: true
   62751       }
   62752     }
   62753   }
   62754 }
   62755 op {
   62756   name: "TensorArrayConcatV3"
   62757   input_arg {
   62758     name: "handle"
   62759     type: DT_RESOURCE
   62760   }
   62761   input_arg {
   62762     name: "flow_in"
   62763     type: DT_FLOAT
   62764   }
   62765   output_arg {
   62766     name: "value"
   62767     type_attr: "dtype"
   62768   }
   62769   output_arg {
   62770     name: "lengths"
   62771     type: DT_INT64
   62772   }
   62773   attr {
   62774     name: "dtype"
   62775     type: "type"
   62776   }
   62777   attr {
   62778     name: "element_shape_except0"
   62779     type: "shape"
   62780     default_value {
   62781       shape {
   62782         unknown_rank: true
   62783       }
   62784     }
   62785   }
   62786   is_stateful: true
   62787 }
   62788 op {
   62789   name: "TensorArrayGather"
   62790   input_arg {
   62791     name: "handle"
   62792     type: DT_STRING
   62793     is_ref: true
   62794   }
   62795   input_arg {
   62796     name: "indices"
   62797     type: DT_INT32
   62798   }
   62799   input_arg {
   62800     name: "flow_in"
   62801     type: DT_FLOAT
   62802   }
   62803   output_arg {
   62804     name: "value"
   62805     type_attr: "dtype"
   62806   }
   62807   attr {
   62808     name: "dtype"
   62809     type: "type"
   62810   }
   62811   attr {
   62812     name: "element_shape"
   62813     type: "shape"
   62814     default_value {
   62815       shape {
   62816         unknown_rank: true
   62817       }
   62818     }
   62819   }
   62820   deprecation {
   62821     version: 16
   62822   }
   62823 }
   62824 op {
   62825   name: "TensorArrayGatherV2"
   62826   input_arg {
   62827     name: "handle"
   62828     type: DT_STRING
   62829   }
   62830   input_arg {
   62831     name: "indices"
   62832     type: DT_INT32
   62833   }
   62834   input_arg {
   62835     name: "flow_in"
   62836     type: DT_FLOAT
   62837   }
   62838   output_arg {
   62839     name: "value"
   62840     type_attr: "dtype"
   62841   }
   62842   attr {
   62843     name: "dtype"
   62844     type: "type"
   62845   }
   62846   attr {
   62847     name: "element_shape"
   62848     type: "shape"
   62849     default_value {
   62850       shape {
   62851         unknown_rank: true
   62852       }
   62853     }
   62854   }
   62855 }
   62856 op {
   62857   name: "TensorArrayGatherV2"
   62858   input_arg {
   62859     name: "handle"
   62860     type: DT_STRING
   62861   }
   62862   input_arg {
   62863     name: "indices"
   62864     type: DT_INT32
   62865   }
   62866   input_arg {
   62867     name: "flow_in"
   62868     type: DT_FLOAT
   62869   }
   62870   output_arg {
   62871     name: "value"
   62872     type_attr: "dtype"
   62873   }
   62874   attr {
   62875     name: "dtype"
   62876     type: "type"
   62877   }
   62878   attr {
   62879     name: "element_shape"
   62880     type: "shape"
   62881     default_value {
   62882       shape {
   62883         unknown_rank: true
   62884       }
   62885     }
   62886   }
   62887   deprecation {
   62888     version: 26
   62889   }
   62890 }
   62891 op {
   62892   name: "TensorArrayGatherV3"
   62893   input_arg {
   62894     name: "handle"
   62895     type: DT_RESOURCE
   62896   }
   62897   input_arg {
   62898     name: "indices"
   62899     type: DT_INT32
   62900   }
   62901   input_arg {
   62902     name: "flow_in"
   62903     type: DT_FLOAT
   62904   }
   62905   output_arg {
   62906     name: "value"
   62907     type_attr: "dtype"
   62908   }
   62909   attr {
   62910     name: "dtype"
   62911     type: "type"
   62912   }
   62913   attr {
   62914     name: "element_shape"
   62915     type: "shape"
   62916     default_value {
   62917       shape {
   62918         unknown_rank: true
   62919       }
   62920     }
   62921   }
   62922   is_stateful: true
   62923 }
   62924 op {
   62925   name: "TensorArrayGrad"
   62926   input_arg {
   62927     name: "handle"
   62928     type: DT_STRING
   62929   }
   62930   input_arg {
   62931     name: "flow_in"
   62932     type: DT_FLOAT
   62933   }
   62934   output_arg {
   62935     name: "grad_handle"
   62936     type: DT_STRING
   62937     is_ref: true
   62938   }
   62939   attr {
   62940     name: "source"
   62941     type: "string"
   62942   }
   62943   deprecation {
   62944     version: 16
   62945   }
   62946   is_stateful: true
   62947 }
   62948 op {
   62949   name: "TensorArrayGradV2"
   62950   input_arg {
   62951     name: "handle"
   62952     type: DT_STRING
   62953   }
   62954   input_arg {
   62955     name: "flow_in"
   62956     type: DT_FLOAT
   62957   }
   62958   output_arg {
   62959     name: "grad_handle"
   62960     type: DT_STRING
   62961   }
   62962   attr {
   62963     name: "source"
   62964     type: "string"
   62965   }
   62966   is_stateful: true
   62967 }
   62968 op {
   62969   name: "TensorArrayGradV2"
   62970   input_arg {
   62971     name: "handle"
   62972     type: DT_STRING
   62973   }
   62974   input_arg {
   62975     name: "flow_in"
   62976     type: DT_FLOAT
   62977   }
   62978   output_arg {
   62979     name: "grad_handle"
   62980     type: DT_STRING
   62981   }
   62982   attr {
   62983     name: "source"
   62984     type: "string"
   62985   }
   62986   deprecation {
   62987     version: 26
   62988   }
   62989   is_stateful: true
   62990 }
   62991 op {
   62992   name: "TensorArrayGradV3"
   62993   input_arg {
   62994     name: "handle"
   62995     type: DT_RESOURCE
   62996   }
   62997   input_arg {
   62998     name: "flow_in"
   62999     type: DT_FLOAT
   63000   }
   63001   output_arg {
   63002     name: "grad_handle"
   63003     type: DT_RESOURCE
   63004   }
   63005   output_arg {
   63006     name: "flow_out"
   63007     type: DT_FLOAT
   63008   }
   63009   attr {
   63010     name: "source"
   63011     type: "string"
   63012   }
   63013   is_stateful: true
   63014 }
   63015 op {
   63016   name: "TensorArrayPack"
   63017   input_arg {
   63018     name: "handle"
   63019     type: DT_STRING
   63020     is_ref: true
   63021   }
   63022   input_arg {
   63023     name: "flow_in"
   63024     type: DT_FLOAT
   63025   }
   63026   output_arg {
   63027     name: "value"
   63028     type_attr: "dtype"
   63029   }
   63030   attr {
   63031     name: "dtype"
   63032     type: "type"
   63033   }
   63034   attr {
   63035     name: "element_shape"
   63036     type: "shape"
   63037     default_value {
   63038       shape {
   63039         unknown_rank: true
   63040       }
   63041     }
   63042   }
   63043   deprecation {
   63044     version: 16
   63045   }
   63046 }
   63047 op {
   63048   name: "TensorArrayRead"
   63049   input_arg {
   63050     name: "handle"
   63051     type: DT_STRING
   63052     is_ref: true
   63053   }
   63054   input_arg {
   63055     name: "index"
   63056     type: DT_INT32
   63057   }
   63058   input_arg {
   63059     name: "flow_in"
   63060     type: DT_FLOAT
   63061   }
   63062   output_arg {
   63063     name: "value"
   63064     type_attr: "dtype"
   63065   }
   63066   attr {
   63067     name: "dtype"
   63068     type: "type"
   63069   }
   63070   deprecation {
   63071     version: 16
   63072   }
   63073 }
   63074 op {
   63075   name: "TensorArrayReadV2"
   63076   input_arg {
   63077     name: "handle"
   63078     type: DT_STRING
   63079   }
   63080   input_arg {
   63081     name: "index"
   63082     type: DT_INT32
   63083   }
   63084   input_arg {
   63085     name: "flow_in"
   63086     type: DT_FLOAT
   63087   }
   63088   output_arg {
   63089     name: "value"
   63090     type_attr: "dtype"
   63091   }
   63092   attr {
   63093     name: "dtype"
   63094     type: "type"
   63095   }
   63096 }
   63097 op {
   63098   name: "TensorArrayReadV2"
   63099   input_arg {
   63100     name: "handle"
   63101     type: DT_STRING
   63102   }
   63103   input_arg {
   63104     name: "index"
   63105     type: DT_INT32
   63106   }
   63107   input_arg {
   63108     name: "flow_in"
   63109     type: DT_FLOAT
   63110   }
   63111   output_arg {
   63112     name: "value"
   63113     type_attr: "dtype"
   63114   }
   63115   attr {
   63116     name: "dtype"
   63117     type: "type"
   63118   }
   63119   deprecation {
   63120     version: 26
   63121   }
   63122 }
   63123 op {
   63124   name: "TensorArrayReadV3"
   63125   input_arg {
   63126     name: "handle"
   63127     type: DT_RESOURCE
   63128   }
   63129   input_arg {
   63130     name: "index"
   63131     type: DT_INT32
   63132   }
   63133   input_arg {
   63134     name: "flow_in"
   63135     type: DT_FLOAT
   63136   }
   63137   output_arg {
   63138     name: "value"
   63139     type_attr: "dtype"
   63140   }
   63141   attr {
   63142     name: "dtype"
   63143     type: "type"
   63144   }
   63145   is_stateful: true
   63146 }
   63147 op {
   63148   name: "TensorArrayScatter"
   63149   input_arg {
   63150     name: "handle"
   63151     type: DT_STRING
   63152     is_ref: true
   63153   }
   63154   input_arg {
   63155     name: "indices"
   63156     type: DT_INT32
   63157   }
   63158   input_arg {
   63159     name: "value"
   63160     type_attr: "T"
   63161   }
   63162   input_arg {
   63163     name: "flow_in"
   63164     type: DT_FLOAT
   63165   }
   63166   output_arg {
   63167     name: "flow_out"
   63168     type: DT_FLOAT
   63169   }
   63170   attr {
   63171     name: "T"
   63172     type: "type"
   63173   }
   63174   deprecation {
   63175     version: 19
   63176   }
   63177 }
   63178 op {
   63179   name: "TensorArrayScatterV2"
   63180   input_arg {
   63181     name: "handle"
   63182     type: DT_STRING
   63183   }
   63184   input_arg {
   63185     name: "indices"
   63186     type: DT_INT32
   63187   }
   63188   input_arg {
   63189     name: "value"
   63190     type_attr: "T"
   63191   }
   63192   input_arg {
   63193     name: "flow_in"
   63194     type: DT_FLOAT
   63195   }
   63196   output_arg {
   63197     name: "flow_out"
   63198     type: DT_FLOAT
   63199   }
   63200   attr {
   63201     name: "T"
   63202     type: "type"
   63203   }
   63204 }
   63205 op {
   63206   name: "TensorArrayScatterV2"
   63207   input_arg {
   63208     name: "handle"
   63209     type: DT_STRING
   63210   }
   63211   input_arg {
   63212     name: "indices"
   63213     type: DT_INT32
   63214   }
   63215   input_arg {
   63216     name: "value"
   63217     type_attr: "T"
   63218   }
   63219   input_arg {
   63220     name: "flow_in"
   63221     type: DT_FLOAT
   63222   }
   63223   output_arg {
   63224     name: "flow_out"
   63225     type: DT_FLOAT
   63226   }
   63227   attr {
   63228     name: "T"
   63229     type: "type"
   63230   }
   63231   deprecation {
   63232     version: 26
   63233   }
   63234 }
   63235 op {
   63236   name: "TensorArrayScatterV3"
   63237   input_arg {
   63238     name: "handle"
   63239     type: DT_RESOURCE
   63240   }
   63241   input_arg {
   63242     name: "indices"
   63243     type: DT_INT32
   63244   }
   63245   input_arg {
   63246     name: "value"
   63247     type_attr: "T"
   63248   }
   63249   input_arg {
   63250     name: "flow_in"
   63251     type: DT_FLOAT
   63252   }
   63253   output_arg {
   63254     name: "flow_out"
   63255     type: DT_FLOAT
   63256   }
   63257   attr {
   63258     name: "T"
   63259     type: "type"
   63260   }
   63261   is_stateful: true
   63262 }
   63263 op {
   63264   name: "TensorArraySize"
   63265   input_arg {
   63266     name: "handle"
   63267     type: DT_STRING
   63268     is_ref: true
   63269   }
   63270   input_arg {
   63271     name: "flow_in"
   63272     type: DT_FLOAT
   63273   }
   63274   output_arg {
   63275     name: "size"
   63276     type: DT_INT32
   63277   }
   63278   deprecation {
   63279     version: 16
   63280   }
   63281 }
   63282 op {
   63283   name: "TensorArraySizeV2"
   63284   input_arg {
   63285     name: "handle"
   63286     type: DT_STRING
   63287   }
   63288   input_arg {
   63289     name: "flow_in"
   63290     type: DT_FLOAT
   63291   }
   63292   output_arg {
   63293     name: "size"
   63294     type: DT_INT32
   63295   }
   63296 }
   63297 op {
   63298   name: "TensorArraySizeV2"
   63299   input_arg {
   63300     name: "handle"
   63301     type: DT_STRING
   63302   }
   63303   input_arg {
   63304     name: "flow_in"
   63305     type: DT_FLOAT
   63306   }
   63307   output_arg {
   63308     name: "size"
   63309     type: DT_INT32
   63310   }
   63311   deprecation {
   63312     version: 26
   63313   }
   63314 }
   63315 op {
   63316   name: "TensorArraySizeV3"
   63317   input_arg {
   63318     name: "handle"
   63319     type: DT_RESOURCE
   63320   }
   63321   input_arg {
   63322     name: "flow_in"
   63323     type: DT_FLOAT
   63324   }
   63325   output_arg {
   63326     name: "size"
   63327     type: DT_INT32
   63328   }
   63329   is_stateful: true
   63330 }
   63331 op {
   63332   name: "TensorArraySplit"
   63333   input_arg {
   63334     name: "handle"
   63335     type: DT_STRING
   63336     is_ref: true
   63337   }
   63338   input_arg {
   63339     name: "value"
   63340     type_attr: "T"
   63341   }
   63342   input_arg {
   63343     name: "lengths"
   63344     type: DT_INT64
   63345   }
   63346   input_arg {
   63347     name: "flow_in"
   63348     type: DT_FLOAT
   63349   }
   63350   output_arg {
   63351     name: "flow_out"
   63352     type: DT_FLOAT
   63353   }
   63354   attr {
   63355     name: "T"
   63356     type: "type"
   63357   }
   63358   deprecation {
   63359     version: 16
   63360   }
   63361 }
   63362 op {
   63363   name: "TensorArraySplitV2"
   63364   input_arg {
   63365     name: "handle"
   63366     type: DT_STRING
   63367   }
   63368   input_arg {
   63369     name: "value"
   63370     type_attr: "T"
   63371   }
   63372   input_arg {
   63373     name: "lengths"
   63374     type: DT_INT64
   63375   }
   63376   input_arg {
   63377     name: "flow_in"
   63378     type: DT_FLOAT
   63379   }
   63380   output_arg {
   63381     name: "flow_out"
   63382     type: DT_FLOAT
   63383   }
   63384   attr {
   63385     name: "T"
   63386     type: "type"
   63387   }
   63388 }
   63389 op {
   63390   name: "TensorArraySplitV2"
   63391   input_arg {
   63392     name: "handle"
   63393     type: DT_STRING
   63394   }
   63395   input_arg {
   63396     name: "value"
   63397     type_attr: "T"
   63398   }
   63399   input_arg {
   63400     name: "lengths"
   63401     type: DT_INT64
   63402   }
   63403   input_arg {
   63404     name: "flow_in"
   63405     type: DT_FLOAT
   63406   }
   63407   output_arg {
   63408     name: "flow_out"
   63409     type: DT_FLOAT
   63410   }
   63411   attr {
   63412     name: "T"
   63413     type: "type"
   63414   }
   63415   deprecation {
   63416     version: 26
   63417   }
   63418 }
   63419 op {
   63420   name: "TensorArraySplitV3"
   63421   input_arg {
   63422     name: "handle"
   63423     type: DT_RESOURCE
   63424   }
   63425   input_arg {
   63426     name: "value"
   63427     type_attr: "T"
   63428   }
   63429   input_arg {
   63430     name: "lengths"
   63431     type: DT_INT64
   63432   }
   63433   input_arg {
   63434     name: "flow_in"
   63435     type: DT_FLOAT
   63436   }
   63437   output_arg {
   63438     name: "flow_out"
   63439     type: DT_FLOAT
   63440   }
   63441   attr {
   63442     name: "T"
   63443     type: "type"
   63444   }
   63445   is_stateful: true
   63446 }
   63447 op {
   63448   name: "TensorArrayUnpack"
   63449   input_arg {
   63450     name: "handle"
   63451     type: DT_STRING
   63452     is_ref: true
   63453   }
   63454   input_arg {
   63455     name: "value"
   63456     type_attr: "T"
   63457   }
   63458   input_arg {
   63459     name: "flow_in"
   63460     type: DT_FLOAT
   63461   }
   63462   output_arg {
   63463     name: "flow_out"
   63464     type: DT_FLOAT
   63465   }
   63466   attr {
   63467     name: "T"
   63468     type: "type"
   63469   }
   63470   deprecation {
   63471     version: 20
   63472   }
   63473 }
   63474 op {
   63475   name: "TensorArrayV2"
   63476   input_arg {
   63477     name: "size"
   63478     type: DT_INT32
   63479   }
   63480   output_arg {
   63481     name: "handle"
   63482     type: DT_STRING
   63483   }
   63484   attr {
   63485     name: "dtype"
   63486     type: "type"
   63487   }
   63488   attr {
   63489     name: "element_shape"
   63490     type: "shape"
   63491     default_value {
   63492       shape {
   63493         unknown_rank: true
   63494       }
   63495     }
   63496   }
   63497   attr {
   63498     name: "dynamic_size"
   63499     type: "bool"
   63500     default_value {
   63501       b: false
   63502     }
   63503   }
   63504   attr {
   63505     name: "clear_after_read"
   63506     type: "bool"
   63507     default_value {
   63508       b: true
   63509     }
   63510   }
   63511   attr {
   63512     name: "tensor_array_name"
   63513     type: "string"
   63514     default_value {
   63515       s: ""
   63516     }
   63517   }
   63518   is_stateful: true
   63519 }
   63520 op {
   63521   name: "TensorArrayV2"
   63522   input_arg {
   63523     name: "size"
   63524     type: DT_INT32
   63525   }
   63526   output_arg {
   63527     name: "handle"
   63528     type: DT_STRING
   63529   }
   63530   attr {
   63531     name: "dtype"
   63532     type: "type"
   63533   }
   63534   attr {
   63535     name: "element_shape"
   63536     type: "shape"
   63537     default_value {
   63538       shape {
   63539         unknown_rank: true
   63540       }
   63541     }
   63542   }
   63543   attr {
   63544     name: "dynamic_size"
   63545     type: "bool"
   63546     default_value {
   63547       b: false
   63548     }
   63549   }
   63550   attr {
   63551     name: "clear_after_read"
   63552     type: "bool"
   63553     default_value {
   63554       b: true
   63555     }
   63556   }
   63557   attr {
   63558     name: "tensor_array_name"
   63559     type: "string"
   63560     default_value {
   63561       s: ""
   63562     }
   63563   }
   63564   deprecation {
   63565     version: 26
   63566   }
   63567   is_stateful: true
   63568 }
   63569 op {
   63570   name: "TensorArrayV3"
   63571   input_arg {
   63572     name: "size"
   63573     type: DT_INT32
   63574   }
   63575   output_arg {
   63576     name: "handle"
   63577     type: DT_RESOURCE
   63578   }
   63579   output_arg {
   63580     name: "flow"
   63581     type: DT_FLOAT
   63582   }
   63583   attr {
   63584     name: "dtype"
   63585     type: "type"
   63586   }
   63587   attr {
   63588     name: "element_shape"
   63589     type: "shape"
   63590     default_value {
   63591       shape {
   63592         unknown_rank: true
   63593       }
   63594     }
   63595   }
   63596   attr {
   63597     name: "dynamic_size"
   63598     type: "bool"
   63599     default_value {
   63600       b: false
   63601     }
   63602   }
   63603   attr {
   63604     name: "clear_after_read"
   63605     type: "bool"
   63606     default_value {
   63607       b: true
   63608     }
   63609   }
   63610   attr {
   63611     name: "tensor_array_name"
   63612     type: "string"
   63613     default_value {
   63614       s: ""
   63615     }
   63616   }
   63617   is_stateful: true
   63618 }
   63619 op {
   63620   name: "TensorArrayV3"
   63621   input_arg {
   63622     name: "size"
   63623     type: DT_INT32
   63624   }
   63625   output_arg {
   63626     name: "handle"
   63627     type: DT_RESOURCE
   63628   }
   63629   output_arg {
   63630     name: "flow"
   63631     type: DT_FLOAT
   63632   }
   63633   attr {
   63634     name: "dtype"
   63635     type: "type"
   63636   }
   63637   attr {
   63638     name: "element_shape"
   63639     type: "shape"
   63640     default_value {
   63641       shape {
   63642         unknown_rank: true
   63643       }
   63644     }
   63645   }
   63646   attr {
   63647     name: "dynamic_size"
   63648     type: "bool"
   63649     default_value {
   63650       b: false
   63651     }
   63652   }
   63653   attr {
   63654     name: "clear_after_read"
   63655     type: "bool"
   63656     default_value {
   63657       b: true
   63658     }
   63659   }
   63660   attr {
   63661     name: "identical_element_shapes"
   63662     type: "bool"
   63663     default_value {
   63664       b: false
   63665     }
   63666   }
   63667   attr {
   63668     name: "tensor_array_name"
   63669     type: "string"
   63670     default_value {
   63671       s: ""
   63672     }
   63673   }
   63674   is_stateful: true
   63675 }
   63676 op {
   63677   name: "TensorArrayWrite"
   63678   input_arg {
   63679     name: "handle"
   63680     type: DT_STRING
   63681     is_ref: true
   63682   }
   63683   input_arg {
   63684     name: "index"
   63685     type: DT_INT32
   63686   }
   63687   input_arg {
   63688     name: "value"
   63689     type_attr: "T"
   63690   }
   63691   input_arg {
   63692     name: "flow_in"
   63693     type: DT_FLOAT
   63694   }
   63695   output_arg {
   63696     name: "flow_out"
   63697     type: DT_FLOAT
   63698   }
   63699   attr {
   63700     name: "T"
   63701     type: "type"
   63702   }
   63703   deprecation {
   63704     version: 16
   63705   }
   63706 }
   63707 op {
   63708   name: "TensorArrayWriteV2"
   63709   input_arg {
   63710     name: "handle"
   63711     type: DT_STRING
   63712   }
   63713   input_arg {
   63714     name: "index"
   63715     type: DT_INT32
   63716   }
   63717   input_arg {
   63718     name: "value"
   63719     type_attr: "T"
   63720   }
   63721   input_arg {
   63722     name: "flow_in"
   63723     type: DT_FLOAT
   63724   }
   63725   output_arg {
   63726     name: "flow_out"
   63727     type: DT_FLOAT
   63728   }
   63729   attr {
   63730     name: "T"
   63731     type: "type"
   63732   }
   63733 }
   63734 op {
   63735   name: "TensorArrayWriteV2"
   63736   input_arg {
   63737     name: "handle"
   63738     type: DT_STRING
   63739   }
   63740   input_arg {
   63741     name: "index"
   63742     type: DT_INT32
   63743   }
   63744   input_arg {
   63745     name: "value"
   63746     type_attr: "T"
   63747   }
   63748   input_arg {
   63749     name: "flow_in"
   63750     type: DT_FLOAT
   63751   }
   63752   output_arg {
   63753     name: "flow_out"
   63754     type: DT_FLOAT
   63755   }
   63756   attr {
   63757     name: "T"
   63758     type: "type"
   63759   }
   63760   deprecation {
   63761     version: 26
   63762   }
   63763 }
   63764 op {
   63765   name: "TensorArrayWriteV3"
   63766   input_arg {
   63767     name: "handle"
   63768     type: DT_RESOURCE
   63769   }
   63770   input_arg {
   63771     name: "index"
   63772     type: DT_INT32
   63773   }
   63774   input_arg {
   63775     name: "value"
   63776     type_attr: "T"
   63777   }
   63778   input_arg {
   63779     name: "flow_in"
   63780     type: DT_FLOAT
   63781   }
   63782   output_arg {
   63783     name: "flow_out"
   63784     type: DT_FLOAT
   63785   }
   63786   attr {
   63787     name: "T"
   63788     type: "type"
   63789   }
   63790   is_stateful: true
   63791 }
   63792 op {
   63793   name: "TensorDataset"
   63794   input_arg {
   63795     name: "components"
   63796     type_list_attr: "Toutput_types"
   63797   }
   63798   output_arg {
   63799     name: "handle"
   63800     type: DT_VARIANT
   63801   }
   63802   attr {
   63803     name: "Toutput_types"
   63804     type: "list(type)"
   63805     has_minimum: true
   63806     minimum: 1
   63807   }
   63808   attr {
   63809     name: "output_shapes"
   63810     type: "list(shape)"
   63811     has_minimum: true
   63812     minimum: 1
   63813   }
   63814   is_stateful: true
   63815 }
   63816 op {
   63817   name: "TensorListElementShape"
   63818   input_arg {
   63819     name: "input_handle"
   63820     type: DT_VARIANT
   63821   }
   63822   output_arg {
   63823     name: "element_shape"
   63824     type_attr: "shape_type"
   63825   }
   63826   attr {
   63827     name: "shape_type"
   63828     type: "type"
   63829     allowed_values {
   63830       list {
   63831         type: DT_INT32
   63832         type: DT_INT64
   63833       }
   63834     }
   63835   }
   63836 }
   63837 op {
   63838   name: "TensorListFromTensor"
   63839   input_arg {
   63840     name: "tensor"
   63841     type_attr: "element_dtype"
   63842   }
   63843   input_arg {
   63844     name: "element_shape"
   63845     type_attr: "shape_type"
   63846   }
   63847   output_arg {
   63848     name: "output_handle"
   63849     type: DT_VARIANT
   63850   }
   63851   attr {
   63852     name: "element_dtype"
   63853     type: "type"
   63854   }
   63855   attr {
   63856     name: "shape_type"
   63857     type: "type"
   63858     allowed_values {
   63859       list {
   63860         type: DT_INT32
   63861         type: DT_INT64
   63862       }
   63863     }
   63864   }
   63865 }
   63866 op {
   63867   name: "TensorListGetItem"
   63868   input_arg {
   63869     name: "input_handle"
   63870     type: DT_VARIANT
   63871   }
   63872   input_arg {
   63873     name: "index"
   63874     type: DT_INT32
   63875   }
   63876   output_arg {
   63877     name: "item"
   63878     type_attr: "element_dtype"
   63879   }
   63880   attr {
   63881     name: "element_dtype"
   63882     type: "type"
   63883   }
   63884 }
   63885 op {
   63886   name: "TensorListLength"
   63887   input_arg {
   63888     name: "input_handle"
   63889     type: DT_VARIANT
   63890   }
   63891   output_arg {
   63892     name: "length"
   63893     type: DT_INT32
   63894   }
   63895 }
   63896 op {
   63897   name: "TensorListPopBack"
   63898   input_arg {
   63899     name: "input_handle"
   63900     type: DT_VARIANT
   63901   }
   63902   output_arg {
   63903     name: "output_handle"
   63904     type: DT_VARIANT
   63905   }
   63906   output_arg {
   63907     name: "tensor"
   63908     type_attr: "element_dtype"
   63909   }
   63910   attr {
   63911     name: "element_dtype"
   63912     type: "type"
   63913   }
   63914 }
   63915 op {
   63916   name: "TensorListPushBack"
   63917   input_arg {
   63918     name: "input_handle"
   63919     type: DT_VARIANT
   63920   }
   63921   input_arg {
   63922     name: "tensor"
   63923     type_attr: "element_dtype"
   63924   }
   63925   output_arg {
   63926     name: "output_handle"
   63927     type: DT_VARIANT
   63928   }
   63929   attr {
   63930     name: "element_dtype"
   63931     type: "type"
   63932   }
   63933 }
   63934 op {
   63935   name: "TensorListReserve"
   63936   input_arg {
   63937     name: "element_shape"
   63938     type_attr: "shape_type"
   63939   }
   63940   input_arg {
   63941     name: "num_elements"
   63942     type: DT_INT32
   63943   }
   63944   output_arg {
   63945     name: "handle"
   63946     type: DT_VARIANT
   63947   }
   63948   attr {
   63949     name: "element_dtype"
   63950     type: "type"
   63951   }
   63952   attr {
   63953     name: "shape_type"
   63954     type: "type"
   63955     allowed_values {
   63956       list {
   63957         type: DT_INT32
   63958         type: DT_INT64
   63959       }
   63960     }
   63961   }
   63962 }
   63963 op {
   63964   name: "TensorListSetItem"
   63965   input_arg {
   63966     name: "input_handle"
   63967     type: DT_VARIANT
   63968   }
   63969   input_arg {
   63970     name: "index"
   63971     type: DT_INT32
   63972   }
   63973   input_arg {
   63974     name: "item"
   63975     type_attr: "element_dtype"
   63976   }
   63977   output_arg {
   63978     name: "output_handle"
   63979     type: DT_VARIANT
   63980   }
   63981   attr {
   63982     name: "element_dtype"
   63983     type: "type"
   63984   }
   63985 }
   63986 op {
   63987   name: "TensorListStack"
   63988   input_arg {
   63989     name: "input_handle"
   63990     type: DT_VARIANT
   63991   }
   63992   output_arg {
   63993     name: "tensor"
   63994     type_attr: "element_dtype"
   63995   }
   63996   attr {
   63997     name: "element_dtype"
   63998     type: "type"
   63999   }
   64000   attr {
   64001     name: "num_elements"
   64002     type: "int"
   64003     default_value {
   64004       i: -1
   64005     }
   64006   }
   64007 }
   64008 op {
   64009   name: "TensorSliceDataset"
   64010   input_arg {
   64011     name: "components"
   64012     type_list_attr: "Toutput_types"
   64013   }
   64014   output_arg {
   64015     name: "handle"
   64016     type: DT_VARIANT
   64017   }
   64018   attr {
   64019     name: "Toutput_types"
   64020     type: "list(type)"
   64021     has_minimum: true
   64022     minimum: 1
   64023   }
   64024   attr {
   64025     name: "output_shapes"
   64026     type: "list(shape)"
   64027     has_minimum: true
   64028     minimum: 1
   64029   }
   64030   is_stateful: true
   64031 }
   64032 op {
   64033   name: "TensorSummary"
   64034   input_arg {
   64035     name: "tensor"
   64036     type_attr: "T"
   64037   }
   64038   output_arg {
   64039     name: "summary"
   64040     type: DT_STRING
   64041   }
   64042   attr {
   64043     name: "T"
   64044     type: "type"
   64045   }
   64046   attr {
   64047     name: "description"
   64048     type: "string"
   64049     default_value {
   64050       s: ""
   64051     }
   64052   }
   64053   attr {
   64054     name: "labels"
   64055     type: "list(string)"
   64056     default_value {
   64057       list {
   64058       }
   64059     }
   64060   }
   64061   attr {
   64062     name: "display_name"
   64063     type: "string"
   64064     default_value {
   64065       s: ""
   64066     }
   64067   }
   64068 }
   64069 op {
   64070   name: "TensorSummaryV2"
   64071   input_arg {
   64072     name: "tag"
   64073     type: DT_STRING
   64074   }
   64075   input_arg {
   64076     name: "tensor"
   64077     type_attr: "T"
   64078   }
   64079   input_arg {
   64080     name: "serialized_summary_metadata"
   64081     type: DT_STRING
   64082   }
   64083   output_arg {
   64084     name: "summary"
   64085     type: DT_STRING
   64086   }
   64087   attr {
   64088     name: "T"
   64089     type: "type"
   64090   }
   64091 }
   64092 op {
   64093   name: "TextLineDataset"
   64094   input_arg {
   64095     name: "filenames"
   64096     type: DT_STRING
   64097   }
   64098   input_arg {
   64099     name: "compression_type"
   64100     type: DT_STRING
   64101   }
   64102   input_arg {
   64103     name: "buffer_size"
   64104     type: DT_INT64
   64105   }
   64106   output_arg {
   64107     name: "handle"
   64108     type: DT_VARIANT
   64109   }
   64110   is_stateful: true
   64111 }
   64112 op {
   64113   name: "TextLineReader"
   64114   output_arg {
   64115     name: "reader_handle"
   64116     type: DT_STRING
   64117     is_ref: true
   64118   }
   64119   attr {
   64120     name: "skip_header_lines"
   64121     type: "int"
   64122     default_value {
   64123       i: 0
   64124     }
   64125   }
   64126   attr {
   64127     name: "container"
   64128     type: "string"
   64129     default_value {
   64130       s: ""
   64131     }
   64132   }
   64133   attr {
   64134     name: "shared_name"
   64135     type: "string"
   64136     default_value {
   64137       s: ""
   64138     }
   64139   }
   64140   is_stateful: true
   64141 }
   64142 op {
   64143   name: "TextLineReader"
   64144   output_arg {
   64145     name: "reader_handle"
   64146     type: DT_STRING
   64147     is_ref: true
   64148   }
   64149   attr {
   64150     name: "skip_header_lines"
   64151     type: "int"
   64152     default_value {
   64153       i: 0
   64154     }
   64155   }
   64156   attr {
   64157     name: "container"
   64158     type: "string"
   64159     default_value {
   64160       s: ""
   64161     }
   64162   }
   64163   attr {
   64164     name: "shared_name"
   64165     type: "string"
   64166     default_value {
   64167       s: ""
   64168     }
   64169   }
   64170   deprecation {
   64171     version: 26
   64172   }
   64173   is_stateful: true
   64174 }
   64175 op {
   64176   name: "TextLineReaderV2"
   64177   output_arg {
   64178     name: "reader_handle"
   64179     type: DT_RESOURCE
   64180   }
   64181   attr {
   64182     name: "skip_header_lines"
   64183     type: "int"
   64184     default_value {
   64185       i: 0
   64186     }
   64187   }
   64188   attr {
   64189     name: "container"
   64190     type: "string"
   64191     default_value {
   64192       s: ""
   64193     }
   64194   }
   64195   attr {
   64196     name: "shared_name"
   64197     type: "string"
   64198     default_value {
   64199       s: ""
   64200     }
   64201   }
   64202   is_stateful: true
   64203 }
   64204 op {
   64205   name: "ThreadUnsafeUnigramCandidateSampler"
   64206   input_arg {
   64207     name: "true_classes"
   64208     type: DT_INT64
   64209   }
   64210   output_arg {
   64211     name: "sampled_candidates"
   64212     type: DT_INT64
   64213   }
   64214   output_arg {
   64215     name: "true_expected_count"
   64216     type: DT_FLOAT
   64217   }
   64218   output_arg {
   64219     name: "sampled_expected_count"
   64220     type: DT_FLOAT
   64221   }
   64222   attr {
   64223     name: "num_true"
   64224     type: "int"
   64225     has_minimum: true
   64226     minimum: 1
   64227   }
   64228   attr {
   64229     name: "num_sampled"
   64230     type: "int"
   64231     has_minimum: true
   64232     minimum: 1
   64233   }
   64234   attr {
   64235     name: "unique"
   64236     type: "bool"
   64237   }
   64238   attr {
   64239     name: "range_max"
   64240     type: "int"
   64241     has_minimum: true
   64242     minimum: 1
   64243   }
   64244   attr {
   64245     name: "seed"
   64246     type: "int"
   64247     default_value {
   64248       i: 0
   64249     }
   64250   }
   64251   attr {
   64252     name: "seed2"
   64253     type: "int"
   64254     default_value {
   64255       i: 0
   64256     }
   64257   }
   64258 }
   64259 op {
   64260   name: "ThreadUnsafeUnigramCandidateSampler"
   64261   input_arg {
   64262     name: "true_classes"
   64263     type: DT_INT64
   64264   }
   64265   output_arg {
   64266     name: "sampled_candidates"
   64267     type: DT_INT64
   64268   }
   64269   output_arg {
   64270     name: "true_expected_count"
   64271     type: DT_FLOAT
   64272   }
   64273   output_arg {
   64274     name: "sampled_expected_count"
   64275     type: DT_FLOAT
   64276   }
   64277   attr {
   64278     name: "num_true"
   64279     type: "int"
   64280     has_minimum: true
   64281     minimum: 1
   64282   }
   64283   attr {
   64284     name: "num_sampled"
   64285     type: "int"
   64286     has_minimum: true
   64287     minimum: 1
   64288   }
   64289   attr {
   64290     name: "unique"
   64291     type: "bool"
   64292   }
   64293   attr {
   64294     name: "range_max"
   64295     type: "int"
   64296     has_minimum: true
   64297     minimum: 1
   64298   }
   64299   attr {
   64300     name: "seed"
   64301     type: "int"
   64302     default_value {
   64303       i: 0
   64304     }
   64305   }
   64306   attr {
   64307     name: "seed2"
   64308     type: "int"
   64309     default_value {
   64310       i: 0
   64311     }
   64312   }
   64313   is_stateful: true
   64314 }
   64315 op {
   64316   name: "Tile"
   64317   input_arg {
   64318     name: "input"
   64319     type_attr: "T"
   64320   }
   64321   input_arg {
   64322     name: "multiples"
   64323     type_attr: "Tmultiples"
   64324   }
   64325   output_arg {
   64326     name: "output"
   64327     type_attr: "T"
   64328   }
   64329   attr {
   64330     name: "T"
   64331     type: "type"
   64332   }
   64333   attr {
   64334     name: "Tmultiples"
   64335     type: "type"
   64336     default_value {
   64337       type: DT_INT32
   64338     }
   64339     allowed_values {
   64340       list {
   64341         type: DT_INT32
   64342         type: DT_INT64
   64343       }
   64344     }
   64345   }
   64346 }
   64347 op {
   64348   name: "TileGrad"
   64349   input_arg {
   64350     name: "input"
   64351     type_attr: "T"
   64352   }
   64353   input_arg {
   64354     name: "multiples"
   64355     type: DT_INT32
   64356   }
   64357   output_arg {
   64358     name: "output"
   64359     type_attr: "T"
   64360   }
   64361   attr {
   64362     name: "T"
   64363     type: "type"
   64364   }
   64365   deprecation {
   64366     version: 3
   64367   }
   64368 }
   64369 op {
   64370   name: "TopK"
   64371   input_arg {
   64372     name: "input"
   64373     type_attr: "T"
   64374   }
   64375   output_arg {
   64376     name: "values"
   64377     type_attr: "T"
   64378   }
   64379   output_arg {
   64380     name: "indices"
   64381     type: DT_INT32
   64382   }
   64383   attr {
   64384     name: "k"
   64385     type: "int"
   64386     has_minimum: true
   64387   }
   64388   attr {
   64389     name: "sorted"
   64390     type: "bool"
   64391     default_value {
   64392       b: true
   64393     }
   64394   }
   64395   attr {
   64396     name: "T"
   64397     type: "type"
   64398     allowed_values {
   64399       list {
   64400         type: DT_FLOAT
   64401         type: DT_DOUBLE
   64402         type: DT_INT32
   64403         type: DT_INT64
   64404         type: DT_UINT8
   64405         type: DT_INT16
   64406         type: DT_INT8
   64407         type: DT_UINT16
   64408         type: DT_HALF
   64409       }
   64410     }
   64411   }
   64412   deprecation {
   64413     version: 7
   64414   }
   64415 }
   64416 op {
   64417   name: "TopK"
   64418   input_arg {
   64419     name: "input"
   64420     type_attr: "T"
   64421   }
   64422   output_arg {
   64423     name: "values"
   64424     type_attr: "T"
   64425   }
   64426   output_arg {
   64427     name: "indices"
   64428     type: DT_INT32
   64429   }
   64430   attr {
   64431     name: "k"
   64432     type: "int"
   64433     has_minimum: true
   64434   }
   64435   attr {
   64436     name: "sorted"
   64437     type: "bool"
   64438     default_value {
   64439       b: true
   64440     }
   64441   }
   64442   attr {
   64443     name: "T"
   64444     type: "type"
   64445     allowed_values {
   64446       list {
   64447         type: DT_FLOAT
   64448         type: DT_DOUBLE
   64449         type: DT_INT32
   64450         type: DT_INT64
   64451         type: DT_UINT8
   64452         type: DT_INT16
   64453         type: DT_INT8
   64454         type: DT_UINT16
   64455         type: DT_HALF
   64456         type: DT_UINT32
   64457         type: DT_UINT64
   64458       }
   64459     }
   64460   }
   64461   deprecation {
   64462     version: 7
   64463   }
   64464 }
   64465 op {
   64466   name: "TopK"
   64467   input_arg {
   64468     name: "input"
   64469     type_attr: "T"
   64470   }
   64471   output_arg {
   64472     name: "values"
   64473     type_attr: "T"
   64474   }
   64475   output_arg {
   64476     name: "indices"
   64477     type: DT_INT32
   64478   }
   64479   attr {
   64480     name: "k"
   64481     type: "int"
   64482     has_minimum: true
   64483   }
   64484   attr {
   64485     name: "sorted"
   64486     type: "bool"
   64487     default_value {
   64488       b: true
   64489     }
   64490   }
   64491   attr {
   64492     name: "T"
   64493     type: "type"
   64494     allowed_values {
   64495       list {
   64496         type: DT_FLOAT
   64497         type: DT_DOUBLE
   64498         type: DT_INT32
   64499         type: DT_INT64
   64500         type: DT_UINT8
   64501         type: DT_INT16
   64502         type: DT_INT8
   64503         type: DT_UINT16
   64504         type: DT_HALF
   64505         type: DT_UINT32
   64506         type: DT_UINT64
   64507         type: DT_BFLOAT16
   64508       }
   64509     }
   64510   }
   64511   deprecation {
   64512     version: 7
   64513   }
   64514 }
   64515 op {
   64516   name: "TopK"
   64517   input_arg {
   64518     name: "input"
   64519     type_attr: "T"
   64520   }
   64521   output_arg {
   64522     name: "values"
   64523     type_attr: "T"
   64524   }
   64525   output_arg {
   64526     name: "indices"
   64527     type: DT_INT32
   64528   }
   64529   attr {
   64530     name: "k"
   64531     type: "int"
   64532     has_minimum: true
   64533   }
   64534   attr {
   64535     name: "sorted"
   64536     type: "bool"
   64537     default_value {
   64538       b: true
   64539     }
   64540   }
   64541   attr {
   64542     name: "T"
   64543     type: "type"
   64544     allowed_values {
   64545       list {
   64546         type: DT_FLOAT
   64547         type: DT_DOUBLE
   64548         type: DT_INT32
   64549         type: DT_UINT8
   64550         type: DT_INT16
   64551         type: DT_INT8
   64552         type: DT_INT64
   64553         type: DT_BFLOAT16
   64554         type: DT_UINT16
   64555         type: DT_HALF
   64556         type: DT_UINT32
   64557         type: DT_UINT64
   64558       }
   64559     }
   64560   }
   64561   deprecation {
   64562     version: 7
   64563   }
   64564 }
   64565 op {
   64566   name: "TopKV2"
   64567   input_arg {
   64568     name: "input"
   64569     type_attr: "T"
   64570   }
   64571   input_arg {
   64572     name: "k"
   64573     type: DT_INT32
   64574   }
   64575   output_arg {
   64576     name: "values"
   64577     type_attr: "T"
   64578   }
   64579   output_arg {
   64580     name: "indices"
   64581     type: DT_INT32
   64582   }
   64583   attr {
   64584     name: "sorted"
   64585     type: "bool"
   64586     default_value {
   64587       b: true
   64588     }
   64589   }
   64590   attr {
   64591     name: "T"
   64592     type: "type"
   64593     allowed_values {
   64594       list {
   64595         type: DT_FLOAT
   64596         type: DT_DOUBLE
   64597         type: DT_INT32
   64598         type: DT_INT64
   64599         type: DT_UINT8
   64600         type: DT_INT16
   64601         type: DT_INT8
   64602         type: DT_UINT16
   64603         type: DT_HALF
   64604       }
   64605     }
   64606   }
   64607 }
   64608 op {
   64609   name: "TopKV2"
   64610   input_arg {
   64611     name: "input"
   64612     type_attr: "T"
   64613   }
   64614   input_arg {
   64615     name: "k"
   64616     type: DT_INT32
   64617   }
   64618   output_arg {
   64619     name: "values"
   64620     type_attr: "T"
   64621   }
   64622   output_arg {
   64623     name: "indices"
   64624     type: DT_INT32
   64625   }
   64626   attr {
   64627     name: "sorted"
   64628     type: "bool"
   64629     default_value {
   64630       b: true
   64631     }
   64632   }
   64633   attr {
   64634     name: "T"
   64635     type: "type"
   64636     allowed_values {
   64637       list {
   64638         type: DT_FLOAT
   64639         type: DT_DOUBLE
   64640         type: DT_INT32
   64641         type: DT_INT64
   64642         type: DT_UINT8
   64643         type: DT_INT16
   64644         type: DT_INT8
   64645         type: DT_UINT16
   64646         type: DT_HALF
   64647         type: DT_UINT32
   64648         type: DT_UINT64
   64649       }
   64650     }
   64651   }
   64652 }
   64653 op {
   64654   name: "TopKV2"
   64655   input_arg {
   64656     name: "input"
   64657     type_attr: "T"
   64658   }
   64659   input_arg {
   64660     name: "k"
   64661     type: DT_INT32
   64662   }
   64663   output_arg {
   64664     name: "values"
   64665     type_attr: "T"
   64666   }
   64667   output_arg {
   64668     name: "indices"
   64669     type: DT_INT32
   64670   }
   64671   attr {
   64672     name: "sorted"
   64673     type: "bool"
   64674     default_value {
   64675       b: true
   64676     }
   64677   }
   64678   attr {
   64679     name: "T"
   64680     type: "type"
   64681     allowed_values {
   64682       list {
   64683         type: DT_FLOAT
   64684         type: DT_DOUBLE
   64685         type: DT_INT32
   64686         type: DT_INT64
   64687         type: DT_UINT8
   64688         type: DT_INT16
   64689         type: DT_INT8
   64690         type: DT_UINT16
   64691         type: DT_HALF
   64692         type: DT_UINT32
   64693         type: DT_UINT64
   64694         type: DT_BFLOAT16
   64695       }
   64696     }
   64697   }
   64698 }
   64699 op {
   64700   name: "TopKV2"
   64701   input_arg {
   64702     name: "input"
   64703     type_attr: "T"
   64704   }
   64705   input_arg {
   64706     name: "k"
   64707     type: DT_INT32
   64708   }
   64709   output_arg {
   64710     name: "values"
   64711     type_attr: "T"
   64712   }
   64713   output_arg {
   64714     name: "indices"
   64715     type: DT_INT32
   64716   }
   64717   attr {
   64718     name: "sorted"
   64719     type: "bool"
   64720     default_value {
   64721       b: true
   64722     }
   64723   }
   64724   attr {
   64725     name: "T"
   64726     type: "type"
   64727     allowed_values {
   64728       list {
   64729         type: DT_FLOAT
   64730         type: DT_DOUBLE
   64731         type: DT_INT32
   64732         type: DT_UINT8
   64733         type: DT_INT16
   64734         type: DT_INT8
   64735         type: DT_INT64
   64736         type: DT_BFLOAT16
   64737         type: DT_UINT16
   64738         type: DT_HALF
   64739         type: DT_UINT32
   64740         type: DT_UINT64
   64741       }
   64742     }
   64743   }
   64744 }
   64745 op {
   64746   name: "Transpose"
   64747   input_arg {
   64748     name: "x"
   64749     type_attr: "T"
   64750   }
   64751   input_arg {
   64752     name: "perm"
   64753     type_attr: "Tperm"
   64754   }
   64755   output_arg {
   64756     name: "y"
   64757     type_attr: "T"
   64758   }
   64759   attr {
   64760     name: "T"
   64761     type: "type"
   64762   }
   64763   attr {
   64764     name: "Tperm"
   64765     type: "type"
   64766     default_value {
   64767       type: DT_INT32
   64768     }
   64769     allowed_values {
   64770       list {
   64771         type: DT_INT32
   64772         type: DT_INT64
   64773       }
   64774     }
   64775   }
   64776 }
   64777 op {
   64778   name: "TruncateDiv"
   64779   input_arg {
   64780     name: "x"
   64781     type_attr: "T"
   64782   }
   64783   input_arg {
   64784     name: "y"
   64785     type_attr: "T"
   64786   }
   64787   output_arg {
   64788     name: "z"
   64789     type_attr: "T"
   64790   }
   64791   attr {
   64792     name: "T"
   64793     type: "type"
   64794     allowed_values {
   64795       list {
   64796         type: DT_HALF
   64797         type: DT_FLOAT
   64798         type: DT_DOUBLE
   64799         type: DT_UINT8
   64800         type: DT_INT8
   64801         type: DT_UINT16
   64802         type: DT_INT16
   64803         type: DT_INT32
   64804         type: DT_INT64
   64805         type: DT_COMPLEX64
   64806         type: DT_COMPLEX128
   64807       }
   64808     }
   64809   }
   64810 }
   64811 op {
   64812   name: "TruncateDiv"
   64813   input_arg {
   64814     name: "x"
   64815     type_attr: "T"
   64816   }
   64817   input_arg {
   64818     name: "y"
   64819     type_attr: "T"
   64820   }
   64821   output_arg {
   64822     name: "z"
   64823     type_attr: "T"
   64824   }
   64825   attr {
   64826     name: "T"
   64827     type: "type"
   64828     allowed_values {
   64829       list {
   64830         type: DT_HALF
   64831         type: DT_BFLOAT16
   64832         type: DT_FLOAT
   64833         type: DT_DOUBLE
   64834         type: DT_UINT8
   64835         type: DT_INT8
   64836         type: DT_UINT16
   64837         type: DT_INT16
   64838         type: DT_INT32
   64839         type: DT_INT64
   64840         type: DT_COMPLEX64
   64841         type: DT_COMPLEX128
   64842       }
   64843     }
   64844   }
   64845 }
   64846 op {
   64847   name: "TruncateMod"
   64848   input_arg {
   64849     name: "x"
   64850     type_attr: "T"
   64851   }
   64852   input_arg {
   64853     name: "y"
   64854     type_attr: "T"
   64855   }
   64856   output_arg {
   64857     name: "z"
   64858     type_attr: "T"
   64859   }
   64860   attr {
   64861     name: "T"
   64862     type: "type"
   64863     allowed_values {
   64864       list {
   64865         type: DT_INT32
   64866         type: DT_INT64
   64867         type: DT_FLOAT
   64868         type: DT_DOUBLE
   64869       }
   64870     }
   64871   }
   64872 }
   64873 op {
   64874   name: "TruncateMod"
   64875   input_arg {
   64876     name: "x"
   64877     type_attr: "T"
   64878   }
   64879   input_arg {
   64880     name: "y"
   64881     type_attr: "T"
   64882   }
   64883   output_arg {
   64884     name: "z"
   64885     type_attr: "T"
   64886   }
   64887   attr {
   64888     name: "T"
   64889     type: "type"
   64890     allowed_values {
   64891       list {
   64892         type: DT_INT32
   64893         type: DT_INT64
   64894         type: DT_BFLOAT16
   64895         type: DT_FLOAT
   64896         type: DT_DOUBLE
   64897       }
   64898     }
   64899   }
   64900 }
   64901 op {
   64902   name: "TruncatedNormal"
   64903   input_arg {
   64904     name: "shape"
   64905     type_attr: "T"
   64906   }
   64907   output_arg {
   64908     name: "output"
   64909     type_attr: "dtype"
   64910   }
   64911   attr {
   64912     name: "seed"
   64913     type: "int"
   64914     default_value {
   64915       i: 0
   64916     }
   64917   }
   64918   attr {
   64919     name: "seed2"
   64920     type: "int"
   64921     default_value {
   64922       i: 0
   64923     }
   64924   }
   64925   attr {
   64926     name: "dtype"
   64927     type: "type"
   64928     allowed_values {
   64929       list {
   64930         type: DT_HALF
   64931         type: DT_FLOAT
   64932         type: DT_DOUBLE
   64933       }
   64934     }
   64935   }
   64936   attr {
   64937     name: "T"
   64938     type: "type"
   64939     allowed_values {
   64940       list {
   64941         type: DT_INT32
   64942         type: DT_INT64
   64943       }
   64944     }
   64945   }
   64946   is_stateful: true
   64947 }
   64948 op {
   64949   name: "TruncatedNormal"
   64950   input_arg {
   64951     name: "shape"
   64952     type_attr: "T"
   64953   }
   64954   output_arg {
   64955     name: "output"
   64956     type_attr: "dtype"
   64957   }
   64958   attr {
   64959     name: "seed"
   64960     type: "int"
   64961     default_value {
   64962       i: 0
   64963     }
   64964   }
   64965   attr {
   64966     name: "seed2"
   64967     type: "int"
   64968     default_value {
   64969       i: 0
   64970     }
   64971   }
   64972   attr {
   64973     name: "dtype"
   64974     type: "type"
   64975     allowed_values {
   64976       list {
   64977         type: DT_HALF
   64978         type: DT_BFLOAT16
   64979         type: DT_FLOAT
   64980         type: DT_DOUBLE
   64981       }
   64982     }
   64983   }
   64984   attr {
   64985     name: "T"
   64986     type: "type"
   64987     allowed_values {
   64988       list {
   64989         type: DT_INT32
   64990         type: DT_INT64
   64991       }
   64992     }
   64993   }
   64994   is_stateful: true
   64995 }
   64996 op {
   64997   name: "Unbatch"
   64998   input_arg {
   64999     name: "batched_tensor"
   65000     type_attr: "T"
   65001   }
   65002   input_arg {
   65003     name: "batch_index"
   65004     type: DT_INT64
   65005   }
   65006   input_arg {
   65007     name: "id"
   65008     type: DT_INT64
   65009   }
   65010   output_arg {
   65011     name: "unbatched_tensor"
   65012     type_attr: "T"
   65013   }
   65014   attr {
   65015     name: "timeout_micros"
   65016     type: "int"
   65017   }
   65018   attr {
   65019     name: "container"
   65020     type: "string"
   65021     default_value {
   65022       s: ""
   65023     }
   65024   }
   65025   attr {
   65026     name: "shared_name"
   65027     type: "string"
   65028     default_value {
   65029       s: ""
   65030     }
   65031   }
   65032   attr {
   65033     name: "T"
   65034     type: "type"
   65035   }
   65036 }
   65037 op {
   65038   name: "UnbatchGrad"
   65039   input_arg {
   65040     name: "original_input"
   65041     type_attr: "T"
   65042   }
   65043   input_arg {
   65044     name: "batch_index"
   65045     type: DT_INT64
   65046   }
   65047   input_arg {
   65048     name: "grad"
   65049     type_attr: "T"
   65050   }
   65051   input_arg {
   65052     name: "id"
   65053     type: DT_INT64
   65054   }
   65055   output_arg {
   65056     name: "batched_grad"
   65057     type_attr: "T"
   65058   }
   65059   attr {
   65060     name: "container"
   65061     type: "string"
   65062     default_value {
   65063       s: ""
   65064     }
   65065   }
   65066   attr {
   65067     name: "shared_name"
   65068     type: "string"
   65069     default_value {
   65070       s: ""
   65071     }
   65072   }
   65073   attr {
   65074     name: "T"
   65075     type: "type"
   65076   }
   65077 }
   65078 op {
   65079   name: "UniformCandidateSampler"
   65080   input_arg {
   65081     name: "true_classes"
   65082     type: DT_INT64
   65083   }
   65084   output_arg {
   65085     name: "sampled_candidates"
   65086     type: DT_INT64
   65087   }
   65088   output_arg {
   65089     name: "true_expected_count"
   65090     type: DT_FLOAT
   65091   }
   65092   output_arg {
   65093     name: "sampled_expected_count"
   65094     type: DT_FLOAT
   65095   }
   65096   attr {
   65097     name: "num_true"
   65098     type: "int"
   65099     has_minimum: true
   65100     minimum: 1
   65101   }
   65102   attr {
   65103     name: "num_sampled"
   65104     type: "int"
   65105     has_minimum: true
   65106     minimum: 1
   65107   }
   65108   attr {
   65109     name: "unique"
   65110     type: "bool"
   65111   }
   65112   attr {
   65113     name: "range_max"
   65114     type: "int"
   65115     has_minimum: true
   65116     minimum: 1
   65117   }
   65118   attr {
   65119     name: "seed"
   65120     type: "int"
   65121     default_value {
   65122       i: 0
   65123     }
   65124   }
   65125   attr {
   65126     name: "seed2"
   65127     type: "int"
   65128     default_value {
   65129       i: 0
   65130     }
   65131   }
   65132 }
   65133 op {
   65134   name: "UniformCandidateSampler"
   65135   input_arg {
   65136     name: "true_classes"
   65137     type: DT_INT64
   65138   }
   65139   output_arg {
   65140     name: "sampled_candidates"
   65141     type: DT_INT64
   65142   }
   65143   output_arg {
   65144     name: "true_expected_count"
   65145     type: DT_FLOAT
   65146   }
   65147   output_arg {
   65148     name: "sampled_expected_count"
   65149     type: DT_FLOAT
   65150   }
   65151   attr {
   65152     name: "num_true"
   65153     type: "int"
   65154     has_minimum: true
   65155     minimum: 1
   65156   }
   65157   attr {
   65158     name: "num_sampled"
   65159     type: "int"
   65160     has_minimum: true
   65161     minimum: 1
   65162   }
   65163   attr {
   65164     name: "unique"
   65165     type: "bool"
   65166   }
   65167   attr {
   65168     name: "range_max"
   65169     type: "int"
   65170     has_minimum: true
   65171     minimum: 1
   65172   }
   65173   attr {
   65174     name: "seed"
   65175     type: "int"
   65176     default_value {
   65177       i: 0
   65178     }
   65179   }
   65180   attr {
   65181     name: "seed2"
   65182     type: "int"
   65183     default_value {
   65184       i: 0
   65185     }
   65186   }
   65187   is_stateful: true
   65188 }
   65189 op {
   65190   name: "Unique"
   65191   input_arg {
   65192     name: "x"
   65193     type_attr: "T"
   65194   }
   65195   output_arg {
   65196     name: "y"
   65197     type_attr: "T"
   65198   }
   65199   output_arg {
   65200     name: "idx"
   65201     type_attr: "out_idx"
   65202   }
   65203   attr {
   65204     name: "T"
   65205     type: "type"
   65206   }
   65207   attr {
   65208     name: "out_idx"
   65209     type: "type"
   65210     default_value {
   65211       type: DT_INT32
   65212     }
   65213     allowed_values {
   65214       list {
   65215         type: DT_INT32
   65216         type: DT_INT64
   65217       }
   65218     }
   65219   }
   65220 }
   65221 op {
   65222   name: "UniqueDataset"
   65223   input_arg {
   65224     name: "input_dataset"
   65225     type: DT_VARIANT
   65226   }
   65227   output_arg {
   65228     name: "handle"
   65229     type: DT_VARIANT
   65230   }
   65231   attr {
   65232     name: "output_types"
   65233     type: "list(type)"
   65234     has_minimum: true
   65235     minimum: 1
   65236   }
   65237   attr {
   65238     name: "output_shapes"
   65239     type: "list(shape)"
   65240     has_minimum: true
   65241     minimum: 1
   65242   }
   65243 }
   65244 op {
   65245   name: "UniqueV2"
   65246   input_arg {
   65247     name: "x"
   65248     type_attr: "T"
   65249   }
   65250   input_arg {
   65251     name: "axis"
   65252     type: DT_INT64
   65253   }
   65254   output_arg {
   65255     name: "y"
   65256     type_attr: "T"
   65257   }
   65258   output_arg {
   65259     name: "idx"
   65260     type_attr: "out_idx"
   65261   }
   65262   attr {
   65263     name: "T"
   65264     type: "type"
   65265   }
   65266   attr {
   65267     name: "out_idx"
   65268     type: "type"
   65269     default_value {
   65270       type: DT_INT32
   65271     }
   65272     allowed_values {
   65273       list {
   65274         type: DT_INT32
   65275         type: DT_INT64
   65276       }
   65277     }
   65278   }
   65279 }
   65280 op {
   65281   name: "UniqueV2"
   65282   input_arg {
   65283     name: "x"
   65284     type_attr: "T"
   65285   }
   65286   input_arg {
   65287     name: "axis"
   65288     type_attr: "Taxis"
   65289   }
   65290   output_arg {
   65291     name: "y"
   65292     type_attr: "T"
   65293   }
   65294   output_arg {
   65295     name: "idx"
   65296     type_attr: "out_idx"
   65297   }
   65298   attr {
   65299     name: "T"
   65300     type: "type"
   65301   }
   65302   attr {
   65303     name: "Taxis"
   65304     type: "type"
   65305     default_value {
   65306       type: DT_INT64
   65307     }
   65308     allowed_values {
   65309       list {
   65310         type: DT_INT32
   65311         type: DT_INT64
   65312       }
   65313     }
   65314   }
   65315   attr {
   65316     name: "out_idx"
   65317     type: "type"
   65318     default_value {
   65319       type: DT_INT32
   65320     }
   65321     allowed_values {
   65322       list {
   65323         type: DT_INT32
   65324         type: DT_INT64
   65325       }
   65326     }
   65327   }
   65328 }
   65329 op {
   65330   name: "UniqueWithCounts"
   65331   input_arg {
   65332     name: "x"
   65333     type_attr: "T"
   65334   }
   65335   output_arg {
   65336     name: "y"
   65337     type_attr: "T"
   65338   }
   65339   output_arg {
   65340     name: "idx"
   65341     type_attr: "out_idx"
   65342   }
   65343   output_arg {
   65344     name: "count"
   65345     type_attr: "out_idx"
   65346   }
   65347   attr {
   65348     name: "T"
   65349     type: "type"
   65350   }
   65351   attr {
   65352     name: "out_idx"
   65353     type: "type"
   65354     default_value {
   65355       type: DT_INT32
   65356     }
   65357     allowed_values {
   65358       list {
   65359         type: DT_INT32
   65360         type: DT_INT64
   65361       }
   65362     }
   65363   }
   65364 }
   65365 op {
   65366   name: "Unpack"
   65367   input_arg {
   65368     name: "value"
   65369     type_attr: "T"
   65370   }
   65371   output_arg {
   65372     name: "output"
   65373     type_attr: "T"
   65374     number_attr: "num"
   65375   }
   65376   attr {
   65377     name: "num"
   65378     type: "int"
   65379     has_minimum: true
   65380   }
   65381   attr {
   65382     name: "T"
   65383     type: "type"
   65384   }
   65385   attr {
   65386     name: "axis"
   65387     type: "int"
   65388     default_value {
   65389       i: 0
   65390     }
   65391   }
   65392 }
   65393 op {
   65394   name: "UnravelIndex"
   65395   input_arg {
   65396     name: "indices"
   65397     type_attr: "Tidx"
   65398   }
   65399   input_arg {
   65400     name: "dims"
   65401     type_attr: "Tidx"
   65402   }
   65403   output_arg {
   65404     name: "output"
   65405     type_attr: "Tidx"
   65406   }
   65407   attr {
   65408     name: "Tidx"
   65409     type: "type"
   65410     default_value {
   65411       type: DT_INT32
   65412     }
   65413     allowed_values {
   65414       list {
   65415         type: DT_INT32
   65416         type: DT_INT64
   65417       }
   65418     }
   65419   }
   65420 }
   65421 op {
   65422   name: "UnsortedSegmentMax"
   65423   input_arg {
   65424     name: "data"
   65425     type_attr: "T"
   65426   }
   65427   input_arg {
   65428     name: "segment_ids"
   65429     type_attr: "Tindices"
   65430   }
   65431   input_arg {
   65432     name: "num_segments"
   65433     type: DT_INT32
   65434   }
   65435   output_arg {
   65436     name: "output"
   65437     type_attr: "T"
   65438   }
   65439   attr {
   65440     name: "T"
   65441     type: "type"
   65442     allowed_values {
   65443       list {
   65444         type: DT_FLOAT
   65445         type: DT_DOUBLE
   65446         type: DT_INT32
   65447         type: DT_INT64
   65448         type: DT_UINT8
   65449         type: DT_INT16
   65450         type: DT_INT8
   65451         type: DT_UINT16
   65452         type: DT_HALF
   65453       }
   65454     }
   65455   }
   65456   attr {
   65457     name: "Tindices"
   65458     type: "type"
   65459     allowed_values {
   65460       list {
   65461         type: DT_INT32
   65462         type: DT_INT64
   65463       }
   65464     }
   65465   }
   65466 }
   65467 op {
   65468   name: "UnsortedSegmentMax"
   65469   input_arg {
   65470     name: "data"
   65471     type_attr: "T"
   65472   }
   65473   input_arg {
   65474     name: "segment_ids"
   65475     type_attr: "Tindices"
   65476   }
   65477   input_arg {
   65478     name: "num_segments"
   65479     type: DT_INT32
   65480   }
   65481   output_arg {
   65482     name: "output"
   65483     type_attr: "T"
   65484   }
   65485   attr {
   65486     name: "T"
   65487     type: "type"
   65488     allowed_values {
   65489       list {
   65490         type: DT_FLOAT
   65491         type: DT_DOUBLE
   65492         type: DT_INT32
   65493         type: DT_INT64
   65494         type: DT_UINT8
   65495         type: DT_INT16
   65496         type: DT_INT8
   65497         type: DT_UINT16
   65498         type: DT_HALF
   65499         type: DT_UINT32
   65500         type: DT_UINT64
   65501       }
   65502     }
   65503   }
   65504   attr {
   65505     name: "Tindices"
   65506     type: "type"
   65507     allowed_values {
   65508       list {
   65509         type: DT_INT32
   65510         type: DT_INT64
   65511       }
   65512     }
   65513   }
   65514 }
   65515 op {
   65516   name: "UnsortedSegmentMax"
   65517   input_arg {
   65518     name: "data"
   65519     type_attr: "T"
   65520   }
   65521   input_arg {
   65522     name: "segment_ids"
   65523     type_attr: "Tindices"
   65524   }
   65525   input_arg {
   65526     name: "num_segments"
   65527     type_attr: "Tnumsegments"
   65528   }
   65529   output_arg {
   65530     name: "output"
   65531     type_attr: "T"
   65532   }
   65533   attr {
   65534     name: "T"
   65535     type: "type"
   65536     allowed_values {
   65537       list {
   65538         type: DT_FLOAT
   65539         type: DT_DOUBLE
   65540         type: DT_INT32
   65541         type: DT_INT64
   65542         type: DT_UINT8
   65543         type: DT_INT16
   65544         type: DT_INT8
   65545         type: DT_UINT16
   65546         type: DT_HALF
   65547         type: DT_UINT32
   65548         type: DT_UINT64
   65549         type: DT_BFLOAT16
   65550       }
   65551     }
   65552   }
   65553   attr {
   65554     name: "Tindices"
   65555     type: "type"
   65556     allowed_values {
   65557       list {
   65558         type: DT_INT32
   65559         type: DT_INT64
   65560       }
   65561     }
   65562   }
   65563   attr {
   65564     name: "Tnumsegments"
   65565     type: "type"
   65566     default_value {
   65567       type: DT_INT32
   65568     }
   65569     allowed_values {
   65570       list {
   65571         type: DT_INT32
   65572         type: DT_INT64
   65573       }
   65574     }
   65575   }
   65576 }
   65577 op {
   65578   name: "UnsortedSegmentMax"
   65579   input_arg {
   65580     name: "data"
   65581     type_attr: "T"
   65582   }
   65583   input_arg {
   65584     name: "segment_ids"
   65585     type_attr: "Tindices"
   65586   }
   65587   input_arg {
   65588     name: "num_segments"
   65589     type_attr: "Tnumsegments"
   65590   }
   65591   output_arg {
   65592     name: "output"
   65593     type_attr: "T"
   65594   }
   65595   attr {
   65596     name: "T"
   65597     type: "type"
   65598     allowed_values {
   65599       list {
   65600         type: DT_FLOAT
   65601         type: DT_DOUBLE
   65602         type: DT_INT32
   65603         type: DT_UINT8
   65604         type: DT_INT16
   65605         type: DT_INT8
   65606         type: DT_INT64
   65607         type: DT_BFLOAT16
   65608         type: DT_UINT16
   65609         type: DT_HALF
   65610         type: DT_UINT32
   65611         type: DT_UINT64
   65612       }
   65613     }
   65614   }
   65615   attr {
   65616     name: "Tindices"
   65617     type: "type"
   65618     allowed_values {
   65619       list {
   65620         type: DT_INT32
   65621         type: DT_INT64
   65622       }
   65623     }
   65624   }
   65625   attr {
   65626     name: "Tnumsegments"
   65627     type: "type"
   65628     default_value {
   65629       type: DT_INT32
   65630     }
   65631     allowed_values {
   65632       list {
   65633         type: DT_INT32
   65634         type: DT_INT64
   65635       }
   65636     }
   65637   }
   65638 }
   65639 op {
   65640   name: "UnsortedSegmentSum"
   65641   input_arg {
   65642     name: "data"
   65643     type_attr: "T"
   65644   }
   65645   input_arg {
   65646     name: "segment_ids"
   65647     type_attr: "Tindices"
   65648   }
   65649   input_arg {
   65650     name: "num_segments"
   65651     type: DT_INT32
   65652   }
   65653   output_arg {
   65654     name: "output"
   65655     type_attr: "T"
   65656   }
   65657   attr {
   65658     name: "T"
   65659     type: "type"
   65660     allowed_values {
   65661       list {
   65662         type: DT_FLOAT
   65663         type: DT_DOUBLE
   65664         type: DT_INT64
   65665         type: DT_INT32
   65666         type: DT_UINT8
   65667         type: DT_UINT16
   65668         type: DT_INT16
   65669         type: DT_INT8
   65670         type: DT_COMPLEX64
   65671         type: DT_COMPLEX128
   65672         type: DT_QINT8
   65673         type: DT_QUINT8
   65674         type: DT_QINT32
   65675         type: DT_HALF
   65676       }
   65677     }
   65678   }
   65679   attr {
   65680     name: "Tindices"
   65681     type: "type"
   65682     allowed_values {
   65683       list {
   65684         type: DT_INT32
   65685         type: DT_INT64
   65686       }
   65687     }
   65688   }
   65689 }
   65690 op {
   65691   name: "UnsortedSegmentSum"
   65692   input_arg {
   65693     name: "data"
   65694     type_attr: "T"
   65695   }
   65696   input_arg {
   65697     name: "segment_ids"
   65698     type_attr: "Tindices"
   65699   }
   65700   input_arg {
   65701     name: "num_segments"
   65702     type: DT_INT32
   65703   }
   65704   output_arg {
   65705     name: "output"
   65706     type_attr: "T"
   65707   }
   65708   attr {
   65709     name: "T"
   65710     type: "type"
   65711     allowed_values {
   65712       list {
   65713         type: DT_FLOAT
   65714         type: DT_DOUBLE
   65715         type: DT_INT64
   65716         type: DT_INT32
   65717         type: DT_UINT8
   65718         type: DT_UINT16
   65719         type: DT_INT16
   65720         type: DT_INT8
   65721         type: DT_COMPLEX64
   65722         type: DT_COMPLEX128
   65723         type: DT_QINT8
   65724         type: DT_QUINT8
   65725         type: DT_QINT32
   65726         type: DT_HALF
   65727         type: DT_UINT32
   65728         type: DT_UINT64
   65729       }
   65730     }
   65731   }
   65732   attr {
   65733     name: "Tindices"
   65734     type: "type"
   65735     allowed_values {
   65736       list {
   65737         type: DT_INT32
   65738         type: DT_INT64
   65739       }
   65740     }
   65741   }
   65742 }
   65743 op {
   65744   name: "UnsortedSegmentSum"
   65745   input_arg {
   65746     name: "data"
   65747     type_attr: "T"
   65748   }
   65749   input_arg {
   65750     name: "segment_ids"
   65751     type_attr: "Tindices"
   65752   }
   65753   input_arg {
   65754     name: "num_segments"
   65755     type_attr: "Tnumsegments"
   65756   }
   65757   output_arg {
   65758     name: "output"
   65759     type_attr: "T"
   65760   }
   65761   attr {
   65762     name: "T"
   65763     type: "type"
   65764     allowed_values {
   65765       list {
   65766         type: DT_FLOAT
   65767         type: DT_DOUBLE
   65768         type: DT_INT64
   65769         type: DT_INT32
   65770         type: DT_UINT8
   65771         type: DT_UINT16
   65772         type: DT_INT16
   65773         type: DT_INT8
   65774         type: DT_COMPLEX64
   65775         type: DT_COMPLEX128
   65776         type: DT_QINT8
   65777         type: DT_QUINT8
   65778         type: DT_QINT32
   65779         type: DT_HALF
   65780         type: DT_UINT32
   65781         type: DT_UINT64
   65782         type: DT_BFLOAT16
   65783       }
   65784     }
   65785   }
   65786   attr {
   65787     name: "Tindices"
   65788     type: "type"
   65789     allowed_values {
   65790       list {
   65791         type: DT_INT32
   65792         type: DT_INT64
   65793       }
   65794     }
   65795   }
   65796   attr {
   65797     name: "Tnumsegments"
   65798     type: "type"
   65799     default_value {
   65800       type: DT_INT32
   65801     }
   65802     allowed_values {
   65803       list {
   65804         type: DT_INT32
   65805         type: DT_INT64
   65806       }
   65807     }
   65808   }
   65809 }
   65810 op {
   65811   name: "UnsortedSegmentSum"
   65812   input_arg {
   65813     name: "data"
   65814     type_attr: "T"
   65815   }
   65816   input_arg {
   65817     name: "segment_ids"
   65818     type_attr: "Tindices"
   65819   }
   65820   input_arg {
   65821     name: "num_segments"
   65822     type_attr: "Tnumsegments"
   65823   }
   65824   output_arg {
   65825     name: "output"
   65826     type_attr: "T"
   65827   }
   65828   attr {
   65829     name: "T"
   65830     type: "type"
   65831     allowed_values {
   65832       list {
   65833         type: DT_FLOAT
   65834         type: DT_DOUBLE
   65835         type: DT_INT32
   65836         type: DT_UINT8
   65837         type: DT_INT16
   65838         type: DT_INT8
   65839         type: DT_COMPLEX64
   65840         type: DT_INT64
   65841         type: DT_QINT8
   65842         type: DT_QUINT8
   65843         type: DT_QINT32
   65844         type: DT_BFLOAT16
   65845         type: DT_UINT16
   65846         type: DT_COMPLEX128
   65847         type: DT_HALF
   65848         type: DT_UINT32
   65849         type: DT_UINT64
   65850       }
   65851     }
   65852   }
   65853   attr {
   65854     name: "Tindices"
   65855     type: "type"
   65856     allowed_values {
   65857       list {
   65858         type: DT_INT32
   65859         type: DT_INT64
   65860       }
   65861     }
   65862   }
   65863   attr {
   65864     name: "Tnumsegments"
   65865     type: "type"
   65866     default_value {
   65867       type: DT_INT32
   65868     }
   65869     allowed_values {
   65870       list {
   65871         type: DT_INT32
   65872         type: DT_INT64
   65873       }
   65874     }
   65875   }
   65876 }
   65877 op {
   65878   name: "Unstage"
   65879   output_arg {
   65880     name: "values"
   65881     type_list_attr: "dtypes"
   65882   }
   65883   attr {
   65884     name: "dtypes"
   65885     type: "list(type)"
   65886     has_minimum: true
   65887     minimum: 1
   65888   }
   65889   attr {
   65890     name: "container"
   65891     type: "string"
   65892     default_value {
   65893       s: ""
   65894     }
   65895   }
   65896   attr {
   65897     name: "shared_name"
   65898     type: "string"
   65899     default_value {
   65900       s: ""
   65901     }
   65902   }
   65903   is_stateful: true
   65904 }
   65905 op {
   65906   name: "Unstage"
   65907   output_arg {
   65908     name: "values"
   65909     type_list_attr: "dtypes"
   65910   }
   65911   attr {
   65912     name: "capacity"
   65913     type: "int"
   65914     default_value {
   65915       i: 0
   65916     }
   65917     has_minimum: true
   65918   }
   65919   attr {
   65920     name: "memory_limit"
   65921     type: "int"
   65922     default_value {
   65923       i: 0
   65924     }
   65925     has_minimum: true
   65926   }
   65927   attr {
   65928     name: "dtypes"
   65929     type: "list(type)"
   65930     has_minimum: true
   65931     minimum: 1
   65932   }
   65933   attr {
   65934     name: "container"
   65935     type: "string"
   65936     default_value {
   65937       s: ""
   65938     }
   65939   }
   65940   attr {
   65941     name: "shared_name"
   65942     type: "string"
   65943     default_value {
   65944       s: ""
   65945     }
   65946   }
   65947   is_stateful: true
   65948 }
   65949 op {
   65950   name: "VarHandleOp"
   65951   output_arg {
   65952     name: "resource"
   65953     type: DT_RESOURCE
   65954   }
   65955   attr {
   65956     name: "container"
   65957     type: "string"
   65958     default_value {
   65959       s: ""
   65960     }
   65961   }
   65962   attr {
   65963     name: "shared_name"
   65964     type: "string"
   65965     default_value {
   65966       s: ""
   65967     }
   65968   }
   65969   attr {
   65970     name: "dtype"
   65971     type: "type"
   65972   }
   65973   attr {
   65974     name: "shape"
   65975     type: "shape"
   65976   }
   65977   is_stateful: true
   65978 }
   65979 op {
   65980   name: "VarIsInitializedOp"
   65981   input_arg {
   65982     name: "resource"
   65983     type: DT_RESOURCE
   65984   }
   65985   output_arg {
   65986     name: "is_initialized"
   65987     type: DT_BOOL
   65988   }
   65989   is_stateful: true
   65990 }
   65991 op {
   65992   name: "Variable"
   65993   output_arg {
   65994     name: "ref"
   65995     type_attr: "dtype"
   65996     is_ref: true
   65997   }
   65998   attr {
   65999     name: "shape"
   66000     type: "shape"
   66001   }
   66002   attr {
   66003     name: "dtype"
   66004     type: "type"
   66005   }
   66006   attr {
   66007     name: "container"
   66008     type: "string"
   66009     default_value {
   66010       s: ""
   66011     }
   66012   }
   66013   attr {
   66014     name: "shared_name"
   66015     type: "string"
   66016     default_value {
   66017       s: ""
   66018     }
   66019   }
   66020   is_stateful: true
   66021 }
   66022 op {
   66023   name: "VariableShape"
   66024   input_arg {
   66025     name: "input"
   66026     type: DT_RESOURCE
   66027   }
   66028   output_arg {
   66029     name: "output"
   66030     type_attr: "out_type"
   66031   }
   66032   attr {
   66033     name: "out_type"
   66034     type: "type"
   66035     default_value {
   66036       type: DT_INT32
   66037     }
   66038     allowed_values {
   66039       list {
   66040         type: DT_INT32
   66041         type: DT_INT64
   66042       }
   66043     }
   66044   }
   66045   is_stateful: true
   66046 }
   66047 op {
   66048   name: "VariableV2"
   66049   output_arg {
   66050     name: "ref"
   66051     type_attr: "dtype"
   66052     is_ref: true
   66053   }
   66054   attr {
   66055     name: "shape"
   66056     type: "shape"
   66057   }
   66058   attr {
   66059     name: "dtype"
   66060     type: "type"
   66061   }
   66062   attr {
   66063     name: "container"
   66064     type: "string"
   66065     default_value {
   66066       s: ""
   66067     }
   66068   }
   66069   attr {
   66070     name: "shared_name"
   66071     type: "string"
   66072     default_value {
   66073       s: ""
   66074     }
   66075   }
   66076   is_stateful: true
   66077 }
   66078 op {
   66079   name: "Where"
   66080   input_arg {
   66081     name: "input"
   66082     type: DT_BOOL
   66083   }
   66084   output_arg {
   66085     name: "index"
   66086     type: DT_INT64
   66087   }
   66088 }
   66089 op {
   66090   name: "Where"
   66091   input_arg {
   66092     name: "input"
   66093     type_attr: "T"
   66094   }
   66095   output_arg {
   66096     name: "index"
   66097     type: DT_INT64
   66098   }
   66099   attr {
   66100     name: "T"
   66101     type: "type"
   66102     default_value {
   66103       type: DT_BOOL
   66104     }
   66105     allowed_values {
   66106       list {
   66107         type: DT_FLOAT
   66108         type: DT_DOUBLE
   66109         type: DT_INT64
   66110         type: DT_INT32
   66111         type: DT_UINT8
   66112         type: DT_UINT16
   66113         type: DT_INT16
   66114         type: DT_INT8
   66115         type: DT_COMPLEX64
   66116         type: DT_COMPLEX128
   66117         type: DT_QINT8
   66118         type: DT_QUINT8
   66119         type: DT_QINT32
   66120         type: DT_HALF
   66121         type: DT_UINT32
   66122         type: DT_UINT64
   66123         type: DT_BOOL
   66124       }
   66125     }
   66126   }
   66127 }
   66128 op {
   66129   name: "Where"
   66130   input_arg {
   66131     name: "input"
   66132     type_attr: "T"
   66133   }
   66134   output_arg {
   66135     name: "index"
   66136     type: DT_INT64
   66137   }
   66138   attr {
   66139     name: "T"
   66140     type: "type"
   66141     default_value {
   66142       type: DT_BOOL
   66143     }
   66144     allowed_values {
   66145       list {
   66146         type: DT_FLOAT
   66147         type: DT_DOUBLE
   66148         type: DT_INT64
   66149         type: DT_INT32
   66150         type: DT_UINT8
   66151         type: DT_UINT16
   66152         type: DT_INT16
   66153         type: DT_INT8
   66154         type: DT_COMPLEX64
   66155         type: DT_COMPLEX128
   66156         type: DT_QINT8
   66157         type: DT_QUINT8
   66158         type: DT_QINT32
   66159         type: DT_HALF
   66160         type: DT_UINT32
   66161         type: DT_UINT64
   66162         type: DT_BFLOAT16
   66163         type: DT_BOOL
   66164       }
   66165     }
   66166   }
   66167 }
   66168 op {
   66169   name: "Where"
   66170   input_arg {
   66171     name: "input"
   66172     type_attr: "T"
   66173   }
   66174   output_arg {
   66175     name: "index"
   66176     type: DT_INT64
   66177   }
   66178   attr {
   66179     name: "T"
   66180     type: "type"
   66181     default_value {
   66182       type: DT_BOOL
   66183     }
   66184     allowed_values {
   66185       list {
   66186         type: DT_FLOAT
   66187         type: DT_DOUBLE
   66188         type: DT_INT32
   66189         type: DT_UINT8
   66190         type: DT_INT16
   66191         type: DT_INT8
   66192         type: DT_COMPLEX64
   66193         type: DT_INT64
   66194         type: DT_QINT8
   66195         type: DT_QUINT8
   66196         type: DT_QINT32
   66197         type: DT_BFLOAT16
   66198         type: DT_UINT16
   66199         type: DT_COMPLEX128
   66200         type: DT_HALF
   66201         type: DT_UINT32
   66202         type: DT_UINT64
   66203         type: DT_BOOL
   66204       }
   66205     }
   66206   }
   66207 }
   66208 op {
   66209   name: "WholeFileReader"
   66210   output_arg {
   66211     name: "reader_handle"
   66212     type: DT_STRING
   66213     is_ref: true
   66214   }
   66215   attr {
   66216     name: "container"
   66217     type: "string"
   66218     default_value {
   66219       s: ""
   66220     }
   66221   }
   66222   attr {
   66223     name: "shared_name"
   66224     type: "string"
   66225     default_value {
   66226       s: ""
   66227     }
   66228   }
   66229   is_stateful: true
   66230 }
   66231 op {
   66232   name: "WholeFileReaderV2"
   66233   output_arg {
   66234     name: "reader_handle"
   66235     type: DT_RESOURCE
   66236   }
   66237   attr {
   66238     name: "container"
   66239     type: "string"
   66240     default_value {
   66241       s: ""
   66242     }
   66243   }
   66244   attr {
   66245     name: "shared_name"
   66246     type: "string"
   66247     default_value {
   66248       s: ""
   66249     }
   66250   }
   66251   is_stateful: true
   66252 }
   66253 op {
   66254   name: "WriteFile"
   66255   input_arg {
   66256     name: "filename"
   66257     type: DT_STRING
   66258   }
   66259   input_arg {
   66260     name: "contents"
   66261     type: DT_STRING
   66262   }
   66263 }
   66264 op {
   66265   name: "ZerosLike"
   66266   input_arg {
   66267     name: "x"
   66268     type_attr: "T"
   66269   }
   66270   output_arg {
   66271     name: "y"
   66272     type_attr: "T"
   66273   }
   66274   attr {
   66275     name: "T"
   66276     type: "type"
   66277   }
   66278 }
   66279 op {
   66280   name: "Zeta"
   66281   input_arg {
   66282     name: "x"
   66283     type_attr: "T"
   66284   }
   66285   input_arg {
   66286     name: "q"
   66287     type_attr: "T"
   66288   }
   66289   output_arg {
   66290     name: "z"
   66291     type_attr: "T"
   66292   }
   66293   attr {
   66294     name: "T"
   66295     type: "type"
   66296     allowed_values {
   66297       list {
   66298         type: DT_FLOAT
   66299         type: DT_DOUBLE
   66300       }
   66301     }
   66302   }
   66303 }
   66304 op {
   66305   name: "ZipDataset"
   66306   input_arg {
   66307     name: "input_datasets"
   66308     type: DT_VARIANT
   66309     number_attr: "N"
   66310   }
   66311   output_arg {
   66312     name: "handle"
   66313     type: DT_VARIANT
   66314   }
   66315   attr {
   66316     name: "output_types"
   66317     type: "list(type)"
   66318     has_minimum: true
   66319     minimum: 1
   66320   }
   66321   attr {
   66322     name: "output_shapes"
   66323     type: "list(shape)"
   66324     has_minimum: true
   66325     minimum: 1
   66326   }
   66327   attr {
   66328     name: "N"
   66329     type: "int"
   66330     has_minimum: true
   66331     minimum: 1
   66332   }
   66333   is_stateful: true
   66334 }
   66335 op {
   66336   name: "ZipDataset"
   66337   input_arg {
   66338     name: "input_datasets"
   66339     type: DT_VARIANT
   66340     number_attr: "N"
   66341   }
   66342   output_arg {
   66343     name: "handle"
   66344     type: DT_VARIANT
   66345   }
   66346   attr {
   66347     name: "output_types"
   66348     type: "list(type)"
   66349     has_minimum: true
   66350     minimum: 1
   66351   }
   66352   attr {
   66353     name: "output_shapes"
   66354     type: "list(shape)"
   66355     has_minimum: true
   66356     minimum: 1
   66357   }
   66358   attr {
   66359     name: "N"
   66360     type: "int"
   66361     has_minimum: true
   66362     minimum: 1
   66363   }
   66364 }
   66365