Maitre_yoda_models/yoda17.pbtxt

28182 lines
468 KiB
Plaintext

node {
name: "net_input"
op: "Placeholder"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: -1
}
dim {
size: 29
}
dim {
size: 13
}
}
}
}
}
node {
name: "net/random_uniform/shape"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\r\000\000\000<\000\000\000"
}
}
}
}
node {
name: "net/random_uniform/min"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: -0.2866911
}
}
}
}
node {
name: "net/random_uniform/max"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.2866911
}
}
}
}
node {
name: "net/random_uniform/RandomUniform"
op: "RandomUniform"
input: "net/random_uniform/shape"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "seed"
value {
i: 87654321
}
}
attr {
key: "seed2"
value {
i: 9624109
}
}
}
node {
name: "net/random_uniform/sub"
op: "Sub"
input: "net/random_uniform/max"
input: "net/random_uniform/min"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/random_uniform/mul"
op: "Mul"
input: "net/random_uniform/RandomUniform"
input: "net/random_uniform/sub"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/random_uniform"
op: "Add"
input: "net/random_uniform/mul"
input: "net/random_uniform/min"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/kernel"
op: "VariableV2"
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 13
}
dim {
size: 60
}
}
}
}
attr {
key: "shared_name"
value {
s: ""
}
}
}
node {
name: "net/kernel/Assign"
op: "Assign"
input: "net/kernel"
input: "net/random_uniform"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/kernel"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "net/kernel/read"
op: "Identity"
input: "net/kernel"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/kernel"
}
}
}
}
node {
name: "net/recurrent_kernel/initial_value"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
size: 20
}
dim {
size: 60
}
}
tensor_content: "\"\036\251\276ym\222=;EB\276q\272\005>\355W\001>p\307^=LD\221=\027U\314<\376\236\250\275\230\204\013>\305=\031\276g\306\330=;8\037\276\010\215\t>\201\000(>\300\326\337\275F@\275\275\214\212\016\276\351!\216\275\'?\024=j1Q\276`\317\006:o4U>\177\n\344\275\024t\231=OD\201=\\\326\232\276\003^\367\274\350\362\200;\211\240\215\275\20168>\234X\014\276\217\262\02393\232\326\274\362\273\'\275u{N\273\350\253\207\275\355k\317=Q\227\320\275#\321\031\276 \233\225\273\246Y\341=\2525\210\274\265\320d\276\366c\341=\224\327\022\275D\333\210>\034\177\223\275\r\243`\276rRB\276\021\r\244=%\213+\276\256\247\266=F\204\037\276VS2=c{8\275\010D\273\275\326\254d=\350\027h=x\217\252=\007b\230\275\344\340\326=\356d\315=\216\276\340\275\021\356\026>\271\244\253\274\202\002\003\275\'\314a=30\010\276\322^\250<!pm\275\2430\030>\263\222\273<z\331\232>\321\203\363<\217[!>\255A\037\276={1<\024\332\331\275[D\217\275\222+\240\274\334\364:\274+a\232=\273\261\322\275O\317\177\276\335d\253\275\307\030=>\311\325\023\276\020\002Y\2762\202\031>p.!>.\007\327\273\244XQ\276(f\333=\376.\030>D\236\\\276[b\367\273\2364\022;%\274x\276\270|h=\034\315\002>s\025\231;\237\344i\276+\273u>+\3511\276~9\033=n\265\221\275?\326 >\2541\013=\001i\375\275\201<\354\275m\0106>\215e\000>\226\007\005\276\206\323(>.\335\030\275\221I\273<\354D/\273\317\274\026=z\235\202=\026T\030>s=\002\276z\2645=VKf=-=#\276)\225\003>\336\2568>\007y=>\340\273/\276\213\273_\273\013J\024\276\360\010R\275i\274\330\275\340\2140>\250\272\355\275\260\247\356=\255\312\t>jN\343\275\372d\241=8\333)\274\177\033\026\274\265\200\031\276\266\353\247=o\r\020\276:\222\r=\241(s=1\335\000=\2741\211\276\2233\005\276`\324\010\276C/\224\274\376\245\005=O\0056>\2639|\276\240:\027\276M\214\221\275\357\235V\275\250*6>\032VL>Y\327\t>C\3416>\035\321->\001\247K\276\340<+\276\245GF=\'U\220;I\0213\275\327\374\361\275s7\222=6dJ>y\346\203\276\2419\256=[Z\325=i\260\367\2741\"z\275\334J0\276\220\236{=\216\2731=\\?\343\274/\035 \274\317\nV=\265\234\021>\'\335\251\275\216\ng>\233\244\237\276[\355\370=\361\232\306=\272\310\363\274f\334v\275J\374C\276:\334\367=TZ\274<\0025\246\275\212\273l\276_\331X>\276\300\246=\002G\301\275\307#1\276\013hW\276\215\357u>x\377?>\354\302\236\274\252\274\206\275;y\337\274\325h\005>\375\035\210=\367s^>N\262\302\275f\257\024\275\357N\234\274\302\030{\275\223\277\361=\273\034\371\275@\2123<\276\204\r>\244\251\204<j!\003=\375\254;>@\210\320\275U\017\004\275\001\022\331=\032\322`>\361\013\263=\215\310c=-\231\344<0X-\275[\345\035>\022\373=\275\255\300\004>+td<f\373\033>\026E\324=\360\000\263\274\333\350]\276U\332:>%\0366>\351df<\010\207\212==\362\004\275sRt=?p\314\275K:U\276\266Z\007\276S\037\246\275\202\312\357\275\337h\351\275\013\271x=v\341q\275_\032A>\340\031\236>\026\346\002\275ju\375\275\024T\023<yP\235\274\224\312\202>\030w\201=\2618\026>\303\177H>\250\2365\274\240a6\276o/z:\263^\240=\371\233S\275\216\205\341=\237\027\320=!`2>S\232\361=\375R\313\2752\034\003>\270:\344:w\211\002>MU\303=\230v|\275T\000\371\274U(\341\274tb\361\275T\302\323=Z\036H=d\022\221\276\320e\261\274\205\365\235<\262Tq\276\375\211\365<\344\324Z\276n\376N<U\257\007\276\027\334\254<\211\344\236\275\035-\007>7\222<>cF!\276:\341K>\253I\'>\225\237B\274\3755\263=#\036\252=S\231\016\276\232\005\235=R\014\031<o\0303>\350\211\212>\321\334H\275\201N\240<\306\361\264\275\314R\t>qI\030\275x\031W\275\247\257\302\272rp7=\373\215\002>\251n\233\274\375_\034\275\357D\032\276\004\315\303=\354=\213\276O\237\215\275<\271\027\275\361\210\203=\264D\013\276\241\364A\275y\002\274=\234W\235>\033\323\245\275f\275b\275A\265\233<\227\2434>\276@4\275\234R\234=\270L&\273g\354\242=&OL>\257B\257>\323\311\005\2764\370\214\275\220\001\005=\337\262\003\275\341\227\032>8Ny\274\267\234\265=B\302\211\275\3521\030=qJ\210>\343\312\230\273\314\261\323\275<\372\026>\316\366@=}\210\007>+i\233=\030\324\334\275\244=S\275\331\206\216\275L.\002\274\204,\274;\275\241\"\276\302\032,\276\036U\223>\263\262[>\367\"\010\276\355\314,=U\010\335=\335Pq=\013\255\214\275}r\333\275\013z\233>\202\227\277=O\\\212\275\002\254M\272Eb$=*\350\326;%\2509>\345\002\000<\327E\264\275KbO>\037\212\014;\037\352]>\'@\272=\3630\352\275o`\335=\311\233\210=\266\250\215\275\315\277i>f\036m\276\014\034\027\275\310\254\223\275{\000\355=A\217\202\276\354\r\275<\016|\251=\006g\212\276\250J?=\305V\210\275\005\016\247\273,\272g=Be\020\276\251\327a\275\271\331\003>W\370t>-\013\037\276a\373\275\275\037l\273\275>\356\n>T\374\275=\327+\234\275[\201\333=\211\337\216=\366\234\334\275P/\325=a\221\214=%Ny\276a\205\276=b\r\025\275%\370\270<c\342\005\276\246E\204<;\263\020\276p\247\235\275\271\213\027\274\375\273s\276EO\346=\372\305 >B\336-=\274\271u=>p\2519w\007r\275\262m\211\275%\321C<\321jS>\332\353\323\273\366F\363\275%\264\t\272\243w\361\275X\314\t=\356\314\016>5\235\024<p\322;=I\256\235<\244\221\272\273\236\340\255\276\206^4>_\016\230\275\211\0018>\275\325\264=\370B\n=\317\266\236>u~\003\275\343i.>\256\004\322\275\023`\264=@\315\t=\336\230\374\275|,>>\341\324\273<O\'\325;/\314\370=\0220\354\275\215u\007>\230\366\005\276X\324\013\276\n\260&\276\325\306\'\275\303?Z>\302\315t\275\347&\312\275\004\217\207\275\010\251z\275\313OB=\263\207\276\274\235\333\271\275\035w\201<p\247\031\276\306\205\016>p\213\262>\302\261F\276\025\212\271=\360q\024\276\226\037\206\274\022\355E>g\017*\275\rn[>g}\252\274dM\215\275|\275\206>w\243\303<V\267`\275\300=\307\275v\211\303\275\032\277\210=\023+\244=Q\264\372<\013\250\223\275m:)>7y\220<\325\270\017=\205\370G>|:$\275L\236\234\275\261\3136=\026\226(>\3350\317<\313\230$\275\372x\204\275\0277<>\307\006\250\275\365d\357=\364,}=k\334^<A\010\032\276\235\374\325\274\306IG\275]\233O\275Uy6\276\272=F\276\333\236\\\275\016\232\025\276\016T\002>\326\002\304=\342\375*\276\375\337\327=-X\323=\334]\225\275\354\241U>\335f\017\275q\202\014>\223d\324<n\211\237\276\000b\222\275\220\236=>a\315]>\322=l=\224a\211>\325.\257=\217\321\205=\177\216#>&\t\"\276s\220\213\276\320\350\347\274D1\377\273E\001o\275\320\027\023>Q\3647>\206^<\275\253O\250< ,@=h\3717\275\212B\222\275\364p\323=\256M\363=\335\335\277\274\257+\020>\3564l=\363\300\246=\211N\t\275\330\313\350=\302C\236<f\221X\275\276\323\034>3\3139=4\327\316\275\353\245\331\275K\'`\275\262P\346\273\200\007\227\275z\362a\275,R\252\275{\227\r>\236\226\037\276\210N\225<\235\360\314>\244`\215=\255\315/\276H\002\274\275\202\261\346\275ES\016\274\320d\013\275\303\3201=q*U\275\320\003\221\275\341\274\223=\253\3008\276\nC1>\275D\276=\217\332\302\273>\330\014\275\253\244\262\275\032\323\r>M\254e>*\003\220=\301`\237=u@\246\275\337\230\363\275&\352\370\274\275\375\262=\3270\356>\366\217\360<\366\027.\275:\024\343=\226\265\267=\336?\200\276\377k\034\276JKz\276\226\250\027>\224\371\022>R\254\212>\353\366\351=:\277&=\250ps\276v\204,>\333\002`>MhH>\277\3551>\261\353\002=-?u\274\317\257!\276\255\375\352\275u-.=t\032\006>\256\251\207\275\272\025\363\275VR\001>\177\277\254\274\375[0\276\271\302O\276\354\235\"\2764\333\n\275\364\376\032>\3707\275=UY\271<\274Y\013\275\"\325\004\276\2057\276>\n\030N>\251.B=P\256\226=\316\\G>\r\266\r>]\363\033>\222e\233\275\210\220\343= \024\322<E }=\236\317\216\275\232\230\035\275\263\373\023>7O\315\275\303\037\276<\207\273\266\274\013\245\022\275\325\365\r=?A\363<\377\311\002\275Ynt=\247\216|\275R\350\005>/!\211\273\255\337\263\274\374m\002\2760/f=\226\t\220<\224\221C>.\264\372\275\352\307\225\275\305\003*\276b\345\323=\n\222\331\273\214\t\242\274\277\222I\276\3256\222\275ICM\276\3015B=I\210\373=\013\356\261=\317\264\344\274wJ\373\274\332Xl=\031\034?<\335{\234=\353\025>=\266\317\030\27675\232=\236k\n>]>\251=\255\215\211=\321]\004=\200\217D\274y\260\033=Q-\233\2747\030}\274\0160\217\276\223X\332\274H\030\251\275b\244\253\275\031\376\272\275Z\364G>\274\t\205\276\253\017\303\275\272\211\340\275\0205\266\274\2648\256\274\245\255\346<2\027\362=\342\236%\276\260\312J\275ACD>\221\315\265\275~I\006\276\317\307\024\274\250\214,\276pK{>/\236i\276\242\004\372\275U*\023>\364\215\366=9\263\200\275s\361\205\276V\314\201>\257\206\004>D\2278>\353\027*\276\200\313\031>\270\261\342\275\342\323\010;\255#\n=\313\rb\275\213\"@=\204\266!\275\3738(\275c\031\326=.\3244\276=\t\305\276\220\320`\271MBy>\007j\021\276~\010\207\276\363c\003\276\3405\344\275\367\315@=K\200z>\352,$>\0215\274=\227\333\014\276\255\240\371\275P-+\276\\\016\222\275\313^]\275\035X\210<@\370\353\274\206\226\346\275\345\214\357\275z\343\037=\346\r\r\2762\031W<\374\246\362=\247\314\254\2758\275\357=\002\2156>z\342\020>)\3228\276\030\233J=\271\324q\275\252\301?\276\007\265j\275B\262+\274\306T\005\276~\021\007=x!\320=\357B\016>\373\240\271\275\003z\031>\'\203\262\275l\251\245\2758v\257\275\356\274\333=2\177o\275\030\350\264=\264\253\304=\025\301\210=D\3213\276\344\221x\276\357(\332=\tI\256= \203\267=\177\274w\276i\017\351=\264\365w>\332\325\257<3\213O<\267\3452>P\n(>\317\272L=\247\241.\276\034\277\364\274\367\346V\275n\315\204>i\233\332\275F\n\251\275\224\276\273\275\375\2726\275\351\017\003=\241Y\330=c\n.\276\234Ni\276E\257\032>\312\345\036>\233^\026\275t;\347\274u\232\254\275P\002b\276\210fb\276V\356\217\275^\026\264\274\263p3\276\272\002\237=\366l0>\177\304/>\372\221\267=\"\204\230\274\010\007h\275\027J\212\275\243\324\213\276S~J\275\230^:\274L\343\270;\0379\214\274\002\r\343=;\223\242\274\303h\301\275\323\002_\275\224\252\014\276\215\321\271=\340i(\27507;\273W\340\237\275\376\320\326=\374\350>\276\272\343Q\275t\362\257>\341\026>=Z\265\357\274\340\2148\275\365\336\272\273\327\003\223\275\\\240\232\274O\3538\275\221\2461>\002\261o=oN\273=V$\254\275y\230\240\276va5\276\212\246\316>\225\000\'<\001\250R=hR\007;\374\312p\276`\370:\276\325\020\274\275I%\372\275\211\316\300\275s9-\276\037h\306\2753\370\357\275;\236n>\267\177Y\275V\301\252=\374-\260=(%\241\274\362C\301=\314/\270\275\023H\361=\320\0073=\2618\004\276\320\202\017\275\322\215\247=\307\016D=H0j=\335\260\347=n\236\302\275#1\225\273\307\323\255\275\244\3455>@\034\024>\277\236\001=l\367\021\275\370\272Z>\306Vj=\201\006i\274_\332\017\274\031E\033\275\022\201\224<\341M\031>5\355\354\275\355\n\236\2752\374\210=]\305g\275\207rP\274\266\023\222\276b\026m>z\331\275=\272\034\326=\214\340/\275f\344\313=Y%\241=W\273\240=\315\244\236\274_\337\n>\213\217\246=\274q\200>\006\302@\276\322\330\264<\302\2564<\257\336G\274\0027\357\275\252<\036>\343\304H<\323\350\036=4\365\320\275\271h\347=\001;\262\273\200\347~\274\007\r\'>\010\023\033\276\nl\270\275\357\371o>3z\207>a\247\230=E\033\307\275\241\232^\274/\371^>\013\315\277=n\001\207>\3569<\274\341\014\275;S\221&>\3348\216=@\262\242=\374Y=\276\335n\216<\311\263\256=\303\273\">\304\313\314\275\016\036+>\322`M\272\024\177G\275\350\272\n\276R\265\322\274G\"]\272ha\240;\355\013\371=A\233\317=\212\246\234<?\274\030\276\350|\014\275\310x(\276`\016\n\276\214o\222>\303\216e\2759\316\363=b\216-\276\227\203\035\276\366Ku>\'>(> \207\244\275\315\215}\276\230m\373=\312\2771\276+\025\037\275\200\rR=\246c\313\275\031\201\346=\343\270\221=\322\230\216\275\016\337\014\27649\375\274\221\225Q\275\037t\024>Ma,>\215%Z\276u\366\373=X\265\305=\024\3078;N\303\273\275\006\252\276<=\030\276\275\277\363\306<\310D\216\276JD\213\275\311\026\300<\203\313\305<\315fS>$\322u;\242\336\363\273\035\001^\276\3036\354;-\007\3129C\237\235=%\235[=\263O\325\274\016N\242\275\333\360\261>=o|\275];0\276\024\020 =\3247d\276\372\353+<\nM\251\275a\260\376<\257U\253=\251\230\261\274@\260\024>\362\344\255\276\302\"\361\275+*\347=\275D\340=\300\271m\276\255+\000\276\226M\236\274\261\236Z=hx\017=\363\350\224=\214r\243;(g\235;x\272\216\275F\313\210\275\014\344\325=\366-\276\275J\002\376=n\242\022\275\246\002\241\276\346\000\251\275\205\206\017\276\037\275\306\275\333\207a>\013\321\007=\206\032H>\036I\027\275\025\301\321\275rV\206=\312Sz=\235+Y>\024\024\245<_\214g\276\202\035\024\276T\032\237\275\316\205V\276\331#j=l82<GD\035=J0\034\274B\2339\275\001E\177>\374\362j=\216\252\370\274-6\023\275/N\330\2745\263\230\275\377O_>4\352\244=\236\210z\276\243rF=,P$>\325]X<6\261\243\275\3023x=?\261w\275dEd<\367T\314=\300\"Y>A\256\377;\247\370\305=\220@\312=\276]\364=(8\021>\325\035\023>g\2260>\244\226\021>\364>o>c\214[>\007\304\235=\3765d=\366T\r>\201u\034>\027Ek\276\023\314J<\264\236~\275\360\340\'\276\026`\207=\263\213\302:\302e\n\276\010\352\216\275\200\342\004\276Kc&>\245\032(\276\360\206C=\335\217\335=\211\022\327;\211T1\2767\244\201\276&U\371\274\370\177k\275\2345\200>\341UG\275Tz\276\275Z\\\t\276\017\360\004<\266\300V\274\257\026\332=,\323i=\273\331+\2755!\342=\016\312\024>7\261}>\260\322\320\274m\266P>\303n\256\275\2217T=\030\1771\275\004\371\\\276\333o\\=\264:b\276<\371i=x\302\346=w\033\200\275\332!\243<q\351R=9\245\t\276\312\247%\276\216\232\302=\253\372\350=\332\027\220\276\262\303\306\275\233\376=\276\371\030\305\2757\3506\274\"~6>\203%Y\276\213F\340<+\335\020\276x\0178=\367\252\237\275\'\177\263\274\206\336\330=\032\331n\275\017\270~\275H\271K>x\356m>\030\316\026\276<!\003=\254\263%\274\346w\205\275\322\026\030\275\360\244\':URk\275p\255\000>\361\t\365=\030\033\031\276E\201A=2\023\024\276\251w~=\360\356 \275\037\025\224\275\031\206e\275\321\001\277\275\304\220\'\276\306\314&>\340\274\005>\346\317\303>\373\323q>\213\324\204<\030\206\005\276C1\242\276\202I$\275F\3736\276\030\235d=\016\3275>\373\022A\276\374uZ\276\316\014j\275\327\026\266<\273\214\363=\351\341\"\276NJ\265\2748\272\300=\342)\032>\202r\331=\356a\212\274\242?\270;d\273\331=_\346\351;\367\277!=\236\206\246\275\366>\037=\362\244Q\275\2443\031>\333p8>e\tS>\304\006P<o\376\310;Not\274m\237\372<\311!\312="
}
}
}
}
node {
name: "net/recurrent_kernel"
op: "VariableV2"
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 20
}
dim {
size: 60
}
}
}
}
attr {
key: "shared_name"
value {
s: ""
}
}
}
node {
name: "net/recurrent_kernel/Assign"
op: "Assign"
input: "net/recurrent_kernel"
input: "net/recurrent_kernel/initial_value"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/recurrent_kernel"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "net/recurrent_kernel/read"
op: "Identity"
input: "net/recurrent_kernel"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/recurrent_kernel"
}
}
}
}
node {
name: "net/Const"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
size: 60
}
}
float_val: 0.0
}
}
}
}
node {
name: "net/bias"
op: "VariableV2"
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 60
}
}
}
}
attr {
key: "shared_name"
value {
s: ""
}
}
}
node {
name: "net/bias/Assign"
op: "Assign"
input: "net/bias"
input: "net/Const"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/bias"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "net/bias/read"
op: "Identity"
input: "net/bias"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/bias"
}
}
}
}
node {
name: "net/strided_slice/stack"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\000\000\000\000\000\000\000\000"
}
}
}
}
node {
name: "net/strided_slice/stack_1"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\000\000\000\000\024\000\000\000"
}
}
}
}
node {
name: "net/strided_slice/stack_2"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\001\000\000\000\001\000\000\000"
}
}
}
}
node {
name: "net/strided_slice"
op: "StridedSlice"
input: "net/kernel/read"
input: "net/strided_slice/stack"
input: "net/strided_slice/stack_1"
input: "net/strided_slice/stack_2"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "begin_mask"
value {
i: 3
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 1
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 0
}
}
}
node {
name: "net/strided_slice_1/stack"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\000\000\000\000\000\000\000\000"
}
}
}
}
node {
name: "net/strided_slice_1/stack_1"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\000\000\000\000\024\000\000\000"
}
}
}
}
node {
name: "net/strided_slice_1/stack_2"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\001\000\000\000\001\000\000\000"
}
}
}
}
node {
name: "net/strided_slice_1"
op: "StridedSlice"
input: "net/recurrent_kernel/read"
input: "net/strided_slice_1/stack"
input: "net/strided_slice_1/stack_1"
input: "net/strided_slice_1/stack_2"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "begin_mask"
value {
i: 3
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 1
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 0
}
}
}
node {
name: "net/strided_slice_2/stack"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\000\000\000\000\024\000\000\000"
}
}
}
}
node {
name: "net/strided_slice_2/stack_1"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\000\000\000\000(\000\000\000"
}
}
}
}
node {
name: "net/strided_slice_2/stack_2"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\001\000\000\000\001\000\000\000"
}
}
}
}
node {
name: "net/strided_slice_2"
op: "StridedSlice"
input: "net/kernel/read"
input: "net/strided_slice_2/stack"
input: "net/strided_slice_2/stack_1"
input: "net/strided_slice_2/stack_2"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "begin_mask"
value {
i: 1
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 1
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 0
}
}
}
node {
name: "net/strided_slice_3/stack"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\000\000\000\000\024\000\000\000"
}
}
}
}
node {
name: "net/strided_slice_3/stack_1"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\000\000\000\000(\000\000\000"
}
}
}
}
node {
name: "net/strided_slice_3/stack_2"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\001\000\000\000\001\000\000\000"
}
}
}
}
node {
name: "net/strided_slice_3"
op: "StridedSlice"
input: "net/recurrent_kernel/read"
input: "net/strided_slice_3/stack"
input: "net/strided_slice_3/stack_1"
input: "net/strided_slice_3/stack_2"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "begin_mask"
value {
i: 1
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 1
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 0
}
}
}
node {
name: "net/strided_slice_4/stack"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\000\000\000\000(\000\000\000"
}
}
}
}
node {
name: "net/strided_slice_4/stack_1"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\000\000\000\000\000\000\000\000"
}
}
}
}
node {
name: "net/strided_slice_4/stack_2"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\001\000\000\000\001\000\000\000"
}
}
}
}
node {
name: "net/strided_slice_4"
op: "StridedSlice"
input: "net/kernel/read"
input: "net/strided_slice_4/stack"
input: "net/strided_slice_4/stack_1"
input: "net/strided_slice_4/stack_2"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "begin_mask"
value {
i: 1
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 3
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 0
}
}
}
node {
name: "net/strided_slice_5/stack"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\000\000\000\000(\000\000\000"
}
}
}
}
node {
name: "net/strided_slice_5/stack_1"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\000\000\000\000\000\000\000\000"
}
}
}
}
node {
name: "net/strided_slice_5/stack_2"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\001\000\000\000\001\000\000\000"
}
}
}
}
node {
name: "net/strided_slice_5"
op: "StridedSlice"
input: "net/recurrent_kernel/read"
input: "net/strided_slice_5/stack"
input: "net/strided_slice_5/stack_1"
input: "net/strided_slice_5/stack_2"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "begin_mask"
value {
i: 1
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 3
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 0
}
}
}
node {
name: "net/strided_slice_6/stack"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 0
}
}
}
}
node {
name: "net/strided_slice_6/stack_1"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 20
}
}
}
}
node {
name: "net/strided_slice_6/stack_2"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 1
}
}
}
}
node {
name: "net/strided_slice_6"
op: "StridedSlice"
input: "net/bias/read"
input: "net/strided_slice_6/stack"
input: "net/strided_slice_6/stack_1"
input: "net/strided_slice_6/stack_2"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "begin_mask"
value {
i: 1
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 0
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 0
}
}
}
node {
name: "net/strided_slice_7/stack"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 20
}
}
}
}
node {
name: "net/strided_slice_7/stack_1"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 40
}
}
}
}
node {
name: "net/strided_slice_7/stack_2"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 1
}
}
}
}
node {
name: "net/strided_slice_7"
op: "StridedSlice"
input: "net/bias/read"
input: "net/strided_slice_7/stack"
input: "net/strided_slice_7/stack_1"
input: "net/strided_slice_7/stack_2"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "begin_mask"
value {
i: 0
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 0
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 0
}
}
}
node {
name: "net/strided_slice_8/stack"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 40
}
}
}
}
node {
name: "net/strided_slice_8/stack_1"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 0
}
}
}
}
node {
name: "net/strided_slice_8/stack_2"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 1
}
}
}
}
node {
name: "net/strided_slice_8"
op: "StridedSlice"
input: "net/bias/read"
input: "net/strided_slice_8/stack"
input: "net/strided_slice_8/stack_1"
input: "net/strided_slice_8/stack_2"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "begin_mask"
value {
i: 0
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 1
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 0
}
}
}
node {
name: "net/zeros_like"
op: "ZerosLike"
input: "net_input"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/Sum/reduction_indices"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\001\000\000\000\002\000\000\000"
}
}
}
}
node {
name: "net/Sum"
op: "Sum"
input: "net/zeros_like"
input: "net/Sum/reduction_indices"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "net/ExpandDims/dim"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "net/ExpandDims"
op: "ExpandDims"
input: "net/Sum"
input: "net/ExpandDims/dim"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tdim"
value {
type: DT_INT32
}
}
}
node {
name: "net/Tile/multiples"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\001\000\000\000\024\000\000\000"
}
}
}
}
node {
name: "net/Tile"
op: "Tile"
input: "net/ExpandDims"
input: "net/Tile/multiples"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tmultiples"
value {
type: DT_INT32
}
}
}
node {
name: "net/transpose/perm"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 3
}
}
tensor_content: "\001\000\000\000\000\000\000\000\002\000\000\000"
}
}
}
}
node {
name: "net/transpose"
op: "Transpose"
input: "net_input"
input: "net/transpose/perm"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tperm"
value {
type: DT_INT32
}
}
}
node {
name: "net/Shape"
op: "Shape"
input: "net/transpose"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "net/strided_slice_9/stack"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 0
}
}
}
}
node {
name: "net/strided_slice_9/stack_1"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 1
}
}
}
}
node {
name: "net/strided_slice_9/stack_2"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 1
}
}
}
}
node {
name: "net/strided_slice_9"
op: "StridedSlice"
input: "net/Shape"
input: "net/strided_slice_9/stack"
input: "net/strided_slice_9/stack_1"
input: "net/strided_slice_9/stack_2"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "begin_mask"
value {
i: 0
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 0
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 1
}
}
}
node {
name: "net/strided_slice_10/stack"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 0
}
}
}
}
node {
name: "net/strided_slice_10/stack_1"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 1
}
}
}
}
node {
name: "net/strided_slice_10/stack_2"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 1
}
}
}
}
node {
name: "net/strided_slice_10"
op: "StridedSlice"
input: "net/transpose"
input: "net/strided_slice_10/stack"
input: "net/strided_slice_10/stack_1"
input: "net/strided_slice_10/stack_2"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "begin_mask"
value {
i: 0
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 0
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 1
}
}
}
node {
name: "net/Shape_1"
op: "Shape"
input: "net/strided_slice_10"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "net/strided_slice_11/stack"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: -1
}
}
}
}
node {
name: "net/strided_slice_11/stack_1"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 0
}
}
}
}
node {
name: "net/strided_slice_11/stack_2"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 1
}
}
}
}
node {
name: "net/strided_slice_11"
op: "StridedSlice"
input: "net/Shape_1"
input: "net/strided_slice_11/stack"
input: "net/strided_slice_11/stack_1"
input: "net/strided_slice_11/stack_2"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "begin_mask"
value {
i: 0
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 0
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 1
}
}
}
node {
name: "net/Shape_2"
op: "Shape"
input: "net/strided_slice_10"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "net/strided_slice_12/stack"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 0
}
}
}
}
node {
name: "net/strided_slice_12/stack_1"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 1
}
}
}
}
node {
name: "net/strided_slice_12/stack_2"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 1
}
}
}
}
node {
name: "net/strided_slice_12"
op: "StridedSlice"
input: "net/Shape_2"
input: "net/strided_slice_12/stack"
input: "net/strided_slice_12/stack_1"
input: "net/strided_slice_12/stack_2"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "begin_mask"
value {
i: 0
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 0
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 1
}
}
}
node {
name: "net/ones/mul"
op: "Mul"
input: "net/strided_slice_12"
input: "net/strided_slice_11"
attr {
key: "T"
value {
type: DT_INT32
}
}
}
node {
name: "net/ones/Less/y"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: 1000
}
}
}
}
node {
name: "net/ones/Less"
op: "Less"
input: "net/ones/mul"
input: "net/ones/Less/y"
attr {
key: "T"
value {
type: DT_INT32
}
}
}
node {
name: "net/ones/packed"
op: "Pack"
input: "net/strided_slice_12"
input: "net/strided_slice_11"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "axis"
value {
i: 0
}
}
}
node {
name: "net/ones/Const"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "net/ones"
op: "Fill"
input: "net/ones/packed"
input: "net/ones/Const"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "index_type"
value {
type: DT_INT32
}
}
}
node {
name: "net/mul"
op: "Mul"
input: "net/strided_slice_10"
input: "net/ones"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/mul_1"
op: "Mul"
input: "net/strided_slice_10"
input: "net/ones"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/mul_2"
op: "Mul"
input: "net/strided_slice_10"
input: "net/ones"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/MatMul"
op: "MatMul"
input: "net/mul"
input: "net/strided_slice"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "net/MatMul_1"
op: "MatMul"
input: "net/mul_1"
input: "net/strided_slice_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "net/MatMul_2"
op: "MatMul"
input: "net/mul_2"
input: "net/strided_slice_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "net/BiasAdd"
op: "BiasAdd"
input: "net/MatMul"
input: "net/strided_slice_6"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "data_format"
value {
s: "NHWC"
}
}
}
node {
name: "net/BiasAdd_1"
op: "BiasAdd"
input: "net/MatMul_1"
input: "net/strided_slice_7"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "data_format"
value {
s: "NHWC"
}
}
}
node {
name: "net/BiasAdd_2"
op: "BiasAdd"
input: "net/MatMul_2"
input: "net/strided_slice_8"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "data_format"
value {
s: "NHWC"
}
}
}
node {
name: "net/MatMul_3"
op: "MatMul"
input: "net/Tile"
input: "net/strided_slice_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "net/MatMul_4"
op: "MatMul"
input: "net/Tile"
input: "net/strided_slice_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "net/add"
op: "Add"
input: "net/BiasAdd"
input: "net/MatMul_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/mul_3/x"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.2
}
}
}
}
node {
name: "net/mul_3"
op: "Mul"
input: "net/mul_3/x"
input: "net/add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/add_1/y"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.5
}
}
}
}
node {
name: "net/add_1"
op: "Add"
input: "net/mul_3"
input: "net/add_1/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/Const_1"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "net/Const_2"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "net/clip_by_value/Minimum"
op: "Minimum"
input: "net/add_1"
input: "net/Const_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/clip_by_value"
op: "Maximum"
input: "net/clip_by_value/Minimum"
input: "net/Const_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/add_2"
op: "Add"
input: "net/BiasAdd_1"
input: "net/MatMul_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/mul_4/x"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.2
}
}
}
}
node {
name: "net/mul_4"
op: "Mul"
input: "net/mul_4/x"
input: "net/add_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/add_3/y"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.5
}
}
}
}
node {
name: "net/add_3"
op: "Add"
input: "net/mul_4"
input: "net/add_3/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/Const_3"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "net/Const_4"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "net/clip_by_value_1/Minimum"
op: "Minimum"
input: "net/add_3"
input: "net/Const_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/clip_by_value_1"
op: "Maximum"
input: "net/clip_by_value_1/Minimum"
input: "net/Const_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/mul_5"
op: "Mul"
input: "net/clip_by_value_1"
input: "net/Tile"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/MatMul_5"
op: "MatMul"
input: "net/mul_5"
input: "net/strided_slice_5"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "net/add_4"
op: "Add"
input: "net/BiasAdd_2"
input: "net/MatMul_5"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/mul_6"
op: "Mul"
input: "net/clip_by_value"
input: "net/Tile"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/sub/x"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "net/sub"
op: "Sub"
input: "net/sub/x"
input: "net/clip_by_value"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/mul_7"
op: "Mul"
input: "net/sub"
input: "net/add_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/add_5"
op: "Add"
input: "net/mul_6"
input: "net/mul_7"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/TensorArray"
op: "TensorArrayV3"
input: "net/strided_slice_9"
attr {
key: "clear_after_read"
value {
b: true
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "dynamic_size"
value {
b: false
}
}
attr {
key: "element_shape"
value {
shape {
unknown_rank: true
}
}
}
attr {
key: "identical_element_shapes"
value {
b: true
}
}
attr {
key: "tensor_array_name"
value {
s: "output_ta"
}
}
}
node {
name: "net/TensorArray_1"
op: "TensorArrayV3"
input: "net/strided_slice_9"
attr {
key: "clear_after_read"
value {
b: true
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "dynamic_size"
value {
b: false
}
}
attr {
key: "element_shape"
value {
shape {
unknown_rank: true
}
}
}
attr {
key: "identical_element_shapes"
value {
b: true
}
}
attr {
key: "tensor_array_name"
value {
s: "input_ta"
}
}
}
node {
name: "net/TensorArrayUnstack/Shape"
op: "Shape"
input: "net/transpose"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "net/TensorArrayUnstack/strided_slice/stack"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 0
}
}
}
}
node {
name: "net/TensorArrayUnstack/strided_slice/stack_1"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 1
}
}
}
}
node {
name: "net/TensorArrayUnstack/strided_slice/stack_2"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 1
}
}
}
}
node {
name: "net/TensorArrayUnstack/strided_slice"
op: "StridedSlice"
input: "net/TensorArrayUnstack/Shape"
input: "net/TensorArrayUnstack/strided_slice/stack"
input: "net/TensorArrayUnstack/strided_slice/stack_1"
input: "net/TensorArrayUnstack/strided_slice/stack_2"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "begin_mask"
value {
i: 0
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 0
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 1
}
}
}
node {
name: "net/TensorArrayUnstack/range/start"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: 0
}
}
}
}
node {
name: "net/TensorArrayUnstack/range/delta"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: 1
}
}
}
}
node {
name: "net/TensorArrayUnstack/range"
op: "Range"
input: "net/TensorArrayUnstack/range/start"
input: "net/TensorArrayUnstack/strided_slice"
input: "net/TensorArrayUnstack/range/delta"
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
}
node {
name: "net/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3"
op: "TensorArrayScatterV3"
input: "net/TensorArray_1"
input: "net/TensorArrayUnstack/range"
input: "net/transpose"
input: "net/TensorArray_1:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/transpose"
}
}
}
}
node {
name: "net/time"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: 0
}
}
}
}
node {
name: "net/while/Enter"
op: "Enter"
input: "net/time"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: false
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "net/while/Enter_1"
op: "Enter"
input: "net/TensorArray:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: false
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "net/while/Enter_2"
op: "Enter"
input: "net/Tile"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: false
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "net/while/Merge"
op: "Merge"
input: "net/while/Enter"
input: "net/while/NextIteration"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_INT32
}
}
}
node {
name: "net/while/Merge_1"
op: "Merge"
input: "net/while/Enter_1"
input: "net/while/NextIteration_1"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/Merge_2"
op: "Merge"
input: "net/while/Enter_2"
input: "net/while/NextIteration_2"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/Less"
op: "Less"
input: "net/while/Merge"
input: "net/while/Less/Enter"
attr {
key: "T"
value {
type: DT_INT32
}
}
}
node {
name: "net/while/Less/Enter"
op: "Enter"
input: "net/strided_slice_9"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "net/while/LoopCond"
op: "LoopCond"
input: "net/while/Less"
}
node {
name: "net/while/Switch"
op: "Switch"
input: "net/while/Merge"
input: "net/while/LoopCond"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Merge"
}
}
}
}
node {
name: "net/while/Switch_1"
op: "Switch"
input: "net/while/Merge_1"
input: "net/while/LoopCond"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Merge_1"
}
}
}
}
node {
name: "net/while/Switch_2"
op: "Switch"
input: "net/while/Merge_2"
input: "net/while/LoopCond"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Merge_2"
}
}
}
}
node {
name: "net/while/Identity"
op: "Identity"
input: "net/while/Switch:1"
attr {
key: "T"
value {
type: DT_INT32
}
}
}
node {
name: "net/while/Identity_1"
op: "Identity"
input: "net/while/Switch_1:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/Identity_2"
op: "Identity"
input: "net/while/Switch_2:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/TensorArrayReadV3"
op: "TensorArrayReadV3"
input: "net/while/TensorArrayReadV3/Enter"
input: "net/while/Identity"
input: "net/while/TensorArrayReadV3/Enter_1"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/TensorArrayReadV3/Enter"
op: "Enter"
input: "net/TensorArray_1"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "net/while/TensorArrayReadV3/Enter_1"
op: "Enter"
input: "net/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "net/while/mul"
op: "Mul"
input: "net/while/TensorArrayReadV3"
input: "net/while/mul/Enter"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/mul/Enter"
op: "Enter"
input: "net/ones"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "net/while/mul_1"
op: "Mul"
input: "net/while/TensorArrayReadV3"
input: "net/while/mul/Enter"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/mul_2"
op: "Mul"
input: "net/while/TensorArrayReadV3"
input: "net/while/mul/Enter"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/MatMul"
op: "MatMul"
input: "net/while/mul"
input: "net/while/MatMul/Enter"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "net/while/MatMul/Enter"
op: "Enter"
input: "net/strided_slice"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "net/while/MatMul_1"
op: "MatMul"
input: "net/while/mul_1"
input: "net/while/MatMul_1/Enter"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "net/while/MatMul_1/Enter"
op: "Enter"
input: "net/strided_slice_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "net/while/MatMul_2"
op: "MatMul"
input: "net/while/mul_2"
input: "net/while/MatMul_2/Enter"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "net/while/MatMul_2/Enter"
op: "Enter"
input: "net/strided_slice_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "net/while/BiasAdd"
op: "BiasAdd"
input: "net/while/MatMul"
input: "net/while/BiasAdd/Enter"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "data_format"
value {
s: "NHWC"
}
}
}
node {
name: "net/while/BiasAdd/Enter"
op: "Enter"
input: "net/strided_slice_6"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "net/while/BiasAdd_1"
op: "BiasAdd"
input: "net/while/MatMul_1"
input: "net/while/BiasAdd_1/Enter"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "data_format"
value {
s: "NHWC"
}
}
}
node {
name: "net/while/BiasAdd_1/Enter"
op: "Enter"
input: "net/strided_slice_7"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "net/while/BiasAdd_2"
op: "BiasAdd"
input: "net/while/MatMul_2"
input: "net/while/BiasAdd_2/Enter"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "data_format"
value {
s: "NHWC"
}
}
}
node {
name: "net/while/BiasAdd_2/Enter"
op: "Enter"
input: "net/strided_slice_8"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "net/while/MatMul_3"
op: "MatMul"
input: "net/while/Identity_2"
input: "net/while/MatMul_3/Enter"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "net/while/MatMul_3/Enter"
op: "Enter"
input: "net/strided_slice_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "net/while/MatMul_4"
op: "MatMul"
input: "net/while/Identity_2"
input: "net/while/MatMul_4/Enter"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "net/while/MatMul_4/Enter"
op: "Enter"
input: "net/strided_slice_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "net/while/add"
op: "Add"
input: "net/while/BiasAdd"
input: "net/while/MatMul_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/mul_3/x"
op: "Const"
input: "^net/while/Identity"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.2
}
}
}
}
node {
name: "net/while/mul_3"
op: "Mul"
input: "net/while/mul_3/x"
input: "net/while/add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/add_1/y"
op: "Const"
input: "^net/while/Identity"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.5
}
}
}
}
node {
name: "net/while/add_1"
op: "Add"
input: "net/while/mul_3"
input: "net/while/add_1/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/Const"
op: "Const"
input: "^net/while/Identity"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "net/while/Const_1"
op: "Const"
input: "^net/while/Identity"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "net/while/clip_by_value/Minimum"
op: "Minimum"
input: "net/while/add_1"
input: "net/while/Const_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/clip_by_value"
op: "Maximum"
input: "net/while/clip_by_value/Minimum"
input: "net/while/Const"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/add_2"
op: "Add"
input: "net/while/BiasAdd_1"
input: "net/while/MatMul_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/mul_4/x"
op: "Const"
input: "^net/while/Identity"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.2
}
}
}
}
node {
name: "net/while/mul_4"
op: "Mul"
input: "net/while/mul_4/x"
input: "net/while/add_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/add_3/y"
op: "Const"
input: "^net/while/Identity"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.5
}
}
}
}
node {
name: "net/while/add_3"
op: "Add"
input: "net/while/mul_4"
input: "net/while/add_3/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/Const_2"
op: "Const"
input: "^net/while/Identity"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "net/while/Const_3"
op: "Const"
input: "^net/while/Identity"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "net/while/clip_by_value_1/Minimum"
op: "Minimum"
input: "net/while/add_3"
input: "net/while/Const_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/clip_by_value_1"
op: "Maximum"
input: "net/while/clip_by_value_1/Minimum"
input: "net/while/Const_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/mul_5"
op: "Mul"
input: "net/while/clip_by_value_1"
input: "net/while/Identity_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/MatMul_5"
op: "MatMul"
input: "net/while/mul_5"
input: "net/while/MatMul_5/Enter"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "net/while/MatMul_5/Enter"
op: "Enter"
input: "net/strided_slice_5"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "net/while/add_4"
op: "Add"
input: "net/while/BiasAdd_2"
input: "net/while/MatMul_5"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/mul_6"
op: "Mul"
input: "net/while/clip_by_value"
input: "net/while/Identity_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/sub/x"
op: "Const"
input: "^net/while/Identity"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "net/while/sub"
op: "Sub"
input: "net/while/sub/x"
input: "net/while/clip_by_value"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/mul_7"
op: "Mul"
input: "net/while/sub"
input: "net/while/add_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/add_5"
op: "Add"
input: "net/while/mul_6"
input: "net/while/mul_7"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/TensorArrayWrite/TensorArrayWriteV3"
op: "TensorArrayWriteV3"
input: "net/while/TensorArrayWrite/TensorArrayWriteV3/Enter"
input: "net/while/Identity"
input: "net/while/add_5"
input: "net/while/Identity_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
}
node {
name: "net/while/TensorArrayWrite/TensorArrayWriteV3/Enter"
op: "Enter"
input: "net/TensorArray"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "net/while/add_6/y"
op: "Const"
input: "^net/while/Identity"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: 1
}
}
}
}
node {
name: "net/while/add_6"
op: "Add"
input: "net/while/Identity"
input: "net/while/add_6/y"
attr {
key: "T"
value {
type: DT_INT32
}
}
}
node {
name: "net/while/NextIteration"
op: "NextIteration"
input: "net/while/add_6"
attr {
key: "T"
value {
type: DT_INT32
}
}
}
node {
name: "net/while/NextIteration_1"
op: "NextIteration"
input: "net/while/TensorArrayWrite/TensorArrayWriteV3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/NextIteration_2"
op: "NextIteration"
input: "net/while/add_5"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/Exit"
op: "Exit"
input: "net/while/Switch"
attr {
key: "T"
value {
type: DT_INT32
}
}
}
node {
name: "net/while/Exit_1"
op: "Exit"
input: "net/while/Switch_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/while/Exit_2"
op: "Exit"
input: "net/while/Switch_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/TensorArrayStack/TensorArraySizeV3"
op: "TensorArraySizeV3"
input: "net/TensorArray"
input: "net/while/Exit_1"
attr {
key: "_class"
value {
list {
s: "loc:@net/TensorArray"
}
}
}
}
node {
name: "net/TensorArrayStack/range/start"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/TensorArray"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: 0
}
}
}
}
node {
name: "net/TensorArrayStack/range/delta"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/TensorArray"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: 1
}
}
}
}
node {
name: "net/TensorArrayStack/range"
op: "Range"
input: "net/TensorArrayStack/range/start"
input: "net/TensorArrayStack/TensorArraySizeV3"
input: "net/TensorArrayStack/range/delta"
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/TensorArray"
}
}
}
}
node {
name: "net/TensorArrayStack/TensorArrayGatherV3"
op: "TensorArrayGatherV3"
input: "net/TensorArray"
input: "net/TensorArrayStack/range"
input: "net/while/Exit_1"
attr {
key: "_class"
value {
list {
s: "loc:@net/TensorArray"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "element_shape"
value {
shape {
dim {
size: -1
}
dim {
size: 20
}
}
}
}
}
node {
name: "net/sub_1/y"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: 1
}
}
}
}
node {
name: "net/sub_1"
op: "Sub"
input: "net/while/Exit"
input: "net/sub_1/y"
attr {
key: "T"
value {
type: DT_INT32
}
}
}
node {
name: "net/TensorArrayReadV3"
op: "TensorArrayReadV3"
input: "net/TensorArray"
input: "net/sub_1"
input: "net/while/Exit_1"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "net/transpose_1/perm"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 3
}
}
tensor_content: "\001\000\000\000\000\000\000\000\002\000\000\000"
}
}
}
}
node {
name: "net/transpose_1"
op: "Transpose"
input: "net/TensorArrayStack/TensorArrayGatherV3"
input: "net/transpose_1/perm"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tperm"
value {
type: DT_INT32
}
}
}
node {
name: "dense_1/random_uniform/shape"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\024\000\000\000\001\000\000\000"
}
}
}
}
node {
name: "dense_1/random_uniform/min"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: -0.5345225
}
}
}
}
node {
name: "dense_1/random_uniform/max"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.5345225
}
}
}
}
node {
name: "dense_1/random_uniform/RandomUniform"
op: "RandomUniform"
input: "dense_1/random_uniform/shape"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "seed"
value {
i: 87654321
}
}
attr {
key: "seed2"
value {
i: 1132567
}
}
}
node {
name: "dense_1/random_uniform/sub"
op: "Sub"
input: "dense_1/random_uniform/max"
input: "dense_1/random_uniform/min"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "dense_1/random_uniform/mul"
op: "Mul"
input: "dense_1/random_uniform/RandomUniform"
input: "dense_1/random_uniform/sub"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "dense_1/random_uniform"
op: "Add"
input: "dense_1/random_uniform/mul"
input: "dense_1/random_uniform/min"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "dense_1/kernel"
op: "VariableV2"
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 20
}
dim {
size: 1
}
}
}
}
attr {
key: "shared_name"
value {
s: ""
}
}
}
node {
name: "dense_1/kernel/Assign"
op: "Assign"
input: "dense_1/kernel"
input: "dense_1/random_uniform"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@dense_1/kernel"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "dense_1/kernel/read"
op: "Identity"
input: "dense_1/kernel"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@dense_1/kernel"
}
}
}
}
node {
name: "dense_1/Const"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
size: 1
}
}
float_val: 0.0
}
}
}
}
node {
name: "dense_1/bias"
op: "VariableV2"
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 1
}
}
}
}
attr {
key: "shared_name"
value {
s: ""
}
}
}
node {
name: "dense_1/bias/Assign"
op: "Assign"
input: "dense_1/bias"
input: "dense_1/Const"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@dense_1/bias"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "dense_1/bias/read"
op: "Identity"
input: "dense_1/bias"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@dense_1/bias"
}
}
}
}
node {
name: "dense_1/MatMul"
op: "MatMul"
input: "net/TensorArrayReadV3"
input: "dense_1/kernel/read"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "dense_1/BiasAdd"
op: "BiasAdd"
input: "dense_1/MatMul"
input: "dense_1/bias/read"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "data_format"
value {
s: "NHWC"
}
}
}
node {
name: "dense_1/Sigmoid"
op: "Sigmoid"
input: "dense_1/BiasAdd"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "Placeholder"
op: "Placeholder"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 13
}
dim {
size: 60
}
}
}
}
}
node {
name: "Assign"
op: "Assign"
input: "net/kernel"
input: "Placeholder"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/kernel"
}
}
}
attr {
key: "use_locking"
value {
b: false
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "Placeholder_1"
op: "Placeholder"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 20
}
dim {
size: 60
}
}
}
}
}
node {
name: "Assign_1"
op: "Assign"
input: "net/recurrent_kernel"
input: "Placeholder_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/recurrent_kernel"
}
}
}
attr {
key: "use_locking"
value {
b: false
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "Placeholder_2"
op: "Placeholder"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 60
}
}
}
}
}
node {
name: "Assign_2"
op: "Assign"
input: "net/bias"
input: "Placeholder_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/bias"
}
}
}
attr {
key: "use_locking"
value {
b: false
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "Placeholder_3"
op: "Placeholder"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 20
}
dim {
size: 1
}
}
}
}
}
node {
name: "Assign_3"
op: "Assign"
input: "dense_1/kernel"
input: "Placeholder_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@dense_1/kernel"
}
}
}
attr {
key: "use_locking"
value {
b: false
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "Placeholder_4"
op: "Placeholder"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 1
}
}
}
}
}
node {
name: "Assign_4"
op: "Assign"
input: "dense_1/bias"
input: "Placeholder_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@dense_1/bias"
}
}
}
attr {
key: "use_locking"
value {
b: false
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "IsVariableInitialized"
op: "IsVariableInitialized"
input: "net/kernel"
attr {
key: "_class"
value {
list {
s: "loc:@net/kernel"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "IsVariableInitialized_1"
op: "IsVariableInitialized"
input: "net/recurrent_kernel"
attr {
key: "_class"
value {
list {
s: "loc:@net/recurrent_kernel"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "IsVariableInitialized_2"
op: "IsVariableInitialized"
input: "net/bias"
attr {
key: "_class"
value {
list {
s: "loc:@net/bias"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "IsVariableInitialized_3"
op: "IsVariableInitialized"
input: "dense_1/kernel"
attr {
key: "_class"
value {
list {
s: "loc:@dense_1/kernel"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "IsVariableInitialized_4"
op: "IsVariableInitialized"
input: "dense_1/bias"
attr {
key: "_class"
value {
list {
s: "loc:@dense_1/bias"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "init"
op: "NoOp"
input: "^dense_1/bias/Assign"
input: "^dense_1/kernel/Assign"
input: "^net/bias/Assign"
input: "^net/kernel/Assign"
input: "^net/recurrent_kernel/Assign"
}
node {
name: "RMSprop/lr/initial_value"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.001
}
}
}
}
node {
name: "RMSprop/lr"
op: "VariableV2"
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
}
}
}
attr {
key: "shared_name"
value {
s: ""
}
}
}
node {
name: "RMSprop/lr/Assign"
op: "Assign"
input: "RMSprop/lr"
input: "RMSprop/lr/initial_value"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@RMSprop/lr"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "RMSprop/lr/read"
op: "Identity"
input: "RMSprop/lr"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@RMSprop/lr"
}
}
}
}
node {
name: "RMSprop/rho/initial_value"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.9
}
}
}
}
node {
name: "RMSprop/rho"
op: "VariableV2"
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
}
}
}
attr {
key: "shared_name"
value {
s: ""
}
}
}
node {
name: "RMSprop/rho/Assign"
op: "Assign"
input: "RMSprop/rho"
input: "RMSprop/rho/initial_value"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@RMSprop/rho"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "RMSprop/rho/read"
op: "Identity"
input: "RMSprop/rho"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@RMSprop/rho"
}
}
}
}
node {
name: "RMSprop/decay/initial_value"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "RMSprop/decay"
op: "VariableV2"
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
}
}
}
attr {
key: "shared_name"
value {
s: ""
}
}
}
node {
name: "RMSprop/decay/Assign"
op: "Assign"
input: "RMSprop/decay"
input: "RMSprop/decay/initial_value"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@RMSprop/decay"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "RMSprop/decay/read"
op: "Identity"
input: "RMSprop/decay"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@RMSprop/decay"
}
}
}
}
node {
name: "RMSprop/iterations/initial_value"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT64
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT64
tensor_shape {
}
int64_val: 0
}
}
}
}
node {
name: "RMSprop/iterations"
op: "VariableV2"
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_INT64
}
}
attr {
key: "shape"
value {
shape {
}
}
}
attr {
key: "shared_name"
value {
s: ""
}
}
}
node {
name: "RMSprop/iterations/Assign"
op: "Assign"
input: "RMSprop/iterations"
input: "RMSprop/iterations/initial_value"
attr {
key: "T"
value {
type: DT_INT64
}
}
attr {
key: "_class"
value {
list {
s: "loc:@RMSprop/iterations"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "RMSprop/iterations/read"
op: "Identity"
input: "RMSprop/iterations"
attr {
key: "T"
value {
type: DT_INT64
}
}
attr {
key: "_class"
value {
list {
s: "loc:@RMSprop/iterations"
}
}
}
}
node {
name: "dense_1_target"
op: "Placeholder"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: -1
}
dim {
size: -1
}
}
}
}
}
node {
name: "dense_1_sample_weights"
op: "Placeholder"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: -1
}
}
}
}
}
node {
name: "loss/dense_1_loss/add/x"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "loss/dense_1_loss/add"
op: "Add"
input: "loss/dense_1_loss/add/x"
input: "dense_1_target"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "loss/dense_1_loss/Neg"
op: "Neg"
input: "loss/dense_1_loss/add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "loss/dense_1_loss/add_1/x"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "loss/dense_1_loss/add_1"
op: "Add"
input: "loss/dense_1_loss/add_1/x"
input: "dense_1/Sigmoid"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "loss/dense_1_loss/add_2/y"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1e-07
}
}
}
}
node {
name: "loss/dense_1_loss/add_2"
op: "Add"
input: "loss/dense_1_loss/add_1"
input: "loss/dense_1_loss/add_2/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "loss/dense_1_loss/Log"
op: "Log"
input: "loss/dense_1_loss/add_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "loss/dense_1_loss/mul"
op: "Mul"
input: "loss/dense_1_loss/Neg"
input: "loss/dense_1_loss/Log"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "loss/dense_1_loss/sub/x"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "loss/dense_1_loss/sub"
op: "Sub"
input: "loss/dense_1_loss/sub/x"
input: "dense_1_target"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "loss/dense_1_loss/Neg_1"
op: "Neg"
input: "loss/dense_1_loss/sub"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "loss/dense_1_loss/sub_1/x"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "loss/dense_1_loss/sub_1"
op: "Sub"
input: "loss/dense_1_loss/sub_1/x"
input: "dense_1/Sigmoid"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "loss/dense_1_loss/add_3/y"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1e-07
}
}
}
}
node {
name: "loss/dense_1_loss/add_3"
op: "Add"
input: "loss/dense_1_loss/sub_1"
input: "loss/dense_1_loss/add_3/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "loss/dense_1_loss/Log_1"
op: "Log"
input: "loss/dense_1_loss/add_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "loss/dense_1_loss/mul_1"
op: "Mul"
input: "loss/dense_1_loss/Neg_1"
input: "loss/dense_1_loss/Log_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "loss/dense_1_loss/Const"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\000\000\000\000\001\000\000\000"
}
}
}
}
node {
name: "loss/dense_1_loss/Mean"
op: "Mean"
input: "loss/dense_1_loss/mul_1"
input: "loss/dense_1_loss/Const"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "loss/dense_1_loss/mul_2/x"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.9
}
}
}
}
node {
name: "loss/dense_1_loss/mul_2"
op: "Mul"
input: "loss/dense_1_loss/mul_2/x"
input: "loss/dense_1_loss/Mean"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "loss/dense_1_loss/Const_1"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\000\000\000\000\001\000\000\000"
}
}
}
}
node {
name: "loss/dense_1_loss/Mean_1"
op: "Mean"
input: "loss/dense_1_loss/mul"
input: "loss/dense_1_loss/Const_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "loss/dense_1_loss/mul_3/x"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.1
}
}
}
}
node {
name: "loss/dense_1_loss/mul_3"
op: "Mul"
input: "loss/dense_1_loss/mul_3/x"
input: "loss/dense_1_loss/Mean_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "loss/dense_1_loss/add_4"
op: "Add"
input: "loss/dense_1_loss/mul_2"
input: "loss/dense_1_loss/mul_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "loss/dense_1_loss/Mean_2/reduction_indices"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "loss/dense_1_loss/Mean_2"
op: "Mean"
input: "loss/dense_1_loss/add_4"
input: "loss/dense_1_loss/Mean_2/reduction_indices"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "loss/dense_1_loss/mul_4"
op: "Mul"
input: "loss/dense_1_loss/Mean_2"
input: "dense_1_sample_weights"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "loss/dense_1_loss/NotEqual/y"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "loss/dense_1_loss/NotEqual"
op: "NotEqual"
input: "dense_1_sample_weights"
input: "loss/dense_1_loss/NotEqual/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "loss/dense_1_loss/Cast"
op: "Cast"
input: "loss/dense_1_loss/NotEqual"
attr {
key: "DstT"
value {
type: DT_FLOAT
}
}
attr {
key: "SrcT"
value {
type: DT_BOOL
}
}
attr {
key: "Truncate"
value {
b: false
}
}
}
node {
name: "loss/dense_1_loss/Const_2"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 0
}
}
}
}
node {
name: "loss/dense_1_loss/Mean_3"
op: "Mean"
input: "loss/dense_1_loss/Cast"
input: "loss/dense_1_loss/Const_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "loss/dense_1_loss/truediv"
op: "RealDiv"
input: "loss/dense_1_loss/mul_4"
input: "loss/dense_1_loss/Mean_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "loss/dense_1_loss/Const_3"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 0
}
}
}
}
node {
name: "loss/dense_1_loss/Mean_4"
op: "Mean"
input: "loss/dense_1_loss/truediv"
input: "loss/dense_1_loss/Const_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "loss/mul/x"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "loss/mul"
op: "Mul"
input: "loss/mul/x"
input: "loss/dense_1_loss/Mean_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "metrics/acc/Round"
op: "Round"
input: "dense_1/Sigmoid"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "metrics/acc/Equal"
op: "Equal"
input: "dense_1_target"
input: "metrics/acc/Round"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "metrics/acc/Cast"
op: "Cast"
input: "metrics/acc/Equal"
attr {
key: "DstT"
value {
type: DT_FLOAT
}
}
attr {
key: "SrcT"
value {
type: DT_BOOL
}
}
attr {
key: "Truncate"
value {
b: false
}
}
}
node {
name: "metrics/acc/Mean/reduction_indices"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "metrics/acc/Mean"
op: "Mean"
input: "metrics/acc/Cast"
input: "metrics/acc/Mean/reduction_indices"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "metrics/acc/Const"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 0
}
}
}
}
node {
name: "metrics/acc/Mean_1"
op: "Mean"
input: "metrics/acc/Mean"
input: "metrics/acc/Const"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/Shape"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/mul"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/grad_ys_0"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/mul"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "training/RMSprop/gradients/Fill"
op: "Fill"
input: "training/RMSprop/gradients/Shape"
input: "training/RMSprop/gradients/grad_ys_0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/mul"
}
}
}
attr {
key: "index_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/f_count"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: 0
}
}
}
}
node {
name: "training/RMSprop/gradients/f_count_1"
op: "Enter"
input: "training/RMSprop/gradients/f_count"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: false
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/Merge"
op: "Merge"
input: "training/RMSprop/gradients/f_count_1"
input: "training/RMSprop/gradients/NextIteration"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/Switch"
op: "Switch"
input: "training/RMSprop/gradients/Merge"
input: "net/while/LoopCond"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/Add/y"
op: "Const"
input: "^net/while/Identity"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: 1
}
}
}
}
node {
name: "training/RMSprop/gradients/Add"
op: "Add"
input: "training/RMSprop/gradients/Switch:1"
input: "training/RMSprop/gradients/Add/y"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/NextIteration"
op: "NextIteration"
input: "training/RMSprop/gradients/Add"
input: "^training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul_1/StackPushV2"
input: "^training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul_1/StackPushV2"
input: "^training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul_1/StackPushV2"
input: "^training/RMSprop/gradients/net/while/MatMul_grad/MatMul_1/StackPushV2"
input: "^training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/StackPushV2"
input: "^training/RMSprop/gradients/net/while/add_1_grad/BroadcastGradientArgs/StackPushV2"
input: "^training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/StackPushV2"
input: "^training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/StackPushV2_1"
input: "^training/RMSprop/gradients/net/while/add_3_grad/BroadcastGradientArgs/StackPushV2"
input: "^training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/StackPushV2"
input: "^training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/StackPushV2_1"
input: "^training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/StackPushV2"
input: "^training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/StackPushV2_1"
input: "^training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/StackPushV2"
input: "^training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/StackPushV2_1"
input: "^training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/BroadcastGradientArgs/StackPushV2"
input: "^training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual/StackPushV2"
input: "^training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/BroadcastGradientArgs/StackPushV2"
input: "^training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual/StackPushV2"
input: "^training/RMSprop/gradients/net/while/clip_by_value_1_grad/BroadcastGradientArgs/StackPushV2"
input: "^training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual/StackPushV2"
input: "^training/RMSprop/gradients/net/while/clip_by_value_grad/BroadcastGradientArgs/StackPushV2"
input: "^training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual/StackPushV2"
input: "^training/RMSprop/gradients/net/while/mul_3_grad/BroadcastGradientArgs/StackPushV2"
input: "^training/RMSprop/gradients/net/while/mul_3_grad/Mul/StackPushV2"
input: "^training/RMSprop/gradients/net/while/mul_4_grad/BroadcastGradientArgs/StackPushV2"
input: "^training/RMSprop/gradients/net/while/mul_4_grad/Mul/StackPushV2"
input: "^training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/StackPushV2"
input: "^training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/StackPushV2_1"
input: "^training/RMSprop/gradients/net/while/mul_5_grad/Mul_1/StackPushV2"
input: "^training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/StackPushV2"
input: "^training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/StackPushV2_1"
input: "^training/RMSprop/gradients/net/while/mul_6_grad/Mul/StackPushV2"
input: "^training/RMSprop/gradients/net/while/mul_6_grad/Mul_1/StackPushV2"
input: "^training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/StackPushV2"
input: "^training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/StackPushV2_1"
input: "^training/RMSprop/gradients/net/while/mul_7_grad/Mul/StackPushV2"
input: "^training/RMSprop/gradients/net/while/mul_7_grad/Mul_1/StackPushV2"
input: "^training/RMSprop/gradients/net/while/sub_grad/BroadcastGradientArgs/StackPushV2"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/f_count_2"
op: "Exit"
input: "training/RMSprop/gradients/Switch"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/b_count"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: 1
}
}
}
}
node {
name: "training/RMSprop/gradients/b_count_1"
op: "Enter"
input: "training/RMSprop/gradients/f_count_2"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: false
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/Merge_1"
op: "Merge"
input: "training/RMSprop/gradients/b_count_1"
input: "training/RMSprop/gradients/NextIteration_1"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/GreaterEqual"
op: "GreaterEqual"
input: "training/RMSprop/gradients/Merge_1"
input: "training/RMSprop/gradients/GreaterEqual/Enter"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/GreaterEqual/Enter"
op: "Enter"
input: "training/RMSprop/gradients/b_count"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/b_count_2"
op: "LoopCond"
input: "training/RMSprop/gradients/GreaterEqual"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/Switch_1"
op: "Switch"
input: "training/RMSprop/gradients/Merge_1"
input: "training/RMSprop/gradients/b_count_2"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/Sub"
op: "Sub"
input: "training/RMSprop/gradients/Switch_1:1"
input: "training/RMSprop/gradients/GreaterEqual/Enter"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/NextIteration_1"
op: "NextIteration"
input: "training/RMSprop/gradients/Sub"
input: "^training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/b_sync"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/b_count_3"
op: "Exit"
input: "training/RMSprop/gradients/Switch_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/mul_grad/Mul"
op: "Mul"
input: "training/RMSprop/gradients/Fill"
input: "loss/dense_1_loss/Mean_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/mul"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/mul_grad/Mul_1"
op: "Mul"
input: "training/RMSprop/gradients/Fill"
input: "loss/mul/x"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/mul"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Reshape/shape"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_4"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 1
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/loss/mul_grad/Mul_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Reshape/shape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Shape"
op: "Shape"
input: "loss/dense_1_loss/truediv"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_4"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Tile"
op: "Tile"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Shape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tmultiples"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Shape_1"
op: "Shape"
input: "loss/dense_1_loss/truediv"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_4"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Shape_2"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_4"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_4"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 0
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Prod"
op: "Prod"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Shape_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Const"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_4"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Const_1"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_4"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 0
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Prod_1"
op: "Prod"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Shape_2"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Const_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_4"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Maximum/y"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_4"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: 1
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Maximum"
op: "Maximum"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Prod_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Maximum/y"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/floordiv"
op: "FloorDiv"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Prod"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Maximum"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Cast"
op: "Cast"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/floordiv"
attr {
key: "DstT"
value {
type: DT_FLOAT
}
}
attr {
key: "SrcT"
value {
type: DT_INT32
}
}
attr {
key: "Truncate"
value {
b: false
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/truediv"
op: "RealDiv"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Tile"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/Cast"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/Shape"
op: "Shape"
input: "loss/dense_1_loss/mul_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/truediv"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/Shape_1"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/truediv"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/Shape"
input: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/Shape_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/truediv"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/RealDiv"
op: "RealDiv"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/truediv"
input: "loss/dense_1_loss/Mean_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/truediv"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/RealDiv"
input: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/truediv"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/Shape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/truediv"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/Neg"
op: "Neg"
input: "loss/dense_1_loss/mul_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/truediv"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/RealDiv_1"
op: "RealDiv"
input: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/Neg"
input: "loss/dense_1_loss/Mean_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/truediv"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/RealDiv_2"
op: "RealDiv"
input: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/RealDiv_1"
input: "loss/dense_1_loss/Mean_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/truediv"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/mul"
op: "Mul"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_4_grad/truediv"
input: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/RealDiv_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/truediv"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/mul"
input: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/truediv"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/Sum_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/Shape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/truediv"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/Shape"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_4"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/Shape_1"
op: "Shape"
input: "dense_1_sample_weights"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_4"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/Shape"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/Shape_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/Mul"
op: "Mul"
input: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/Reshape"
input: "dense_1_sample_weights"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/Mul"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_4"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/Shape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/Mul_1"
op: "Mul"
input: "loss/dense_1_loss/Mean_2"
input: "training/RMSprop/gradients/loss/dense_1_loss/truediv_grad/Reshape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/Mul_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_4"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/Sum_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/Shape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_2_grad/Reshape/shape"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_2"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_2_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_4_grad/Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_2_grad/Reshape/shape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_2"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_2_grad/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_2"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_2_grad/Tile"
op: "Tile"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_2_grad/Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_2_grad/Const"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tmultiples"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_2"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_2_grad/Const_1"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_2"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_2_grad/truediv"
op: "RealDiv"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_2_grad/Tile"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_2_grad/Const_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_2"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_2_grad/Mul"
op: "Mul"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_2_grad/truediv"
input: "loss/dense_1_loss/Mean"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_2"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_2_grad/Mul_1"
op: "Mul"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_2_grad/truediv"
input: "loss/dense_1_loss/mul_2/x"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_2"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_3_grad/Mul"
op: "Mul"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_2_grad/truediv"
input: "loss/dense_1_loss/Mean_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_3"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_3_grad/Mul_1"
op: "Mul"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_2_grad/truediv"
input: "loss/dense_1_loss/mul_3/x"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_3"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Reshape/shape"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\001\000\000\000\001\000\000\000"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_2_grad/Mul_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Reshape/shape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Shape"
op: "Shape"
input: "loss/dense_1_loss/mul_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Tile"
op: "Tile"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Shape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tmultiples"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Shape_1"
op: "Shape"
input: "loss/dense_1_loss/mul_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Shape_2"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 0
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Prod"
op: "Prod"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Shape_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Const"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Const_1"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 0
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Prod_1"
op: "Prod"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Shape_2"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Const_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Maximum/y"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: 1
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Maximum"
op: "Maximum"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Prod_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Maximum/y"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/floordiv"
op: "FloorDiv"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Prod"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Maximum"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Cast"
op: "Cast"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/floordiv"
attr {
key: "DstT"
value {
type: DT_FLOAT
}
}
attr {
key: "SrcT"
value {
type: DT_INT32
}
}
attr {
key: "Truncate"
value {
b: false
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/truediv"
op: "RealDiv"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Tile"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/Cast"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Reshape/shape"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\001\000\000\000\001\000\000\000"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_3_grad/Mul_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Reshape/shape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Shape"
op: "Shape"
input: "loss/dense_1_loss/mul"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_1"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Tile"
op: "Tile"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Shape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tmultiples"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Shape_1"
op: "Shape"
input: "loss/dense_1_loss/mul"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_1"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Shape_2"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 0
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Prod"
op: "Prod"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Shape_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Const"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_1"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Const_1"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 0
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Prod_1"
op: "Prod"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Shape_2"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Const_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_1"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Maximum/y"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: 1
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Maximum"
op: "Maximum"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Prod_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Maximum/y"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/floordiv"
op: "FloorDiv"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Prod"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Maximum"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Cast"
op: "Cast"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/floordiv"
attr {
key: "DstT"
value {
type: DT_FLOAT
}
}
attr {
key: "SrcT"
value {
type: DT_INT32
}
}
attr {
key: "Truncate"
value {
b: false
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/truediv"
op: "RealDiv"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Tile"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/Cast"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Mean_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/Shape"
op: "Shape"
input: "loss/dense_1_loss/Neg_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_1"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/Shape_1"
op: "Shape"
input: "loss/dense_1_loss/Log_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_1"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/Shape"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/Shape_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/Mul"
op: "Mul"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/truediv"
input: "loss/dense_1_loss/Log_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/Mul"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_1"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/Shape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/Mul_1"
op: "Mul"
input: "loss/dense_1_loss/Neg_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_grad/truediv"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/Mul_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_1"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/Sum_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/Shape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/Shape"
op: "Shape"
input: "loss/dense_1_loss/Neg"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/Shape_1"
op: "Shape"
input: "loss/dense_1_loss/Log"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/Shape"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/Shape_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/Mul"
op: "Mul"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/truediv"
input: "loss/dense_1_loss/Log"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/Mul"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/Shape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/Mul_1"
op: "Mul"
input: "loss/dense_1_loss/Neg"
input: "training/RMSprop/gradients/loss/dense_1_loss/Mean_1_grad/truediv"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/Mul_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/Sum_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/Shape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/mul"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Log_1_grad/Reciprocal"
op: "Reciprocal"
input: "loss/dense_1_loss/add_3"
input: "^training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/Reshape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Log_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Log_1_grad/mul"
op: "Mul"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_1_grad/Reshape_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/Log_1_grad/Reciprocal"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Log_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Log_grad/Reciprocal"
op: "Reciprocal"
input: "loss/dense_1_loss/add_2"
input: "^training/RMSprop/gradients/loss/dense_1_loss/mul_grad/Reshape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Log"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/Log_grad/mul"
op: "Mul"
input: "training/RMSprop/gradients/loss/dense_1_loss/mul_grad/Reshape_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/Log_grad/Reciprocal"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/Log"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_3_grad/Shape"
op: "Shape"
input: "loss/dense_1_loss/sub_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_3"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_3_grad/Shape_1"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_3"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_3_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_3_grad/Shape"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_3_grad/Shape_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_3"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_3_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/Log_1_grad/mul"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_3_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_3"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_3_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_3_grad/Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_3_grad/Shape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_3"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_3_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/Log_1_grad/mul"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_3_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_3"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_3_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_3_grad/Sum_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_3_grad/Shape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_3"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_2_grad/Shape"
op: "Shape"
input: "loss/dense_1_loss/add_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_2"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_2_grad/Shape_1"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_2"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_2_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_2_grad/Shape"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_2_grad/Shape_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_2"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_2_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/Log_grad/mul"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_2_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_2"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_2_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_2_grad/Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_2_grad/Shape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_2"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_2_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/Log_grad/mul"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_2_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_2"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_2_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_2_grad/Sum_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_2_grad/Shape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_2"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/sub_1_grad/Shape"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/sub_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/sub_1_grad/Shape_1"
op: "Shape"
input: "dense_1/Sigmoid"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/sub_1"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/sub_1_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/loss/dense_1_loss/sub_1_grad/Shape"
input: "training/RMSprop/gradients/loss/dense_1_loss/sub_1_grad/Shape_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/sub_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/sub_1_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_3_grad/Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/sub_1_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/sub_1"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/sub_1_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/sub_1_grad/Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/sub_1_grad/Shape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/sub_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/sub_1_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_3_grad/Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/sub_1_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/sub_1"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/sub_1_grad/Neg"
op: "Neg"
input: "training/RMSprop/gradients/loss/dense_1_loss/sub_1_grad/Sum_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/sub_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/sub_1_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/sub_1_grad/Neg"
input: "training/RMSprop/gradients/loss/dense_1_loss/sub_1_grad/Shape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/sub_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_1_grad/Shape"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_1_grad/Shape_1"
op: "Shape"
input: "dense_1/Sigmoid"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_1"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_1_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_1_grad/Shape"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_1_grad/Shape_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_1_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_2_grad/Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_1_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_1"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_1_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_1_grad/Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_1_grad/Shape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_1_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_2_grad/Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_1_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_1"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/loss/dense_1_loss/add_1_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_1_grad/Sum_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_1_grad/Shape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/add_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/AddN"
op: "AddN"
input: "training/RMSprop/gradients/loss/dense_1_loss/sub_1_grad/Reshape_1"
input: "training/RMSprop/gradients/loss/dense_1_loss/add_1_grad/Reshape_1"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@loss/dense_1_loss/sub_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/dense_1/Sigmoid_grad/SigmoidGrad"
op: "SigmoidGrad"
input: "dense_1/Sigmoid"
input: "training/RMSprop/gradients/AddN"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@dense_1/Sigmoid"
}
}
}
}
node {
name: "training/RMSprop/gradients/dense_1/BiasAdd_grad/BiasAddGrad"
op: "BiasAddGrad"
input: "training/RMSprop/gradients/dense_1/Sigmoid_grad/SigmoidGrad"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@dense_1/BiasAdd"
}
}
}
attr {
key: "data_format"
value {
s: "NHWC"
}
}
}
node {
name: "training/RMSprop/gradients/dense_1/MatMul_grad/MatMul"
op: "MatMul"
input: "training/RMSprop/gradients/dense_1/Sigmoid_grad/SigmoidGrad"
input: "dense_1/kernel/read"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@dense_1/MatMul"
}
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/dense_1/MatMul_grad/MatMul_1"
op: "MatMul"
input: "net/TensorArrayReadV3"
input: "training/RMSprop/gradients/dense_1/Sigmoid_grad/SigmoidGrad"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@dense_1/MatMul"
}
}
}
attr {
key: "transpose_a"
value {
b: true
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3"
op: "TensorArrayGradV3"
input: "net/TensorArray"
input: "net/while/Exit_1"
attr {
key: "_class"
value {
list {
s: "loc:@net/TensorArray"
s: "loc:@net/TensorArrayReadV3"
}
}
}
attr {
key: "source"
value {
s: "training/RMSprop/gradients"
}
}
}
node {
name: "training/RMSprop/gradients/net/TensorArrayReadV3_grad/TensorArrayGrad/gradient_flow"
op: "Identity"
input: "net/while/Exit_1"
input: "^training/RMSprop/gradients/net/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/TensorArray"
s: "loc:@net/TensorArrayReadV3"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/TensorArrayReadV3_grad/TensorArrayWrite/TensorArrayWriteV3"
op: "TensorArrayWriteV3"
input: "training/RMSprop/gradients/net/TensorArrayReadV3_grad/TensorArrayGrad/TensorArrayGradV3"
input: "net/sub_1"
input: "training/RMSprop/gradients/dense_1/MatMul_grad/MatMul"
input: "training/RMSprop/gradients/net/TensorArrayReadV3_grad/TensorArrayGrad/gradient_flow"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/TensorArrayReadV3"
}
}
}
}
node {
name: "training/RMSprop/gradients/zeros_like"
op: "ZerosLike"
input: "net/while/Exit_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/gradients/net/while/Exit_1_grad/b_exit"
op: "Enter"
input: "training/RMSprop/gradients/net/TensorArrayReadV3_grad/TensorArrayWrite/TensorArrayWriteV3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_1"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: false
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/Exit_2_grad/b_exit"
op: "Enter"
input: "training/RMSprop/gradients/zeros_like"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Exit_2"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: false
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/Switch_1_grad/b_switch"
op: "Merge"
input: "training/RMSprop/gradients/net/while/Exit_1_grad/b_exit"
input: "training/RMSprop/gradients/net/while/Switch_1_grad_1/NextIteration"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Merge_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/Switch_2_grad/b_switch"
op: "Merge"
input: "training/RMSprop/gradients/net/while/Exit_2_grad/b_exit"
input: "training/RMSprop/gradients/net/while/Switch_2_grad_1/NextIteration"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Merge_2"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/Merge_1_grad/Switch"
op: "Switch"
input: "training/RMSprop/gradients/net/while/Switch_1_grad/b_switch"
input: "training/RMSprop/gradients/b_count_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Merge_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/Merge_2_grad/Switch"
op: "Switch"
input: "training/RMSprop/gradients/net/while/Switch_2_grad/b_switch"
input: "training/RMSprop/gradients/b_count_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Merge_2"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/Enter_1_grad/Exit"
op: "Exit"
input: "training/RMSprop/gradients/net/while/Merge_1_grad/Switch"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Enter_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/Enter_2_grad/Exit"
op: "Exit"
input: "training/RMSprop/gradients/net/while/Merge_2_grad/Switch"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Enter_2"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayGrad/TensorArrayGradV3"
op: "TensorArrayGradV3"
input: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayGrad/TensorArrayGradV3/Enter"
input: "training/RMSprop/gradients/net/while/Merge_1_grad/Switch:1"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "source"
value {
s: "training/RMSprop/gradients"
}
}
}
node {
name: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayGrad/TensorArrayGradV3/Enter"
op: "Enter"
input: "net/TensorArray"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayGrad/gradient_flow"
op: "Identity"
input: "training/RMSprop/gradients/net/while/Merge_1_grad/Switch:1"
input: "^training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayGrad/TensorArrayGradV3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3"
op: "TensorArrayReadV3"
input: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayGrad/TensorArrayGradV3"
input: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/StackPopV2"
input: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayGrad/gradient_flow"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Identity"
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Identity"
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/Enter"
input: "net/while/Identity"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/b_sync"
op: "ControlTrigger"
input: "^training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul_1/StackPopV2"
input: "^training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul_1/StackPopV2"
input: "^training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul_1/StackPopV2"
input: "^training/RMSprop/gradients/net/while/MatMul_grad/MatMul_1/StackPopV2"
input: "^training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/StackPopV2"
input: "^training/RMSprop/gradients/net/while/add_1_grad/BroadcastGradientArgs/StackPopV2"
input: "^training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/StackPopV2"
input: "^training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/StackPopV2_1"
input: "^training/RMSprop/gradients/net/while/add_3_grad/BroadcastGradientArgs/StackPopV2"
input: "^training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/StackPopV2"
input: "^training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/StackPopV2_1"
input: "^training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/StackPopV2"
input: "^training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/StackPopV2_1"
input: "^training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/StackPopV2"
input: "^training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/StackPopV2_1"
input: "^training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/BroadcastGradientArgs/StackPopV2"
input: "^training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual/StackPopV2"
input: "^training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/BroadcastGradientArgs/StackPopV2"
input: "^training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual/StackPopV2"
input: "^training/RMSprop/gradients/net/while/clip_by_value_1_grad/BroadcastGradientArgs/StackPopV2"
input: "^training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual/StackPopV2"
input: "^training/RMSprop/gradients/net/while/clip_by_value_grad/BroadcastGradientArgs/StackPopV2"
input: "^training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual/StackPopV2"
input: "^training/RMSprop/gradients/net/while/mul_3_grad/BroadcastGradientArgs/StackPopV2"
input: "^training/RMSprop/gradients/net/while/mul_3_grad/Mul/StackPopV2"
input: "^training/RMSprop/gradients/net/while/mul_4_grad/BroadcastGradientArgs/StackPopV2"
input: "^training/RMSprop/gradients/net/while/mul_4_grad/Mul/StackPopV2"
input: "^training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/StackPopV2"
input: "^training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/StackPopV2_1"
input: "^training/RMSprop/gradients/net/while/mul_5_grad/Mul_1/StackPopV2"
input: "^training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/StackPopV2"
input: "^training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/StackPopV2_1"
input: "^training/RMSprop/gradients/net/while/mul_6_grad/Mul/StackPopV2"
input: "^training/RMSprop/gradients/net/while/mul_6_grad/Mul_1/StackPopV2"
input: "^training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/StackPopV2"
input: "^training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/StackPopV2_1"
input: "^training/RMSprop/gradients/net/while/mul_7_grad/Mul/StackPopV2"
input: "^training/RMSprop/gradients/net/while/mul_7_grad/Mul_1/StackPopV2"
input: "^training/RMSprop/gradients/net/while/sub_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
}
node {
name: "training/RMSprop/gradients/AddN_1"
op: "AddN"
input: "training/RMSprop/gradients/net/while/Merge_2_grad/Switch:1"
input: "training/RMSprop/gradients/net/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Merge_2"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/Shape"
op: "Shape"
input: "net/while/mul_6"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/Shape_1"
op: "Shape"
input: "net/while/mul_7"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/StackPopV2"
input: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/StackPopV2_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/Enter"
input: "training/RMSprop/gradients/net/while/add_5_grad/Shape"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/Const_1"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/f_acc_1"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/Const_1"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/Enter_1"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/f_acc_1"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/StackPushV2_1"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/Enter_1"
input: "training/RMSprop/gradients/net/while/add_5_grad/Shape_1"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/StackPopV2_1"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/StackPopV2_1/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/StackPopV2_1/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/f_acc_1"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/AddN_1"
input: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/add_5_grad/Sum"
input: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/AddN_1"
input: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_5_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/add_5_grad/Sum_1"
input: "training/RMSprop/gradients/net/while/add_5_grad/BroadcastGradientArgs/StackPopV2_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_5"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Shape"
op: "Shape"
input: "net/while/clip_by_value"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Shape_1"
op: "Shape"
input: "net/while/Identity_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/StackPopV2"
input: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/StackPopV2_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/Enter"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Shape"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/Const_1"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/f_acc_1"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/Const_1"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/Enter_1"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/f_acc_1"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/StackPushV2_1"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/Enter_1"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Shape_1"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/StackPopV2_1"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/StackPopV2_1/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/StackPopV2_1/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/f_acc_1"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Mul"
op: "Mul"
input: "training/RMSprop/gradients/net/while/add_5_grad/Reshape"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Mul/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Mul/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Identity_2"
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Mul/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Mul/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Identity_2"
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Mul/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Mul/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Mul/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Mul/Enter"
input: "net/while/Identity_2"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Mul/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Mul/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Mul/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Mul/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Mul"
input: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Sum"
input: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Mul_1"
op: "Mul"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Mul_1/StackPopV2"
input: "training/RMSprop/gradients/net/while/add_5_grad/Reshape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Mul_1/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Mul_1/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Mul_1/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Mul_1/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Mul_1/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Mul_1/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Mul_1/Enter"
input: "net/while/clip_by_value"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Mul_1/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Mul_1/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Mul_1/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Mul_1/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Mul_1"
input: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_6_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Sum_1"
input: "training/RMSprop/gradients/net/while/mul_6_grad/BroadcastGradientArgs/StackPopV2_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Shape"
op: "Shape"
input: "net/while/sub"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Shape_1"
op: "Shape"
input: "net/while/add_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/StackPopV2"
input: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/StackPopV2_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/Enter"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Shape"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/Const_1"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/f_acc_1"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/Const_1"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/Enter_1"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/f_acc_1"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/StackPushV2_1"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/Enter_1"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Shape_1"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/StackPopV2_1"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/StackPopV2_1/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/StackPopV2_1/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/f_acc_1"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Mul"
op: "Mul"
input: "training/RMSprop/gradients/net/while/add_5_grad/Reshape_1"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Mul/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Mul/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Mul/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Mul/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Mul/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Mul/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Mul/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Mul/Enter"
input: "net/while/add_4"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Mul/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Mul/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Mul/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Mul/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Mul"
input: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Sum"
input: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Mul_1"
op: "Mul"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Mul_1/StackPopV2"
input: "training/RMSprop/gradients/net/while/add_5_grad/Reshape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Mul_1/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
s: "loc:@net/while/sub"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Mul_1/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Mul_1/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
s: "loc:@net/while/sub"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Mul_1/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Mul_1/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Mul_1/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Mul_1/Enter"
input: "net/while/sub"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Mul_1/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Mul_1/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Mul_1/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Mul_1/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Mul_1"
input: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_7_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Sum_1"
input: "training/RMSprop/gradients/net/while/mul_7_grad/BroadcastGradientArgs/StackPopV2_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_7"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/Switch_1_grad_1/NextIteration"
op: "NextIteration"
input: "training/RMSprop/gradients/net/while/Merge_1_grad/Switch:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Merge_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/sub_grad/Shape"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/sub"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/sub_grad/Shape_1"
op: "Shape"
input: "net/while/clip_by_value"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/sub"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/sub_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/net/while/sub_grad/Shape"
input: "training/RMSprop/gradients/net/while/sub_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/sub"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/sub_grad/BroadcastGradientArgs/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/sub"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/sub_grad/BroadcastGradientArgs/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/sub_grad/BroadcastGradientArgs/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/sub"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/sub_grad/BroadcastGradientArgs/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/sub_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/sub"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/sub_grad/BroadcastGradientArgs/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/sub_grad/BroadcastGradientArgs/Enter"
input: "training/RMSprop/gradients/net/while/sub_grad/Shape_1"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/sub"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/sub_grad/BroadcastGradientArgs/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/sub_grad/BroadcastGradientArgs/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/sub"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/sub_grad/BroadcastGradientArgs/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/sub_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/sub"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/sub_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Reshape"
input: "training/RMSprop/gradients/net/while/sub_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/sub"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/sub_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/sub_grad/Sum"
input: "training/RMSprop/gradients/net/while/sub_grad/Shape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/sub"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/sub_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Reshape"
input: "training/RMSprop/gradients/net/while/sub_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/sub"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/sub_grad/Neg"
op: "Neg"
input: "training/RMSprop/gradients/net/while/sub_grad/Sum_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/sub"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/sub_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/sub_grad/Neg"
input: "training/RMSprop/gradients/net/while/sub_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/sub"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/Shape"
op: "Shape"
input: "net/while/BiasAdd_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/Shape_1"
op: "Shape"
input: "net/while/MatMul_5"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/StackPopV2"
input: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/StackPopV2_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/Enter"
input: "training/RMSprop/gradients/net/while/add_4_grad/Shape"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/Const_1"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/f_acc_1"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/Const_1"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/Enter_1"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/f_acc_1"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/StackPushV2_1"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/Enter_1"
input: "training/RMSprop/gradients/net/while/add_4_grad/Shape_1"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/StackPopV2_1"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/StackPopV2_1/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/StackPopV2_1/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/f_acc_1"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Reshape_1"
input: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/add_4_grad/Sum"
input: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/net/while/mul_7_grad/Reshape_1"
input: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_4_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/add_4_grad/Sum_1"
input: "training/RMSprop/gradients/net/while/add_4_grad/BroadcastGradientArgs/StackPopV2_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/AddN_2"
op: "AddN"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Reshape"
input: "training/RMSprop/gradients/net/while/sub_grad/Reshape_1"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/Shape"
op: "Shape"
input: "net/while/clip_by_value/Minimum"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/Shape_1"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/Shape_2"
op: "Shape"
input: "training/RMSprop/gradients/AddN_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/zeros/Const"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/zeros"
op: "Fill"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/Shape_2"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/zeros/Const"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
attr {
key: "index_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual"
op: "GreaterEqual"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual/StackPopV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual/Const_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual/Enter"
input: "net/while/clip_by_value/Minimum"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual/Const_1"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/BroadcastGradientArgs/StackPopV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/Shape_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/BroadcastGradientArgs/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/BroadcastGradientArgs/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/BroadcastGradientArgs/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/BroadcastGradientArgs/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/BroadcastGradientArgs/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/BroadcastGradientArgs/Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/Shape"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/BroadcastGradientArgs/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/BroadcastGradientArgs/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/BroadcastGradientArgs/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/Select"
op: "Select"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual"
input: "training/RMSprop/gradients/AddN_2"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/zeros"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/Select_1"
op: "Select"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/GreaterEqual"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/zeros"
input: "training/RMSprop/gradients/AddN_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/Select"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/Sum"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/Select_1"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/Sum_1"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/Shape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd_2_grad/BiasAddGrad"
op: "BiasAddGrad"
input: "training/RMSprop/gradients/net/while/add_4_grad/Reshape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd_2"
}
}
}
attr {
key: "data_format"
value {
s: "NHWC"
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul"
op: "MatMul"
input: "training/RMSprop/gradients/net/while/add_4_grad/Reshape_1"
input: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul/Enter"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_5"
}
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul/Enter"
op: "Enter"
input: "net/strided_slice_5"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_5"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul_1"
op: "MatMul"
input: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul_1/StackPopV2"
input: "training/RMSprop/gradients/net/while/add_4_grad/Reshape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_5"
}
}
}
attr {
key: "transpose_a"
value {
b: true
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul_1/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_5"
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul_1/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul_1/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_5"
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul_1/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul_1/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_5"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul_1/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul_1/Enter"
input: "net/while/mul_5"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_5"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul_1/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul_1/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_5"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul_1/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul_1/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_5"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Shape"
op: "Shape"
input: "net/while/add_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Shape_1"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Shape_2"
op: "Shape"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/Reshape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/zeros/Const"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/zeros"
op: "Fill"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Shape_2"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/zeros/Const"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "index_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual"
op: "LessEqual"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual/StackPopV2"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual/Const_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_1"
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_1"
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual/Enter"
input: "net/while/add_1"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual/Const_1"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/BroadcastGradientArgs/StackPopV2"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Shape_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/BroadcastGradientArgs/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/BroadcastGradientArgs/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/BroadcastGradientArgs/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/BroadcastGradientArgs/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/BroadcastGradientArgs/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/BroadcastGradientArgs/Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Shape"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/BroadcastGradientArgs/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/BroadcastGradientArgs/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/BroadcastGradientArgs/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Select"
op: "Select"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/Reshape"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/zeros"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Select_1"
op: "Select"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/LessEqual"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/zeros"
input: "training/RMSprop/gradients/net/while/clip_by_value_grad/Reshape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Select"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Sum"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Select_1"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Sum_1"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Shape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value/Minimum"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul"
op: "MatMul"
input: "training/RMSprop/gradients/net/while/add_4_grad/Reshape"
input: "training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul/Enter"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_2"
}
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul/Enter"
op: "Enter"
input: "net/strided_slice_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_2"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul_1"
op: "MatMul"
input: "training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul_1/StackPopV2"
input: "training/RMSprop/gradients/net/while/add_4_grad/Reshape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_2"
}
}
}
attr {
key: "transpose_a"
value {
b: true
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul_1/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_2"
s: "loc:@net/while/mul_2"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul_1/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul_1/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_2"
s: "loc:@net/while/mul_2"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul_1/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul_1/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_2"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul_1/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul_1/Enter"
input: "net/while/mul_2"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_2"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul_1/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul_1/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_2"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul_1/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul_1/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_2"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd_2/Enter_grad/b_acc"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd_2/Enter"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
size: 20
}
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd_2/Enter_grad/b_acc_1"
op: "Enter"
input: "training/RMSprop/gradients/net/while/BiasAdd_2/Enter_grad/b_acc"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd_2/Enter"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: false
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd_2/Enter_grad/b_acc_2"
op: "Merge"
input: "training/RMSprop/gradients/net/while/BiasAdd_2/Enter_grad/b_acc_1"
input: "training/RMSprop/gradients/net/while/BiasAdd_2/Enter_grad/NextIteration"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd_2/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd_2/Enter_grad/Switch"
op: "Switch"
input: "training/RMSprop/gradients/net/while/BiasAdd_2/Enter_grad/b_acc_2"
input: "training/RMSprop/gradients/b_count_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd_2/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd_2/Enter_grad/Add"
op: "Add"
input: "training/RMSprop/gradients/net/while/BiasAdd_2/Enter_grad/Switch:1"
input: "training/RMSprop/gradients/net/while/BiasAdd_2_grad/BiasAddGrad"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd_2/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd_2/Enter_grad/NextIteration"
op: "NextIteration"
input: "training/RMSprop/gradients/net/while/BiasAdd_2/Enter_grad/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd_2/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd_2/Enter_grad/b_acc_3"
op: "Exit"
input: "training/RMSprop/gradients/net/while/BiasAdd_2/Enter_grad/Switch"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd_2/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/Shape"
op: "Shape"
input: "net/while/clip_by_value_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/Shape_1"
op: "Shape"
input: "net/while/Identity_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/StackPopV2"
input: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/StackPopV2_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/Enter"
input: "training/RMSprop/gradients/net/while/mul_5_grad/Shape"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/Const_1"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/f_acc_1"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/Const_1"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/Enter_1"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/f_acc_1"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/StackPushV2_1"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/Enter_1"
input: "training/RMSprop/gradients/net/while/mul_5_grad/Shape_1"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/StackPopV2_1"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/StackPopV2_1/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/StackPopV2_1/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/f_acc_1"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/Mul"
op: "Mul"
input: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Mul/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/net/while/mul_5_grad/Mul"
input: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/mul_5_grad/Sum"
input: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/Mul_1"
op: "Mul"
input: "training/RMSprop/gradients/net/while/mul_5_grad/Mul_1/StackPopV2"
input: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/Mul_1/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/Mul_1/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/mul_5_grad/Mul_1/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/Mul_1/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_5_grad/Mul_1/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/Mul_1/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/mul_5_grad/Mul_1/Enter"
input: "net/while/clip_by_value_1"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/Mul_1/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/mul_5_grad/Mul_1/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/Mul_1/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_5_grad/Mul_1/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/net/while/mul_5_grad/Mul_1"
input: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_5_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/mul_5_grad/Sum_1"
input: "training/RMSprop/gradients/net/while/mul_5_grad/BroadcastGradientArgs/StackPopV2_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_5"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_5/Enter_grad/b_acc"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_5/Enter"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
size: 20
}
dim {
size: 20
}
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_5/Enter_grad/b_acc_1"
op: "Enter"
input: "training/RMSprop/gradients/net/while/MatMul_5/Enter_grad/b_acc"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_5/Enter"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: false
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_5/Enter_grad/b_acc_2"
op: "Merge"
input: "training/RMSprop/gradients/net/while/MatMul_5/Enter_grad/b_acc_1"
input: "training/RMSprop/gradients/net/while/MatMul_5/Enter_grad/NextIteration"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_5/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_5/Enter_grad/Switch"
op: "Switch"
input: "training/RMSprop/gradients/net/while/MatMul_5/Enter_grad/b_acc_2"
input: "training/RMSprop/gradients/b_count_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_5/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_5/Enter_grad/Add"
op: "Add"
input: "training/RMSprop/gradients/net/while/MatMul_5/Enter_grad/Switch:1"
input: "training/RMSprop/gradients/net/while/MatMul_5_grad/MatMul_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_5/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_5/Enter_grad/NextIteration"
op: "NextIteration"
input: "training/RMSprop/gradients/net/while/MatMul_5/Enter_grad/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_5/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_5/Enter_grad/b_acc_3"
op: "Exit"
input: "training/RMSprop/gradients/net/while/MatMul_5/Enter_grad/Switch"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_5/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_1_grad/Shape"
op: "Shape"
input: "net/while/mul_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_1"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_1_grad/Shape_1"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_1_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/net/while/add_1_grad/BroadcastGradientArgs/StackPopV2"
input: "training/RMSprop/gradients/net/while/add_1_grad/Shape_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_1_grad/BroadcastGradientArgs/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_1_grad/BroadcastGradientArgs/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/add_1_grad/BroadcastGradientArgs/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_1"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_1_grad/BroadcastGradientArgs/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_1_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_1"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_1_grad/BroadcastGradientArgs/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/add_1_grad/BroadcastGradientArgs/Enter"
input: "training/RMSprop/gradients/net/while/add_1_grad/Shape"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_1"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_1_grad/BroadcastGradientArgs/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/add_1_grad/BroadcastGradientArgs/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_1"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_1_grad/BroadcastGradientArgs/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_1_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_1"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_1_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Reshape"
input: "training/RMSprop/gradients/net/while/add_1_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_1"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_1_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/add_1_grad/Sum"
input: "training/RMSprop/gradients/net/while/add_1_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_1_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/net/while/clip_by_value/Minimum_grad/Reshape"
input: "training/RMSprop/gradients/net/while/add_1_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_1"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_1_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/add_1_grad/Sum_1"
input: "training/RMSprop/gradients/net/while/add_1_grad/Shape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_2/Enter_grad/b_acc"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_2/Enter"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
size: 13
}
dim {
size: 20
}
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_2/Enter_grad/b_acc_1"
op: "Enter"
input: "training/RMSprop/gradients/net/while/MatMul_2/Enter_grad/b_acc"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_2/Enter"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: false
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_2/Enter_grad/b_acc_2"
op: "Merge"
input: "training/RMSprop/gradients/net/while/MatMul_2/Enter_grad/b_acc_1"
input: "training/RMSprop/gradients/net/while/MatMul_2/Enter_grad/NextIteration"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_2/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_2/Enter_grad/Switch"
op: "Switch"
input: "training/RMSprop/gradients/net/while/MatMul_2/Enter_grad/b_acc_2"
input: "training/RMSprop/gradients/b_count_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_2/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_2/Enter_grad/Add"
op: "Add"
input: "training/RMSprop/gradients/net/while/MatMul_2/Enter_grad/Switch:1"
input: "training/RMSprop/gradients/net/while/MatMul_2_grad/MatMul_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_2/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_2/Enter_grad/NextIteration"
op: "NextIteration"
input: "training/RMSprop/gradients/net/while/MatMul_2/Enter_grad/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_2/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_2/Enter_grad/b_acc_3"
op: "Exit"
input: "training/RMSprop/gradients/net/while/MatMul_2/Enter_grad/Switch"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_2/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/strided_slice_8_grad/Shape"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_8"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 60
}
}
}
}
node {
name: "training/RMSprop/gradients/net/strided_slice_8_grad/StridedSliceGrad"
op: "StridedSliceGrad"
input: "training/RMSprop/gradients/net/strided_slice_8_grad/Shape"
input: "net/strided_slice_8/stack"
input: "net/strided_slice_8/stack_1"
input: "net/strided_slice_8/stack_2"
input: "training/RMSprop/gradients/net/while/BiasAdd_2/Enter_grad/b_acc_3"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_8"
}
}
}
attr {
key: "begin_mask"
value {
i: 0
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 1
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 0
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Shape"
op: "Shape"
input: "net/while/clip_by_value_1/Minimum"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Shape_1"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Shape_2"
op: "Shape"
input: "training/RMSprop/gradients/net/while/mul_5_grad/Reshape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/zeros/Const"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/zeros"
op: "Fill"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Shape_2"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/zeros/Const"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
attr {
key: "index_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual"
op: "GreaterEqual"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual/StackPopV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual/Const_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual/Enter"
input: "net/while/clip_by_value_1/Minimum"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual/Const_1"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/BroadcastGradientArgs/StackPopV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Shape_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/BroadcastGradientArgs/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/BroadcastGradientArgs/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/BroadcastGradientArgs/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/BroadcastGradientArgs/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/BroadcastGradientArgs/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/BroadcastGradientArgs/Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Shape"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/BroadcastGradientArgs/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/BroadcastGradientArgs/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/BroadcastGradientArgs/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Select"
op: "Select"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual"
input: "training/RMSprop/gradients/net/while/mul_5_grad/Reshape"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/zeros"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Select_1"
op: "Select"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/GreaterEqual"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/zeros"
input: "training/RMSprop/gradients/net/while/mul_5_grad/Reshape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Select"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Sum"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Select_1"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Sum_1"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Shape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/strided_slice_5_grad/Shape"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_5"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\024\000\000\000<\000\000\000"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/strided_slice_5_grad/StridedSliceGrad"
op: "StridedSliceGrad"
input: "training/RMSprop/gradients/net/strided_slice_5_grad/Shape"
input: "net/strided_slice_5/stack"
input: "net/strided_slice_5/stack_1"
input: "net/strided_slice_5/stack_2"
input: "training/RMSprop/gradients/net/while/MatMul_5/Enter_grad/b_acc_3"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_5"
}
}
}
attr {
key: "begin_mask"
value {
i: 1
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 3
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 0
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/Shape"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/Shape_1"
op: "Shape"
input: "net/while/add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/net/while/mul_3_grad/Shape"
input: "training/RMSprop/gradients/net/while/mul_3_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/BroadcastGradientArgs/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/BroadcastGradientArgs/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/mul_3_grad/BroadcastGradientArgs/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/BroadcastGradientArgs/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_3_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/BroadcastGradientArgs/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/mul_3_grad/BroadcastGradientArgs/Enter"
input: "training/RMSprop/gradients/net/while/mul_3_grad/Shape_1"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/BroadcastGradientArgs/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/mul_3_grad/BroadcastGradientArgs/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/BroadcastGradientArgs/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_3_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/Mul"
op: "Mul"
input: "training/RMSprop/gradients/net/while/add_1_grad/Reshape"
input: "training/RMSprop/gradients/net/while/mul_3_grad/Mul/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/Mul/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
s: "loc:@net/while/mul_3"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/Mul/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/mul_3_grad/Mul/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
s: "loc:@net/while/mul_3"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/Mul/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_3_grad/Mul/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/Mul/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/mul_3_grad/Mul/Enter"
input: "net/while/add"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/Mul/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/mul_3_grad/Mul/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/Mul/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_3_grad/Mul/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/net/while/mul_3_grad/Mul"
input: "training/RMSprop/gradients/net/while/mul_3_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/mul_3_grad/Sum"
input: "training/RMSprop/gradients/net/while/mul_3_grad/Shape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/Mul_1"
op: "Mul"
input: "training/RMSprop/gradients/net/while/mul_3_grad/Mul_1/Const"
input: "training/RMSprop/gradients/net/while/add_1_grad/Reshape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/Mul_1/Const"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.2
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/net/while/mul_3_grad/Mul_1"
input: "training/RMSprop/gradients/net/while/mul_3_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_3_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/mul_3_grad/Sum_1"
input: "training/RMSprop/gradients/net/while/mul_3_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_3"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/strided_slice_4_grad/Shape"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_4"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\r\000\000\000<\000\000\000"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/strided_slice_4_grad/StridedSliceGrad"
op: "StridedSliceGrad"
input: "training/RMSprop/gradients/net/strided_slice_4_grad/Shape"
input: "net/strided_slice_4/stack"
input: "net/strided_slice_4/stack_1"
input: "net/strided_slice_4/stack_2"
input: "training/RMSprop/gradients/net/while/MatMul_2/Enter_grad/b_acc_3"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_4"
}
}
}
attr {
key: "begin_mask"
value {
i: 1
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 3
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 0
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Shape"
op: "Shape"
input: "net/while/add_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Shape_1"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Shape_2"
op: "Shape"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Reshape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/zeros/Const"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/zeros"
op: "Fill"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Shape_2"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/zeros/Const"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "index_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual"
op: "LessEqual"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual/StackPopV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual/Const_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_3"
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_3"
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual/Enter"
input: "net/while/add_3"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual/Const_1"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/BroadcastGradientArgs/StackPopV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Shape_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/BroadcastGradientArgs/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/BroadcastGradientArgs/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/BroadcastGradientArgs/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/BroadcastGradientArgs/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/BroadcastGradientArgs/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/BroadcastGradientArgs/Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Shape"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/BroadcastGradientArgs/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/BroadcastGradientArgs/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/BroadcastGradientArgs/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Select"
op: "Select"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Reshape"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/zeros"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Select_1"
op: "Select"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/LessEqual"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/zeros"
input: "training/RMSprop/gradients/net/while/clip_by_value_1_grad/Reshape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Select"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Sum"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Select_1"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Sum_1"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Shape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/clip_by_value_1/Minimum"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/Shape"
op: "Shape"
input: "net/while/BiasAdd"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/Shape_1"
op: "Shape"
input: "net/while/MatMul_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/StackPopV2"
input: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/StackPopV2_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/Enter"
input: "training/RMSprop/gradients/net/while/add_grad/Shape"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/Const_1"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/f_acc_1"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/Const_1"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/Enter_1"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/f_acc_1"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/StackPushV2_1"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/Enter_1"
input: "training/RMSprop/gradients/net/while/add_grad/Shape_1"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/StackPopV2_1"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/StackPopV2_1/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/StackPopV2_1/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/f_acc_1"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/net/while/mul_3_grad/Reshape_1"
input: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/add_grad/Sum"
input: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/net/while/mul_3_grad/Reshape_1"
input: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/add_grad/Sum_1"
input: "training/RMSprop/gradients/net/while/add_grad/BroadcastGradientArgs/StackPopV2_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_3_grad/Shape"
op: "Shape"
input: "net/while/mul_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_3"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_3_grad/Shape_1"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_3"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_3_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/net/while/add_3_grad/BroadcastGradientArgs/StackPopV2"
input: "training/RMSprop/gradients/net/while/add_3_grad/Shape_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_3"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_3_grad/BroadcastGradientArgs/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_3"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_3_grad/BroadcastGradientArgs/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/add_3_grad/BroadcastGradientArgs/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_3"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_3_grad/BroadcastGradientArgs/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_3_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_3"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_3_grad/BroadcastGradientArgs/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/add_3_grad/BroadcastGradientArgs/Enter"
input: "training/RMSprop/gradients/net/while/add_3_grad/Shape"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_3"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_3_grad/BroadcastGradientArgs/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/add_3_grad/BroadcastGradientArgs/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_3"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_3_grad/BroadcastGradientArgs/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_3_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_3"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_3_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Reshape"
input: "training/RMSprop/gradients/net/while/add_3_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_3"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_3_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/add_3_grad/Sum"
input: "training/RMSprop/gradients/net/while/add_3_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_3"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_3_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/net/while/clip_by_value_1/Minimum_grad/Reshape"
input: "training/RMSprop/gradients/net/while/add_3_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_3"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_3_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/add_3_grad/Sum_1"
input: "training/RMSprop/gradients/net/while/add_3_grad/Shape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_3"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd_grad/BiasAddGrad"
op: "BiasAddGrad"
input: "training/RMSprop/gradients/net/while/add_grad/Reshape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd"
}
}
}
attr {
key: "data_format"
value {
s: "NHWC"
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_3_grad/MatMul"
op: "MatMul"
input: "training/RMSprop/gradients/net/while/add_grad/Reshape_1"
input: "training/RMSprop/gradients/net/while/MatMul_3_grad/MatMul/Enter"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_3"
}
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_3_grad/MatMul/Enter"
op: "Enter"
input: "net/strided_slice_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_3"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_3_grad/MatMul_1"
op: "MatMul"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Mul/StackPopV2"
input: "training/RMSprop/gradients/net/while/add_grad/Reshape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_3"
}
}
}
attr {
key: "transpose_a"
value {
b: true
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/Shape"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
}
}
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/Shape_1"
op: "Shape"
input: "net/while/add_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/net/while/mul_4_grad/Shape"
input: "training/RMSprop/gradients/net/while/mul_4_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/BroadcastGradientArgs/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/BroadcastGradientArgs/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/mul_4_grad/BroadcastGradientArgs/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/BroadcastGradientArgs/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_4_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/BroadcastGradientArgs/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/mul_4_grad/BroadcastGradientArgs/Enter"
input: "training/RMSprop/gradients/net/while/mul_4_grad/Shape_1"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/BroadcastGradientArgs/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/mul_4_grad/BroadcastGradientArgs/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/BroadcastGradientArgs/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_4_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/Mul"
op: "Mul"
input: "training/RMSprop/gradients/net/while/add_3_grad/Reshape"
input: "training/RMSprop/gradients/net/while/mul_4_grad/Mul/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/Mul/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
s: "loc:@net/while/mul_4"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/Mul/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/mul_4_grad/Mul/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
s: "loc:@net/while/mul_4"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/Mul/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_4_grad/Mul/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/Mul/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/mul_4_grad/Mul/Enter"
input: "net/while/add_2"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/Mul/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/mul_4_grad/Mul/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/Mul/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/mul_4_grad/Mul/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/net/while/mul_4_grad/Mul"
input: "training/RMSprop/gradients/net/while/mul_4_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/mul_4_grad/Sum"
input: "training/RMSprop/gradients/net/while/mul_4_grad/Shape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/Mul_1"
op: "Mul"
input: "training/RMSprop/gradients/net/while/mul_4_grad/Mul_1/Const"
input: "training/RMSprop/gradients/net/while/add_3_grad/Reshape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/Mul_1/Const"
op: "Const"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.2
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/net/while/mul_4_grad/Mul_1"
input: "training/RMSprop/gradients/net/while/mul_4_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/mul_4_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/mul_4_grad/Sum_1"
input: "training/RMSprop/gradients/net/while/mul_4_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_4"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_grad/MatMul"
op: "MatMul"
input: "training/RMSprop/gradients/net/while/add_grad/Reshape"
input: "training/RMSprop/gradients/net/while/MatMul_grad/MatMul/Enter"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul"
}
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_grad/MatMul/Enter"
op: "Enter"
input: "net/strided_slice"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_grad/MatMul_1"
op: "MatMul"
input: "training/RMSprop/gradients/net/while/MatMul_grad/MatMul_1/StackPopV2"
input: "training/RMSprop/gradients/net/while/add_grad/Reshape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul"
}
}
}
attr {
key: "transpose_a"
value {
b: true
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_grad/MatMul_1/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul"
s: "loc:@net/while/mul"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_grad/MatMul_1/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/MatMul_grad/MatMul_1/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul"
s: "loc:@net/while/mul"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_grad/MatMul_1/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/MatMul_grad/MatMul_1/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_grad/MatMul_1/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/MatMul_grad/MatMul_1/Enter"
input: "net/while/mul"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_grad/MatMul_1/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/MatMul_grad/MatMul_1/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_grad/MatMul_1/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/MatMul_grad/MatMul_1/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd/Enter_grad/b_acc"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd/Enter"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
size: 20
}
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd/Enter_grad/b_acc_1"
op: "Enter"
input: "training/RMSprop/gradients/net/while/BiasAdd/Enter_grad/b_acc"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd/Enter"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: false
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd/Enter_grad/b_acc_2"
op: "Merge"
input: "training/RMSprop/gradients/net/while/BiasAdd/Enter_grad/b_acc_1"
input: "training/RMSprop/gradients/net/while/BiasAdd/Enter_grad/NextIteration"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd/Enter_grad/Switch"
op: "Switch"
input: "training/RMSprop/gradients/net/while/BiasAdd/Enter_grad/b_acc_2"
input: "training/RMSprop/gradients/b_count_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd/Enter_grad/Add"
op: "Add"
input: "training/RMSprop/gradients/net/while/BiasAdd/Enter_grad/Switch:1"
input: "training/RMSprop/gradients/net/while/BiasAdd_grad/BiasAddGrad"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd/Enter_grad/NextIteration"
op: "NextIteration"
input: "training/RMSprop/gradients/net/while/BiasAdd/Enter_grad/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd/Enter_grad/b_acc_3"
op: "Exit"
input: "training/RMSprop/gradients/net/while/BiasAdd/Enter_grad/Switch"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_3/Enter_grad/b_acc"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_3/Enter"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
size: 20
}
dim {
size: 20
}
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_3/Enter_grad/b_acc_1"
op: "Enter"
input: "training/RMSprop/gradients/net/while/MatMul_3/Enter_grad/b_acc"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_3/Enter"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: false
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_3/Enter_grad/b_acc_2"
op: "Merge"
input: "training/RMSprop/gradients/net/while/MatMul_3/Enter_grad/b_acc_1"
input: "training/RMSprop/gradients/net/while/MatMul_3/Enter_grad/NextIteration"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_3/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_3/Enter_grad/Switch"
op: "Switch"
input: "training/RMSprop/gradients/net/while/MatMul_3/Enter_grad/b_acc_2"
input: "training/RMSprop/gradients/b_count_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_3/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_3/Enter_grad/Add"
op: "Add"
input: "training/RMSprop/gradients/net/while/MatMul_3/Enter_grad/Switch:1"
input: "training/RMSprop/gradients/net/while/MatMul_3_grad/MatMul_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_3/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_3/Enter_grad/NextIteration"
op: "NextIteration"
input: "training/RMSprop/gradients/net/while/MatMul_3/Enter_grad/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_3/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_3/Enter_grad/b_acc_3"
op: "Exit"
input: "training/RMSprop/gradients/net/while/MatMul_3/Enter_grad/Switch"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_3/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/Shape"
op: "Shape"
input: "net/while/BiasAdd_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/Shape_1"
op: "Shape"
input: "net/while/MatMul_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
attr {
key: "out_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/StackPopV2"
input: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/StackPopV2_1"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/Enter"
input: "training/RMSprop/gradients/net/while/add_2_grad/Shape"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/Const_1"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/f_acc_1"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/Const_1"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/Enter_1"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/f_acc_1"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/StackPushV2_1"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/Enter_1"
input: "training/RMSprop/gradients/net/while/add_2_grad/Shape_1"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/StackPopV2_1"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/StackPopV2_1/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
attr {
key: "elem_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/StackPopV2_1/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/f_acc_1"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/Sum"
op: "Sum"
input: "training/RMSprop/gradients/net/while/mul_4_grad/Reshape_1"
input: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/Reshape"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/add_2_grad/Sum"
input: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/StackPopV2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/Sum_1"
op: "Sum"
input: "training/RMSprop/gradients/net/while/mul_4_grad/Reshape_1"
input: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs:1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tidx"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
attr {
key: "keep_dims"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/add_2_grad/Reshape_1"
op: "Reshape"
input: "training/RMSprop/gradients/net/while/add_2_grad/Sum_1"
input: "training/RMSprop/gradients/net/while/add_2_grad/BroadcastGradientArgs/StackPopV2_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "Tshape"
value {
type: DT_INT32
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/add_2"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul/Enter_grad/b_acc"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul/Enter"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
size: 13
}
dim {
size: 20
}
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul/Enter_grad/b_acc_1"
op: "Enter"
input: "training/RMSprop/gradients/net/while/MatMul/Enter_grad/b_acc"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul/Enter"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: false
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul/Enter_grad/b_acc_2"
op: "Merge"
input: "training/RMSprop/gradients/net/while/MatMul/Enter_grad/b_acc_1"
input: "training/RMSprop/gradients/net/while/MatMul/Enter_grad/NextIteration"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul/Enter_grad/Switch"
op: "Switch"
input: "training/RMSprop/gradients/net/while/MatMul/Enter_grad/b_acc_2"
input: "training/RMSprop/gradients/b_count_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul/Enter_grad/Add"
op: "Add"
input: "training/RMSprop/gradients/net/while/MatMul/Enter_grad/Switch:1"
input: "training/RMSprop/gradients/net/while/MatMul_grad/MatMul_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul/Enter_grad/NextIteration"
op: "NextIteration"
input: "training/RMSprop/gradients/net/while/MatMul/Enter_grad/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul/Enter_grad/b_acc_3"
op: "Exit"
input: "training/RMSprop/gradients/net/while/MatMul/Enter_grad/Switch"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/strided_slice_6_grad/Shape"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_6"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 60
}
}
}
}
node {
name: "training/RMSprop/gradients/net/strided_slice_6_grad/StridedSliceGrad"
op: "StridedSliceGrad"
input: "training/RMSprop/gradients/net/strided_slice_6_grad/Shape"
input: "net/strided_slice_6/stack"
input: "net/strided_slice_6/stack_1"
input: "net/strided_slice_6/stack_2"
input: "training/RMSprop/gradients/net/while/BiasAdd/Enter_grad/b_acc_3"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_6"
}
}
}
attr {
key: "begin_mask"
value {
i: 1
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 0
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 0
}
}
}
node {
name: "training/RMSprop/gradients/net/strided_slice_1_grad/Shape"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\024\000\000\000<\000\000\000"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/strided_slice_1_grad/StridedSliceGrad"
op: "StridedSliceGrad"
input: "training/RMSprop/gradients/net/strided_slice_1_grad/Shape"
input: "net/strided_slice_1/stack"
input: "net/strided_slice_1/stack_1"
input: "net/strided_slice_1/stack_2"
input: "training/RMSprop/gradients/net/while/MatMul_3/Enter_grad/b_acc_3"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_1"
}
}
}
attr {
key: "begin_mask"
value {
i: 3
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 1
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 0
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd_1_grad/BiasAddGrad"
op: "BiasAddGrad"
input: "training/RMSprop/gradients/net/while/add_2_grad/Reshape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd_1"
}
}
}
attr {
key: "data_format"
value {
s: "NHWC"
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_4_grad/MatMul"
op: "MatMul"
input: "training/RMSprop/gradients/net/while/add_2_grad/Reshape_1"
input: "training/RMSprop/gradients/net/while/MatMul_4_grad/MatMul/Enter"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_4"
}
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_4_grad/MatMul/Enter"
op: "Enter"
input: "net/strided_slice_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_4"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_4_grad/MatMul_1"
op: "MatMul"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Mul/StackPopV2"
input: "training/RMSprop/gradients/net/while/add_2_grad/Reshape_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_4"
}
}
}
attr {
key: "transpose_a"
value {
b: true
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/strided_slice_grad/Shape"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\r\000\000\000<\000\000\000"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/strided_slice_grad/StridedSliceGrad"
op: "StridedSliceGrad"
input: "training/RMSprop/gradients/net/strided_slice_grad/Shape"
input: "net/strided_slice/stack"
input: "net/strided_slice/stack_1"
input: "net/strided_slice/stack_2"
input: "training/RMSprop/gradients/net/while/MatMul/Enter_grad/b_acc_3"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice"
}
}
}
attr {
key: "begin_mask"
value {
i: 3
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 1
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 0
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul"
op: "MatMul"
input: "training/RMSprop/gradients/net/while/add_2_grad/Reshape"
input: "training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul/Enter"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_1"
}
}
}
attr {
key: "transpose_a"
value {
b: false
}
}
attr {
key: "transpose_b"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul/Enter"
op: "Enter"
input: "net/strided_slice_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_1"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul_1"
op: "MatMul"
input: "training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul_1/StackPopV2"
input: "training/RMSprop/gradients/net/while/add_2_grad/Reshape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_1"
}
}
}
attr {
key: "transpose_a"
value {
b: true
}
}
attr {
key: "transpose_b"
value {
b: false
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul_1/Const"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_1"
s: "loc:@net/while/mul_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
}
int_val: -1
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul_1/f_acc"
op: "StackV2"
input: "training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul_1/Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_1"
s: "loc:@net/while/mul_1"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
attr {
key: "stack_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul_1/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul_1/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_1"
}
}
}
attr {
key: "frame_name"
value {
s: "net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul_1/StackPushV2"
op: "StackPushV2"
input: "training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul_1/Enter"
input: "net/while/mul_1"
input: "^training/RMSprop/gradients/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_1"
}
}
}
attr {
key: "swap_memory"
value {
b: true
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul_1/StackPopV2"
op: "StackPopV2"
input: "training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul_1/StackPopV2/Enter"
input: "^training/RMSprop/gradients/Sub"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_1"
}
}
}
attr {
key: "elem_type"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul_1/StackPopV2/Enter"
op: "Enter"
input: "training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul_1/f_acc"
attr {
key: "T"
value {
type: DT_RESOURCE
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_1"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: true
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd_1/Enter_grad/b_acc"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd_1/Enter"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
size: 20
}
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd_1/Enter_grad/b_acc_1"
op: "Enter"
input: "training/RMSprop/gradients/net/while/BiasAdd_1/Enter_grad/b_acc"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd_1/Enter"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: false
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd_1/Enter_grad/b_acc_2"
op: "Merge"
input: "training/RMSprop/gradients/net/while/BiasAdd_1/Enter_grad/b_acc_1"
input: "training/RMSprop/gradients/net/while/BiasAdd_1/Enter_grad/NextIteration"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd_1/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd_1/Enter_grad/Switch"
op: "Switch"
input: "training/RMSprop/gradients/net/while/BiasAdd_1/Enter_grad/b_acc_2"
input: "training/RMSprop/gradients/b_count_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd_1/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd_1/Enter_grad/Add"
op: "Add"
input: "training/RMSprop/gradients/net/while/BiasAdd_1/Enter_grad/Switch:1"
input: "training/RMSprop/gradients/net/while/BiasAdd_1_grad/BiasAddGrad"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd_1/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd_1/Enter_grad/NextIteration"
op: "NextIteration"
input: "training/RMSprop/gradients/net/while/BiasAdd_1/Enter_grad/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd_1/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/BiasAdd_1/Enter_grad/b_acc_3"
op: "Exit"
input: "training/RMSprop/gradients/net/while/BiasAdd_1/Enter_grad/Switch"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/BiasAdd_1/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/AddN_3"
op: "AddN"
input: "training/RMSprop/gradients/net/while/mul_6_grad/Reshape_1"
input: "training/RMSprop/gradients/net/while/mul_5_grad/Reshape_1"
input: "training/RMSprop/gradients/net/while/MatMul_3_grad/MatMul"
input: "training/RMSprop/gradients/net/while/MatMul_4_grad/MatMul"
attr {
key: "N"
value {
i: 4
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/mul_6"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_4/Enter_grad/b_acc"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_4/Enter"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
size: 20
}
dim {
size: 20
}
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_4/Enter_grad/b_acc_1"
op: "Enter"
input: "training/RMSprop/gradients/net/while/MatMul_4/Enter_grad/b_acc"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_4/Enter"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: false
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_4/Enter_grad/b_acc_2"
op: "Merge"
input: "training/RMSprop/gradients/net/while/MatMul_4/Enter_grad/b_acc_1"
input: "training/RMSprop/gradients/net/while/MatMul_4/Enter_grad/NextIteration"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_4/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_4/Enter_grad/Switch"
op: "Switch"
input: "training/RMSprop/gradients/net/while/MatMul_4/Enter_grad/b_acc_2"
input: "training/RMSprop/gradients/b_count_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_4/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_4/Enter_grad/Add"
op: "Add"
input: "training/RMSprop/gradients/net/while/MatMul_4/Enter_grad/Switch:1"
input: "training/RMSprop/gradients/net/while/MatMul_4_grad/MatMul_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_4/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_4/Enter_grad/NextIteration"
op: "NextIteration"
input: "training/RMSprop/gradients/net/while/MatMul_4/Enter_grad/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_4/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_4/Enter_grad/b_acc_3"
op: "Exit"
input: "training/RMSprop/gradients/net/while/MatMul_4/Enter_grad/Switch"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_4/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_1/Enter_grad/b_acc"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_1/Enter"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
size: 13
}
dim {
size: 20
}
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_1/Enter_grad/b_acc_1"
op: "Enter"
input: "training/RMSprop/gradients/net/while/MatMul_1/Enter_grad/b_acc"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_1/Enter"
}
}
}
attr {
key: "frame_name"
value {
s: "training/RMSprop/gradients/net/while/while_context"
}
}
attr {
key: "is_constant"
value {
b: false
}
}
attr {
key: "parallel_iterations"
value {
i: 32
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_1/Enter_grad/b_acc_2"
op: "Merge"
input: "training/RMSprop/gradients/net/while/MatMul_1/Enter_grad/b_acc_1"
input: "training/RMSprop/gradients/net/while/MatMul_1/Enter_grad/NextIteration"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_1/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_1/Enter_grad/Switch"
op: "Switch"
input: "training/RMSprop/gradients/net/while/MatMul_1/Enter_grad/b_acc_2"
input: "training/RMSprop/gradients/b_count_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_1/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_1/Enter_grad/Add"
op: "Add"
input: "training/RMSprop/gradients/net/while/MatMul_1/Enter_grad/Switch:1"
input: "training/RMSprop/gradients/net/while/MatMul_1_grad/MatMul_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_1/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_1/Enter_grad/NextIteration"
op: "NextIteration"
input: "training/RMSprop/gradients/net/while/MatMul_1/Enter_grad/Add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_1/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/while/MatMul_1/Enter_grad/b_acc_3"
op: "Exit"
input: "training/RMSprop/gradients/net/while/MatMul_1/Enter_grad/Switch"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/MatMul_1/Enter"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/strided_slice_7_grad/Shape"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_7"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 1
}
}
int_val: 60
}
}
}
}
node {
name: "training/RMSprop/gradients/net/strided_slice_7_grad/StridedSliceGrad"
op: "StridedSliceGrad"
input: "training/RMSprop/gradients/net/strided_slice_7_grad/Shape"
input: "net/strided_slice_7/stack"
input: "net/strided_slice_7/stack_1"
input: "net/strided_slice_7/stack_2"
input: "training/RMSprop/gradients/net/while/BiasAdd_1/Enter_grad/b_acc_3"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_7"
}
}
}
attr {
key: "begin_mask"
value {
i: 0
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 0
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 0
}
}
}
node {
name: "training/RMSprop/gradients/net/while/Switch_2_grad_1/NextIteration"
op: "NextIteration"
input: "training/RMSprop/gradients/AddN_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/while/Merge_2"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/strided_slice_3_grad/Shape"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_3"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\024\000\000\000<\000\000\000"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/strided_slice_3_grad/StridedSliceGrad"
op: "StridedSliceGrad"
input: "training/RMSprop/gradients/net/strided_slice_3_grad/Shape"
input: "net/strided_slice_3/stack"
input: "net/strided_slice_3/stack_1"
input: "net/strided_slice_3/stack_2"
input: "training/RMSprop/gradients/net/while/MatMul_4/Enter_grad/b_acc_3"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_3"
}
}
}
attr {
key: "begin_mask"
value {
i: 1
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 1
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 0
}
}
}
node {
name: "training/RMSprop/gradients/net/strided_slice_2_grad/Shape"
op: "Const"
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_2"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\r\000\000\000<\000\000\000"
}
}
}
}
node {
name: "training/RMSprop/gradients/net/strided_slice_2_grad/StridedSliceGrad"
op: "StridedSliceGrad"
input: "training/RMSprop/gradients/net/strided_slice_2_grad/Shape"
input: "net/strided_slice_2/stack"
input: "net/strided_slice_2/stack_1"
input: "net/strided_slice_2/stack_2"
input: "training/RMSprop/gradients/net/while/MatMul_1/Enter_grad/b_acc_3"
attr {
key: "Index"
value {
type: DT_INT32
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_2"
}
}
}
attr {
key: "begin_mask"
value {
i: 1
}
}
attr {
key: "ellipsis_mask"
value {
i: 0
}
}
attr {
key: "end_mask"
value {
i: 1
}
}
attr {
key: "new_axis_mask"
value {
i: 0
}
}
attr {
key: "shrink_axis_mask"
value {
i: 0
}
}
}
node {
name: "training/RMSprop/gradients/AddN_4"
op: "AddN"
input: "training/RMSprop/gradients/net/strided_slice_8_grad/StridedSliceGrad"
input: "training/RMSprop/gradients/net/strided_slice_6_grad/StridedSliceGrad"
input: "training/RMSprop/gradients/net/strided_slice_7_grad/StridedSliceGrad"
attr {
key: "N"
value {
i: 3
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_8"
}
}
}
}
node {
name: "training/RMSprop/gradients/AddN_5"
op: "AddN"
input: "training/RMSprop/gradients/net/strided_slice_5_grad/StridedSliceGrad"
input: "training/RMSprop/gradients/net/strided_slice_1_grad/StridedSliceGrad"
input: "training/RMSprop/gradients/net/strided_slice_3_grad/StridedSliceGrad"
attr {
key: "N"
value {
i: 3
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_5"
}
}
}
}
node {
name: "training/RMSprop/gradients/AddN_6"
op: "AddN"
input: "training/RMSprop/gradients/net/strided_slice_4_grad/StridedSliceGrad"
input: "training/RMSprop/gradients/net/strided_slice_grad/StridedSliceGrad"
input: "training/RMSprop/gradients/net/strided_slice_2_grad/StridedSliceGrad"
attr {
key: "N"
value {
i: 3
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/strided_slice_4"
}
}
}
}
node {
name: "training/RMSprop/zeros"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
size: 13
}
dim {
size: 60
}
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/Variable"
op: "VariableV2"
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 13
}
dim {
size: 60
}
}
}
}
attr {
key: "shared_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/Variable/Assign"
op: "Assign"
input: "training/RMSprop/Variable"
input: "training/RMSprop/zeros"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "training/RMSprop/Variable/read"
op: "Identity"
input: "training/RMSprop/Variable"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable"
}
}
}
}
node {
name: "training/RMSprop/zeros_1/shape_as_tensor"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\024\000\000\000<\000\000\000"
}
}
}
}
node {
name: "training/RMSprop/zeros_1/Const"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/zeros_1"
op: "Fill"
input: "training/RMSprop/zeros_1/shape_as_tensor"
input: "training/RMSprop/zeros_1/Const"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "index_type"
value {
type: DT_INT32
}
}
}
node {
name: "training/RMSprop/Variable_1"
op: "VariableV2"
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 20
}
dim {
size: 60
}
}
}
}
attr {
key: "shared_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/Variable_1/Assign"
op: "Assign"
input: "training/RMSprop/Variable_1"
input: "training/RMSprop/zeros_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_1"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "training/RMSprop/Variable_1/read"
op: "Identity"
input: "training/RMSprop/Variable_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_1"
}
}
}
}
node {
name: "training/RMSprop/zeros_2"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
size: 60
}
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/Variable_2"
op: "VariableV2"
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 60
}
}
}
}
attr {
key: "shared_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/Variable_2/Assign"
op: "Assign"
input: "training/RMSprop/Variable_2"
input: "training/RMSprop/zeros_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_2"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "training/RMSprop/Variable_2/read"
op: "Identity"
input: "training/RMSprop/Variable_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_2"
}
}
}
}
node {
name: "training/RMSprop/zeros_3"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
size: 20
}
dim {
size: 1
}
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/Variable_3"
op: "VariableV2"
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 20
}
dim {
size: 1
}
}
}
}
attr {
key: "shared_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/Variable_3/Assign"
op: "Assign"
input: "training/RMSprop/Variable_3"
input: "training/RMSprop/zeros_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_3"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "training/RMSprop/Variable_3/read"
op: "Identity"
input: "training/RMSprop/Variable_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_3"
}
}
}
}
node {
name: "training/RMSprop/zeros_4"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
size: 1
}
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/Variable_4"
op: "VariableV2"
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 1
}
}
}
}
attr {
key: "shared_name"
value {
s: ""
}
}
}
node {
name: "training/RMSprop/Variable_4/Assign"
op: "Assign"
input: "training/RMSprop/Variable_4"
input: "training/RMSprop/zeros_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_4"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "training/RMSprop/Variable_4/read"
op: "Identity"
input: "training/RMSprop/Variable_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_4"
}
}
}
}
node {
name: "training/RMSprop/AssignAdd/value"
op: "Const"
attr {
key: "dtype"
value {
type: DT_INT64
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT64
tensor_shape {
}
int64_val: 1
}
}
}
}
node {
name: "training/RMSprop/AssignAdd"
op: "AssignAdd"
input: "RMSprop/iterations"
input: "training/RMSprop/AssignAdd/value"
attr {
key: "T"
value {
type: DT_INT64
}
}
attr {
key: "_class"
value {
list {
s: "loc:@RMSprop/iterations"
}
}
}
attr {
key: "use_locking"
value {
b: false
}
}
}
node {
name: "training/RMSprop/mul"
op: "Mul"
input: "RMSprop/rho/read"
input: "training/RMSprop/Variable/read"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/sub/x"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "training/RMSprop/sub"
op: "Sub"
input: "training/RMSprop/sub/x"
input: "RMSprop/rho/read"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Square"
op: "Square"
input: "training/RMSprop/gradients/AddN_6"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/mul_1"
op: "Mul"
input: "training/RMSprop/sub"
input: "training/RMSprop/Square"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/add"
op: "Add"
input: "training/RMSprop/mul"
input: "training/RMSprop/mul_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Assign"
op: "Assign"
input: "training/RMSprop/Variable"
input: "training/RMSprop/add"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "training/RMSprop/mul_2"
op: "Mul"
input: "RMSprop/lr/read"
input: "training/RMSprop/gradients/AddN_6"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Const"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/Const_1"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: inf
}
}
}
}
node {
name: "training/RMSprop/clip_by_value/Minimum"
op: "Minimum"
input: "training/RMSprop/add"
input: "training/RMSprop/Const_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/clip_by_value"
op: "Maximum"
input: "training/RMSprop/clip_by_value/Minimum"
input: "training/RMSprop/Const"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Sqrt"
op: "Sqrt"
input: "training/RMSprop/clip_by_value"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/add_1/y"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1e-07
}
}
}
}
node {
name: "training/RMSprop/add_1"
op: "Add"
input: "training/RMSprop/Sqrt"
input: "training/RMSprop/add_1/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/truediv"
op: "RealDiv"
input: "training/RMSprop/mul_2"
input: "training/RMSprop/add_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/sub_1"
op: "Sub"
input: "net/kernel/read"
input: "training/RMSprop/truediv"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Assign_1"
op: "Assign"
input: "net/kernel"
input: "training/RMSprop/sub_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/kernel"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "training/RMSprop/mul_3"
op: "Mul"
input: "RMSprop/rho/read"
input: "training/RMSprop/Variable_1/read"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/sub_2/x"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "training/RMSprop/sub_2"
op: "Sub"
input: "training/RMSprop/sub_2/x"
input: "RMSprop/rho/read"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Square_1"
op: "Square"
input: "training/RMSprop/gradients/AddN_5"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/mul_4"
op: "Mul"
input: "training/RMSprop/sub_2"
input: "training/RMSprop/Square_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/add_2"
op: "Add"
input: "training/RMSprop/mul_3"
input: "training/RMSprop/mul_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Assign_2"
op: "Assign"
input: "training/RMSprop/Variable_1"
input: "training/RMSprop/add_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_1"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "training/RMSprop/mul_5"
op: "Mul"
input: "RMSprop/lr/read"
input: "training/RMSprop/gradients/AddN_5"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Const_2"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/Const_3"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: inf
}
}
}
}
node {
name: "training/RMSprop/clip_by_value_1/Minimum"
op: "Minimum"
input: "training/RMSprop/add_2"
input: "training/RMSprop/Const_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/clip_by_value_1"
op: "Maximum"
input: "training/RMSprop/clip_by_value_1/Minimum"
input: "training/RMSprop/Const_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Sqrt_1"
op: "Sqrt"
input: "training/RMSprop/clip_by_value_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/add_3/y"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1e-07
}
}
}
}
node {
name: "training/RMSprop/add_3"
op: "Add"
input: "training/RMSprop/Sqrt_1"
input: "training/RMSprop/add_3/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/truediv_1"
op: "RealDiv"
input: "training/RMSprop/mul_5"
input: "training/RMSprop/add_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/sub_3"
op: "Sub"
input: "net/recurrent_kernel/read"
input: "training/RMSprop/truediv_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Assign_3"
op: "Assign"
input: "net/recurrent_kernel"
input: "training/RMSprop/sub_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/recurrent_kernel"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "training/RMSprop/mul_6"
op: "Mul"
input: "RMSprop/rho/read"
input: "training/RMSprop/Variable_2/read"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/sub_4/x"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "training/RMSprop/sub_4"
op: "Sub"
input: "training/RMSprop/sub_4/x"
input: "RMSprop/rho/read"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Square_2"
op: "Square"
input: "training/RMSprop/gradients/AddN_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/mul_7"
op: "Mul"
input: "training/RMSprop/sub_4"
input: "training/RMSprop/Square_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/add_4"
op: "Add"
input: "training/RMSprop/mul_6"
input: "training/RMSprop/mul_7"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Assign_4"
op: "Assign"
input: "training/RMSprop/Variable_2"
input: "training/RMSprop/add_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_2"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "training/RMSprop/mul_8"
op: "Mul"
input: "RMSprop/lr/read"
input: "training/RMSprop/gradients/AddN_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Const_4"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/Const_5"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: inf
}
}
}
}
node {
name: "training/RMSprop/clip_by_value_2/Minimum"
op: "Minimum"
input: "training/RMSprop/add_4"
input: "training/RMSprop/Const_5"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/clip_by_value_2"
op: "Maximum"
input: "training/RMSprop/clip_by_value_2/Minimum"
input: "training/RMSprop/Const_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Sqrt_2"
op: "Sqrt"
input: "training/RMSprop/clip_by_value_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/add_5/y"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1e-07
}
}
}
}
node {
name: "training/RMSprop/add_5"
op: "Add"
input: "training/RMSprop/Sqrt_2"
input: "training/RMSprop/add_5/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/truediv_2"
op: "RealDiv"
input: "training/RMSprop/mul_8"
input: "training/RMSprop/add_5"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/sub_5"
op: "Sub"
input: "net/bias/read"
input: "training/RMSprop/truediv_2"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Assign_5"
op: "Assign"
input: "net/bias"
input: "training/RMSprop/sub_5"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@net/bias"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "training/RMSprop/mul_9"
op: "Mul"
input: "RMSprop/rho/read"
input: "training/RMSprop/Variable_3/read"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/sub_6/x"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "training/RMSprop/sub_6"
op: "Sub"
input: "training/RMSprop/sub_6/x"
input: "RMSprop/rho/read"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Square_3"
op: "Square"
input: "training/RMSprop/gradients/dense_1/MatMul_grad/MatMul_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/mul_10"
op: "Mul"
input: "training/RMSprop/sub_6"
input: "training/RMSprop/Square_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/add_6"
op: "Add"
input: "training/RMSprop/mul_9"
input: "training/RMSprop/mul_10"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Assign_6"
op: "Assign"
input: "training/RMSprop/Variable_3"
input: "training/RMSprop/add_6"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_3"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "training/RMSprop/mul_11"
op: "Mul"
input: "RMSprop/lr/read"
input: "training/RMSprop/gradients/dense_1/MatMul_grad/MatMul_1"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Const_6"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/Const_7"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: inf
}
}
}
}
node {
name: "training/RMSprop/clip_by_value_3/Minimum"
op: "Minimum"
input: "training/RMSprop/add_6"
input: "training/RMSprop/Const_7"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/clip_by_value_3"
op: "Maximum"
input: "training/RMSprop/clip_by_value_3/Minimum"
input: "training/RMSprop/Const_6"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Sqrt_3"
op: "Sqrt"
input: "training/RMSprop/clip_by_value_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/add_7/y"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1e-07
}
}
}
}
node {
name: "training/RMSprop/add_7"
op: "Add"
input: "training/RMSprop/Sqrt_3"
input: "training/RMSprop/add_7/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/truediv_3"
op: "RealDiv"
input: "training/RMSprop/mul_11"
input: "training/RMSprop/add_7"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/sub_7"
op: "Sub"
input: "dense_1/kernel/read"
input: "training/RMSprop/truediv_3"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Assign_7"
op: "Assign"
input: "dense_1/kernel"
input: "training/RMSprop/sub_7"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@dense_1/kernel"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "training/RMSprop/mul_12"
op: "Mul"
input: "RMSprop/rho/read"
input: "training/RMSprop/Variable_4/read"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/sub_8/x"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1.0
}
}
}
}
node {
name: "training/RMSprop/sub_8"
op: "Sub"
input: "training/RMSprop/sub_8/x"
input: "RMSprop/rho/read"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Square_4"
op: "Square"
input: "training/RMSprop/gradients/dense_1/BiasAdd_grad/BiasAddGrad"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/mul_13"
op: "Mul"
input: "training/RMSprop/sub_8"
input: "training/RMSprop/Square_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/add_8"
op: "Add"
input: "training/RMSprop/mul_12"
input: "training/RMSprop/mul_13"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Assign_8"
op: "Assign"
input: "training/RMSprop/Variable_4"
input: "training/RMSprop/add_8"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_4"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "training/RMSprop/mul_14"
op: "Mul"
input: "RMSprop/lr/read"
input: "training/RMSprop/gradients/dense_1/BiasAdd_grad/BiasAddGrad"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Const_8"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 0.0
}
}
}
}
node {
name: "training/RMSprop/Const_9"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: inf
}
}
}
}
node {
name: "training/RMSprop/clip_by_value_4/Minimum"
op: "Minimum"
input: "training/RMSprop/add_8"
input: "training/RMSprop/Const_9"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/clip_by_value_4"
op: "Maximum"
input: "training/RMSprop/clip_by_value_4/Minimum"
input: "training/RMSprop/Const_8"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Sqrt_4"
op: "Sqrt"
input: "training/RMSprop/clip_by_value_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/add_9/y"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
}
float_val: 1e-07
}
}
}
}
node {
name: "training/RMSprop/add_9"
op: "Add"
input: "training/RMSprop/Sqrt_4"
input: "training/RMSprop/add_9/y"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/truediv_4"
op: "RealDiv"
input: "training/RMSprop/mul_14"
input: "training/RMSprop/add_9"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/sub_9"
op: "Sub"
input: "dense_1/bias/read"
input: "training/RMSprop/truediv_4"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
node {
name: "training/RMSprop/Assign_9"
op: "Assign"
input: "dense_1/bias"
input: "training/RMSprop/sub_9"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@dense_1/bias"
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "training/group_deps"
op: "NoOp"
input: "^loss/mul"
input: "^metrics/acc/Mean_1"
input: "^training/RMSprop/Assign"
input: "^training/RMSprop/AssignAdd"
input: "^training/RMSprop/Assign_1"
input: "^training/RMSprop/Assign_2"
input: "^training/RMSprop/Assign_3"
input: "^training/RMSprop/Assign_4"
input: "^training/RMSprop/Assign_5"
input: "^training/RMSprop/Assign_6"
input: "^training/RMSprop/Assign_7"
input: "^training/RMSprop/Assign_8"
input: "^training/RMSprop/Assign_9"
}
node {
name: "IsVariableInitialized_5"
op: "IsVariableInitialized"
input: "RMSprop/lr"
attr {
key: "_class"
value {
list {
s: "loc:@RMSprop/lr"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "IsVariableInitialized_6"
op: "IsVariableInitialized"
input: "RMSprop/rho"
attr {
key: "_class"
value {
list {
s: "loc:@RMSprop/rho"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "IsVariableInitialized_7"
op: "IsVariableInitialized"
input: "RMSprop/decay"
attr {
key: "_class"
value {
list {
s: "loc:@RMSprop/decay"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "IsVariableInitialized_8"
op: "IsVariableInitialized"
input: "RMSprop/iterations"
attr {
key: "_class"
value {
list {
s: "loc:@RMSprop/iterations"
}
}
}
attr {
key: "dtype"
value {
type: DT_INT64
}
}
}
node {
name: "IsVariableInitialized_9"
op: "IsVariableInitialized"
input: "training/RMSprop/Variable"
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "IsVariableInitialized_10"
op: "IsVariableInitialized"
input: "training/RMSprop/Variable_1"
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_1"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "IsVariableInitialized_11"
op: "IsVariableInitialized"
input: "training/RMSprop/Variable_2"
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_2"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "IsVariableInitialized_12"
op: "IsVariableInitialized"
input: "training/RMSprop/Variable_3"
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_3"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "IsVariableInitialized_13"
op: "IsVariableInitialized"
input: "training/RMSprop/Variable_4"
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_4"
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "init_1"
op: "NoOp"
input: "^RMSprop/decay/Assign"
input: "^RMSprop/iterations/Assign"
input: "^RMSprop/lr/Assign"
input: "^RMSprop/rho/Assign"
input: "^training/RMSprop/Variable/Assign"
input: "^training/RMSprop/Variable_1/Assign"
input: "^training/RMSprop/Variable_2/Assign"
input: "^training/RMSprop/Variable_3/Assign"
input: "^training/RMSprop/Variable_4/Assign"
}
node {
name: "Placeholder_5"
op: "Placeholder"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 13
}
dim {
size: 60
}
}
}
}
}
node {
name: "Assign_5"
op: "Assign"
input: "training/RMSprop/Variable"
input: "Placeholder_5"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable"
}
}
}
attr {
key: "use_locking"
value {
b: false
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "Placeholder_6"
op: "Placeholder"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 20
}
dim {
size: 60
}
}
}
}
}
node {
name: "Assign_6"
op: "Assign"
input: "training/RMSprop/Variable_1"
input: "Placeholder_6"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_1"
}
}
}
attr {
key: "use_locking"
value {
b: false
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "Placeholder_7"
op: "Placeholder"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 60
}
}
}
}
}
node {
name: "Assign_7"
op: "Assign"
input: "training/RMSprop/Variable_2"
input: "Placeholder_7"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_2"
}
}
}
attr {
key: "use_locking"
value {
b: false
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "Placeholder_8"
op: "Placeholder"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 20
}
dim {
size: 1
}
}
}
}
}
node {
name: "Assign_8"
op: "Assign"
input: "training/RMSprop/Variable_3"
input: "Placeholder_8"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_3"
}
}
}
attr {
key: "use_locking"
value {
b: false
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "Placeholder_9"
op: "Placeholder"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 1
}
}
}
}
}
node {
name: "Assign_9"
op: "Assign"
input: "training/RMSprop/Variable_4"
input: "Placeholder_9"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@training/RMSprop/Variable_4"
}
}
}
attr {
key: "use_locking"
value {
b: false
}
}
attr {
key: "validate_shape"
value {
b: true
}
}
}
node {
name: "net_output"
op: "Identity"
input: "dense_1/Sigmoid"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
versions {
producer: 27
}