Maitre_yoda_models/models/1.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: 9610273
}
}
}
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: "p\323\323\274S\231U\276\365\333\366\274I>\001\275\230\255t\276\014\254\317<\370\024\032\276%\260\2629S\024\021>\376-\257<\374\035\214\275=tR\276Bk\216\275\351^\230\275\036\366\341\274B\213y\275\232\255\310=\220\2635>U7\274=\035x =.\372\341\275\033z\017>\010\375\002=\303\362k>\235\367A\273K\235\t\276e;\206>Jw\334=o^>\275$\343\276\274Mq\220=\265L\027=\200#\201=DH0>\263K\017\275\334c\227\275{\343\275=\371\017\021\276a;u=?\340\257\275\336\232\207\274o\276\230>\324\344c\275s\300\276=\007\365|>Lr\027>7k\003>\027\010\225\276\206<\021>\262\272?\276\243\315\215>*\327\271\275\207\354\234=\215\315L\275(\264\270\273\032\3277\274\246\n\000>?\351\216\275\320\214\220\275\017\341\262=\240v\252;\016\005\206=\345u\225\276\204L\033=\220& \276hQ%=\350\362X\275:q\303=5u|\275\342\3540\276c\204\344=4U\360\275Mr\200>\261h\020>\333\225\037>?\272U\275\302B$><\241\206>.\000h\276;\223\000\275W^\347\275\036>\177>U\277\037\275\261\307\227=)\272\022>\340Q\017\274Oz?\276\356\317\343\275}\t\225>\352\204\321\275\177L\233\275\255@\r\276\340\3515\274J\205\204\275K{g\275!\206\r=\235QC=\362\336\007\276G/\207=\356\276\032<\201\364\202\276^\332D\274\347\2216\276ta\353<\350\336\006>\314\005\201\273\2573\263\2753\022\036=\335%\233\275\246\372\345=\342\274\254\274m\207\201\274\343\251\016\276cS\377=_:\370=\2012\024\275\263\250\267\274\"\255j>\3476[=\216\010\333<\351\007\005\275\025\247-\275\031w\230\275\311\302{\275\340\202~>J\310\214\275E5\324\275H&a>\316\276\221>\337\365=\2761/\305\275\013\200X\276f\223\305=~\325\261<f\036U\275\036\214\233=|{\262\275\335\005\310\275l3\263=\007\007M>\222@\341\275\214mc><\321\270\275\214t;=/\tG>o\302\365=\026\350\331=\300i\241>\206\277+\276\306cd=\000\3446\276\3265\376=\021\365\027\276:g)\275Z\366\210=\335\\\206=\261\003B=\244\224\361=j\365\376\275\302x5>a\371\000\276\007\221\241=\030~9;W6\352\273A\034\010\275\262\320\300\2755kX\276u\031\251<\364\301g\275\026\322\330=\332/\205\274\2464]\273o\227\001\276\367\365\303=F\231\371\275X_:>`J\246=k\231:\275\201\351\320\275j)\005\276k\354;\275\364 A\273\263\260\203=\010\240\2049\251r\240\276\036\262Y>\t\342o>\024\370\021\276\300\375I\276\363\335o=^4\032\276\\\247\223\2754\001\315=Z\352\250\275\034\247Y\276mj\017\276\325\300\233\274\227&\372\275w~L\275M\370\342\275\016l\240\275v\205\316;kQ\005>k\337\316;\341\372\306=\223?\340<Y\302,>\2031\253\275\233]\204<\n\276$\276\266f?\276.-G>nD\313\275\330\256\316=\253\211X\274\277\343z=\353\025!>@\'\341\275]tc\276|\267\343\273\247>\317\274T\273\276\275>Z\021>\267\256\323;hf\265=\302\212\r\276\014\'\036\276\264\320\177>+\247n>\375\346\326<H\016\222=\231\006\341\271\311\375a\276~\034\024>j\013.\276*/\351<M\"\032\275:\205=\275\203\321\247\275\325\314^=\232xA\276\305)o=\214\334\033>E\275^=\301`\360=st\031\276LF\364=\246\351\006\2762$\241>\205\325\025<\2448\226\275\036\336\375\274K\031\361\275\345,\027<\36766\276\244A\232=\326\0051>.\365\3328\'>\362\275u\362\013\276\200\370c=\321\305f\276\317\233\267<\250\222\251>\026Y\273=\354i\033\274L\361\231\275\030\225/=\267l\227>\360=\202>\305\352Q\276\233\330\362\273\2070\253\275\223\235\254\273\255\027L\275\300\351\214\275\320\026\016\276\357|\003\276\362\1774\274\031\206\010>\240\014\030\276@\354\376<G\'\311=\036Z6\274U~\260\273\221\212\316=\375t\240\272L\236\302\273\301\034)>IQ\007>\212r\221\272\000\230@>\010G\227=\341\025!>D\352\204=\303|\377\275\371\220\212=\252\311@\275x\220\351=|\237\345=|\031\267\275#p\303\275\220\236\013\274.Z\230=\005\315\205\275\233\315>\273\253R\215\275\257\014\027\272\005N\244\274\210\206K;\233[\371=b\253\366=\222E\036\275e\325\226=\226i_\275\033;\'\276\375\203\347=\220\001\325=\203\3104\274\325\350\005\276\252\002\010\276\'\003\271<q\265$\275(\032\243=V!\322\275*\307\202\276\004:\315\275Tx\221>\266\261\210\275\303Ap=\231\222\227>(\244/>I\020\023\276\352\006i>o\205Y>Ehi=Y4\361\274\303\016f\275\256\352\253\275\361\320p>\323\233\001>\276\177\020>.\265H\275T#N\275\030M\336<>\245\335\275\226\t\032\276\021\264B>K\221|\275\223\263\350=\217\177\345\275\217\276t\275\230\032S>\325\372\340=\270\2132=\365\233\276\273\371W\307\276\343\243U<\266\365]=\340\346z<\366\3624>Y1\226\275\315O\224\276(\365\036<\036\203\273<[JC\276hvp>\\{\005\276z\236/>*\246\216\273\320\254\242=\231K\030\276\031\367^=\317\233\253=K&%\276\226d\016\276\021_p\275\005\253{=B\251\271=\371GQ=\325\261\256\275m\327\230=\331\300r>\271R\351\275fF\247\274UX\225\275\221\006\307\274\302zh=#\013\245=\'0N>^w\263\273!\347D\275\372$\235=h)\">k\367\203\274`\345v=\254\240e\275f,\310<\223\rm>\266@*=1\314:>O\311A\276\317\243\223=A\007R=\033\317\026\276\303Ks\275\257V\023>olX\275:\226\225\275\250\201\225\275\325\202\313=\324r\013\275\310\362\276\275S)\010>\016\202\324\276\250\344)\276Km\225\275\027\\\013>~?\250=\373\035P\274\340o:\276\212\031\227\274<\207?<.\244\300\275\000,t=\0301\215>\333\227\304\275n\006\021\276\344\271l=\030m\307=\2068\206\276\255\203\237\275\2556\312\275\367\363\363\275\356i\206<\372\3062\276\031\370\376\274\277\270c=\256a\246\275\314$V\276\244\227t=\002\330\222=\311iG=\003\2223=\027n\">q)\362=mV\004\276\245\321\013>\272Z\356\274\320\310\357\274_\213R\274m\"\244<\303\314\002\275<\235\260\275\205P\274>\347\352\241;\'y\010\274\215@\002=*I\035>\2355\264\275R\223D\275(s\014\276j\\\250=\264\314\361\275|\221-\275\305\277\002\275\3170\022>MH\246=0w\357\276f\n\354\275\033\341H>\370V\021\275M\367\234<\247\216n=m\001\216=\310N\233\275\362\255\262=\013\004[=\\\317\204\275\016Y\357=\250\252L=#:L=\330\351\004\274\362\324x\275`L&\276tqk\275\341\r\206\275b\324\301\275\306\305\244\275C\207b\276\371I\252\274\254(O\275W]\232\274\242n\241\275do\252\273W\362\344\275\202O\251\275\010%\342\275gt\017\275\203\343\342=z>n\275Ku\t<\255hQ\276\307\013X>&\225\235=\220B\336\275\221\310\035\276\373\261W\275\023\337\021\276\337-\266\275\025\354\362=\023P,>{\230K\275\245\227\032\275\345\034\362<\334\311[=\344X%\275\335p=>\205|X\275\020j\263=#9\255=j\336#\275h\271/\276\001\255\'>\344W\311\276$Y\347\275f\201\232>\266\021\036\275\275K@>4\324I>`i\177>\025\227\000>\330\177\356\275\205ox=;f<>\201G8\276\333!\345=$\177\020<MS\243=\366\367\202<\313n\211=\002\315\205=\276\302\221\274\217\007-\276\001\353G\276}@\023>\345\236\025\276\257\2404\275L\003\360=V\036\265=\364\376\337\275\177\350\023\275\026\346g=\201\261\222>\243\366O\276\022\340\221\275UU\014\276Yw\255\274\263\255\032=\274\3354>\342e\353=\331b\306\275R\263\'\276[o\265>l\233\367=\020\201\220\274\247\262\016\274\252I\r=\005/\236<\306\307\227\275Nys=\2540\205\275\344\267\370=m[,=\233PW\276\342\035\017\276\263\002P\275\331\316\266\275i\224\244=9\321\022\276e\243\226=\331\024\006\276y\214\2179\245\002\341<\312%\304\275B\005\016\276\341\247r=f\331\256=\t\242\343\275\234\335[=\333\345\240\276\325\247\025\276p\035\004>W\226\026\274\255\256\313\275t\025\236>\223\235\021\274\014i_\273\'\036\245=/\354\350=\212f\240\275\304h\023\276\227\004`\276.\371\324\275\216\254\221\276Y\273c=v\304\035=\225\377\236=\301\262,=sh\371<\265\376\260>\201\252\376=\353u$\276\315K/\2764~\240;\241\370\r\275\354a\277\273@\271+\275\234\220!\275\364\002+\275\374\210\r>;\273\037\276|\364\332\275O8\215\275U\323Y>\314\214}\276\255\374\216\274\036\217\327=2\333\206<\007I\265=\364J\002\276sB\232=\250\022\242=\376j\361\275\245\305\366;\004\226a>\250\376F>Q\311\271=U\254\342<\177Q:<C\374\020\276\026\242\250=\"\032\225>j\331\267<\3116\364\275\034i\364=\343n\344;\237k\023;\322\356\352\274h\035\216=\326^0\276\325\252\036\2763\341\315=tk\000\275\355\023\"\275\251\304\371\274D\254s>\r\347\252=h\217\177\275Yx\017\276^m\036\276\327\021\256=\361\341p>\377fN\276h\"o\273\246\031\254=\362s\213\276\231\243O;\364\252~\275\030\002\303\275$;\312\275TgY=E?\t\275#\245\342\274shX>\276\271\377\275A\006B>\333\001\3449\3358L>\330\265\030\275\251\256b=\214\350F<\030\271\030>!\227\244=i\021\264=\"\010[\275\016\301\276=\230\241\005\276\2116\317=\353J)>\367\017B<\202\217\245\276\250\014\331<\246\317\246=\025(7<]\373\370:\020@\340=\347\214\021>hn\031\275\316\331\267=\277\020\374<\007\241\210\274{+\005\276\365\007\347<;z\325\275V\257q<\276\216\260;\351~*<\363^\252=\032\242]>\314\266\263\275\313L&\275\355\266V\274\207\354\321\273\014\200\256\276}\357\032\276\204=\252\275~e\326=\336\207\253\276\272\274\213\275=w\356\275\3040\027><\214\000\275\353\205\242=i)\345\275\303g\236=\0346.\275W\314\256\275\371\357\302<[\363\224>\363-7\276\256fY=uf\336=\245\264\245=m\215\036>\027\215;>+\022\215>4\266\013>\351\377\325\275\326\260\333>x\315\316\275\027\374(\275\272\2141=\347\301\254\275\306\322\206=\255\033u\275x\373\r>Nk5=h\336\230\275E\036Y<\343\300\234=F\273!>\240D\212\272\355)\272\275S&\006\275\243\220\200\275auA>d\265\000<\324\367\240\275\346A\226>\221\246\315\274\013\200\370\275\033\213\327=\336\005\256\275\303\020\t\276\314\274\253=\232\232\363<\0323\235<\244\322v\275\226\323\213\2755k0=\224@+>\030i}=\236U?\276\373U\320\275<Q\252\275\224B:<\303\220\036>w\235@>\373\246_=0\246x:\242S)>\247\336\311=\247\315\233\276\216\261\303\2762*O\276\343\037\301\275\315\210>\274\313\303\027>\354q\247<\267`(=7\322,>\253\013\250=\0209u>\031\3059>\301\300\311=\210^\030\276o\334_<\0242F>vO#\276\3163.\275D\310\006=\321\212\370=\320#\210\275ovn\274\244\370\374\274\216\001\220\275:/D=yV\332;?\376\007>k\177\355\275\272>2>!\213z\275\344\340\'\275\340\370(>XmF\276\2633q=\241\32639\353#\273=\301@o\275\032\303w>\356P!\275\264\372\217;\227\372\311\273\342\377,>\221\025\244=\252\032\275\275\371\224\t=\301\242#\275\017\223\251<\330\322s=\276\307j>B\207\020\276\023\203\237=\272\232\337=\273\025\223=\3229\371=\367\275Z\273\315\021\224=n\262&\276\025\340\240\275;\322\203\275\377\201!\2760\377_\276\264!N\275ty^\2761$p>\273\\\267<\255\212-\276\306\374\203>\326\033>\275\375\333\342<\312\2107;\237\255\244=g\304\004>\016\377\r\276\266.\340\273\355s\271\274mw(>\244:\022<\033N >\200J\016>\205v#\276\252\230\307=\020G\251\275\311\211\333\274\325B\200>\206\t\205\272\242\276\024>\246:\020>Yv:\275\376}&\276\351)]\276\326\345G\276\306\331s>\216\2571>\r\255>\276\221K\214\2758\375\023\276v\367\315=m\322\242\275\256\"\r\275\030\"\004\276\256\336\212=7\000)\276\255\330\233<K\346\003<\316\322\342\274\324]\207=b\221<\276\220c\306<X\2770\275\364\246\317\274\221Q\205\275 t\211=\264\377S>\357IB\275\227e\363;i\231;<lR2>#\013\004\276\242\247O=\245w\206>\300I\263\274\240Y\360\273s\362C<5\244X>\222\327\006>\310\340\331\274\343\222\226\275\033gF=\223 \250<\031]\242\275\265}/\275j\003\200\276\226\330,\276l%\022\276\n,\347=t\361\001>\213_/>An\006\275L\214\022\274\353\365>=\002m\243=\026\3018\275\003.j\276q\035\334\275\276,\027=\311\354\303\275cgj\275\335\316\234\275\2531\207\275\340\220O<\335\263\263;21:>\334\2641\276\223\315E>e\237\316=\ry\203=\007(\355<\332\036\244\276\031]\202\276>\010z\276@=m<\030\321\250=\336\340\224<\330\326\335\275Qi/\276_-\211;;\306W\276v\261<\276$\377\336\274\035\334\323\275\204\351\324\275\006V\026=\376W#\276O$\033\275\263\367\014<\330\2677>wu\320\275\2509c\276Ni\343=\367B|\275\265\261\375<\323\3473>\226\3756=\265+\206\2751O\030=]]A=E\022\232=eB\204;M\006\002=zZ\265\276\337\273\263>\001\374\332\275\2024\315;\327$\250=\020\206\002>!\036\311=\302\014M=\247\207\233=\231xP>\361\370\266\273y\211\n\276\246=\343\274\376\321\177\276/\304\n\276\375\341E\275\3526\025=\352\235\351\275\322\231\346=\\C\305=\370\225\024=\017\375\261=\306\223\216\275U-\320=*\333\n\276q\316\356<\255\351\207\276p\251\274\275\363\256\r<D\270\006\276\216\321g>\337R->dP\000>M\236*=9n\334=\305c \275\347\231^<\034\037^=\230ND\273D\302g<LP\250\276N\243.;L!A=F\206\300<j\331\304=\302~\267\274\272\374 \276/\353\244=\201x5>\263>\263\275-\317C=>\220\331=\007F\275\275<\255\221<\342\344\021\276aB\010\276\021\361\341\275\317S \276\221=\222\274\0173\t>K\215\304\275\n\236\013>\336<\351\275g\312\000>\010\341\027\276\n\326\016>\020\010\000>7\212\304\275\353\312\213=h?\275=\255\346\026>i\2062>\331\244R= \3112=\267\'/\272\236o\340=[\243\341=\376\361\357=<L\213\274\177\265\215<}WB>yA\261<\217\323 \276\3565\210>\253*q<\360\022\314=\263v\262\275\014\033\210=\240$\256\275\316fr;K\t{\275\360+\277\276\000\210\\\276\322\324J>%5\\\276\221Z\200=\372\332\212\275\225\013\206\275j<8>\275>O\275\365OG\276Ogy\276R\270d=B\320\312\273\006\033g\275x\005\327\275U\307\265=d\275\264=UM\032>\355\"\346\275\024\004\202\275\227\213\010>\017\261\t\276\211\007\201\275\274&\257=+R\355=}\223\200;\234\021\217=\203\000\203\276\276k\233>\352~w\275J\352\322=\217_V=UE\247\275\353 d>\335I\205\2761>\264\275&\010\230=\327\021\241=j\204\264\275\202\201V\275\024\334\013>K)\327;L9g\275\213\374\027\276\260>\213\274\206\034\003\2759*\340\275\312\0109\276\352\202%>^\003\316\275GX\323\272j\266\034\275\234\370\321\275\300\371\214\276:\230.>\024\233{>\311\201\217=6\274s\275\225rN>\327\360\231\275\267\"\304<\207\017\007>/\347_<-\001Q\275B\304F\275[\013\t\276\237c\027\275\245\343\t=p3\363\275\325\005t\276\260\267\025\276\372\370 \276\2017\272\275:\253\267\275O@\341<\235\267,\276d\265I\275\216\342\357=\26277\276\356~\215>\240\367\006\276\243#b\275a\236\031\276\244\032#\275\314a\201\274\0054H\275\216\323\264\275\014]\355\275:\216\021\274\365\201\217=\340$^=\221\306@\276Js\344;U\002A>\230\337\366=\220\203\260\275L\251\310\275m\003)>\317x\213>\371\241\240=\372J\"\276\'kl=\232\023\220=\032\253\253=uG\273<\267~\027\274=\246\353\275\200\265\024>)\306n=\307O\322=\357\270\253\276\036\254\262<\033\345\016\276\357\027\314\275F?\266<\364\367\257=\331\364\206=|/C\275A&\252\274\263\220b>D\004\262>Mz\004\276\362\003\006>\213\325\027\2765\3101<z\001\324<R\003\361=K^\330\273\230\021a\276\252\207\267=\231Y<=i\020\031\274:)\267\275\323p\177\275\330\372\237\275.\013&>W{$\275"
}
}
}
}
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: 5984437
}
}
}
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
}