Maitre_yoda_models/yoda7.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: 1550129
}
}
}
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: "\274\251f>\236|\333=\335\014\227=\3018z<\000\236A\273\230vp\276\020\346\014\276\034\274\210=\'\354\256\275\344\343\205>\362\340\313\275Bm\263\275\r\241\231=\376PV=\215\3556\275k\314\245\275\327\002\037=Z~\253=\020\370\244<\303\232\341\275\230<u\276\233\2754=\002h\021\274\202X1\276G\347]>Zq\360=1\206\026=@\337\005>r#\242<\230\274G=\277\3617=\314\005\233<\372Y\201\272$Cb<V\355\223>Q\206\202\276\032\271\357=\3156{\275##\243\275\346\312\255\275b*\033>\272n\270\275K\370\246=|&y\276\270W\214\274\314A\215\274a\000Q\275\230\212\207\275\224\0055\275\251\3539=\307X\337\275RW\3719t\265\020>GR\025\275\261X\030=\031=\312=\2011\337>PY\375\275|Y\206\274o\373\321\275\251\217\203<a\254\014\276\006\303$\274y0\201=<Q\237\275\016\207\233\275\204\337S\275\250\355A<\366\344f=\253{\014>\312G\021\276\226\361r\276&.;>\267\017\010>\230\010)\275\312\326]\275SS6>1y.\276\257\357G\2759\323u=\340z1\275\212&\014<x4\n\276\032\213h>m\3143\276\347\257\034\276K\221\036>\017?\300\272\252\230-<*\245\243\276\031\231\301\275\223}4>~\316\264\274A~\204\275\225[\373\274\303\377K\275\357\272s\275\211!\n\276\302\226#>\0138\225\275O1\032>,Ol\274\364\345>\276\002{\274<\316^\211=\313\215\206<*I\322\275\n=\362\275>\234\226\275\276KE\276\031\266\215>\ta\244=C:\211>s\320\030\276\215n8\276\\K\251=\305\021\225\275t>\020\275\330<=\276\311\361\023\275\231|\240\275\232\007=\275*Y@=\361\355\211>\001\027`\274XD@=WC\303\275\014\250C>\034\360\244>}-\260\273?L\364\274\350\311\241=\r\227\243\275|\261\233\275\342\220b=\303\367\324;\323o/\276\007\257\322\275\353\304*\276\3262\020=_\351\204<5\310\017=9J\342=\305\002\000<\331\276\251<\325\246r=\013a\372<nv\351\275\211\220T>\275\245N>\213\023\335=\026\032Z\276\364E\214\276\247p\306\275\003*\025\276\320_t\276jX\002>\217\254\n>`\022\033>\t\224\230\273\365\3341\275\214o\003;\360\272\364\275.\'\n\276\014,\221=\254\222\343<\027\332\007>x\t\"\275 .3>f&\263\275\2039\006>k\376\314\275\027\201l>l\236\301=\362\221n\276\355F~\275U\347\r>\336I\355=\256z2=\372\000\034\275f\024@\276\231\333\366\275\n\275\037\276/\332\324=X \205\276k\r\240=\264[\313=\250\365>\276!\263T\275\3150&\276\034U\375\275\'^\233=:\355\264\276}\241\364=\021O\370\275\023r\300<Bc\000<qo\247\2744c9>6T\246=\034X\371\274\007rW>\000\366O\276\300fE\276D\n\333=\014\305\215\275W\177-\275\300\254\311\275L\355\035\274\326\205>\275=\304\234=0\251G\275\352\211\037=\3051\240=o\333J<;yo\276\352\333<>n\211e\274<\311\252>|f\201=\273\364\211=>\374f\275\352\026\025>\313\333N\275@\'S\274\313\020+\275\327\0103\276\210`b\275\2530\004\276\3012\327\275-7\262\275\237\301\302;\333w\337\275\253\360\252<^\220\262\273\271\220\211=m\303\306\274>4#=J,7\276\210\370\"\276_k!>2\251\177\276\320\244-\275u\337\341\274UW\205<\312C\233=\373K\204=\214,F>\336$\347\274:\346Y=S\"9\2763\356\251=0\2272\275\026\244\000\276\342\315\322\275\264\356z\276\242\'_\276\307m\'<\344=S<\246\201\274\274\033\224,\276R\253\311\275w^\216\275\213\236\003\276\253i\241=\347X\000>\336\301\"\276\341,D>\025@\253=K\305\205\276\265c=\275\226g\337\274`\231E\275\340\003\324=X\326\333\275\'\335V\275\035\366\036\275\2023\253=\213\020\'\276b\272\213=\377\202\345<e\361\025\275\340\234P\276\331+\021>j<^\276\264\343t>\236\250\215\275\033W\032>\334\217\373=\255\035\007\276\033~1\276\301\230\031\275m\342\217=ppU;\200G\361<\210\233Y>\336\032B\276\261\300A>i\364\005\275%\300\326\275\231\303.>\246\260\376<\323j?<\3042+\276\371\342\n<\034{3\274\325\301\023=\032 \202\276\241\024\272\273\215\300!\276\237\027\235\276H\3448>LL\026<\346\200\334=\030_\005\276\\\323\023=\206\216!<_\227G>)Q\276=\203\263*>\232\036;\275\r\226\251={w\037\275\272\243C=\024G\201\275\324?\215=QE;==N\'\276?\033\303\275\241\304=\275\306\223\336\275\312*J\275\326\307\226=S\347\024=\r\016\204\274~`V>\215\301\207=D\340(\275\301\034\004=\201\326f=]\300\334\275\237\001\200=Pu\232\276\021\312\263\276OZL=\"\213\350=\023\241]>\005_\314\274d/4>0^\253\275\344\244\234\274\026\257\224= \273!>(7\213>/\300\315<r[\226=\317\321\365=R\273&\275\261\213\207\274\300c\">\224\233\350=|{\332:Xh\210=\037l\016\275\335?\027>af\241=\264\306o=\366\2443\276\211\3223\275a3\266<\234\350\014>\240U\227\275\232\272\342=>\252\321\275R\301V>\321\235\201\276\024U\200\274\226\205!>\026\322\310\275K\215]=vM\027=g\271)\276\333G\216\275\366\300\261=nc2>\345\014\361=^dE>z\375V\276\357\2158\274\362\375^=L\333\241\276\271\250`\276\302\366\033\275\221\254\021>\373\343F\2765\200f\275}\010R>l)\367=\020\223\006>\024-\003\276\370\006\r\275j\362\217=w\313p\275\212d\214=\024\024\240\275d\372?\276\222\025.\275SH\013\2762\313h\276\r`h\274\2527\275<\361\321\367\275\377\026\261\275\225\323\225\2740\352|=y.\213>\027q\006=\2300;<\314d\032\276\260i\361\274\312ln<\237\216o=?\206\003>Y\372\201\275-\375\357=\277D\216\274\312z\007\276B\371f=\200\264\332\275\346\321`\273\264\rf\275!t\030>\257\254\021\276\234#\203=\243W\364\271Lx\272\275u\030\276<;\005*\276\240,m=\370\224\233=u\227\014>\030\327K\274\205HL>\3577\303=g2>>{\364J\276qo\266=\206\307\320=\246\344\220>q\330\034<]\221\376\275\315\032\321<$b\216\275Xu\335=\346\336Z\275W\353\326<\274\321\006\276:\3643<\226F\364\275\355\332\005\276`\222\025\276g\322\215\274W,\270=\356K\'\276\324\331\034>\307\360\026>\373\361\023\276\324\227\366;\377q\215\276\236\336\262\276S\013\217=4\326\006>\271u\352\274\225k3>\276\006\202>XY3\2766\275\033=\227(\027>jO\234\275\007G\322\275\376\260\201=\217-\311=\355\037\201>\017\330\331\275\206di\275\346p&=\023q\335=O\210\330\272\0056\271\275r\264\027>\005>\353\275E\206\001>\023\270\217\275\225T\301\275\361\220\313\275C\323Z>\322{\021\276)\004\357=\237\367d\276\261\350\250<\355W\232>9\243\352=\347\332\212=\026\372k<:\204\306=\244B\363\273\270a\363\275\372u\031\275\354o\370<\240c\'\276c\014\370\2736\003X\276\177\255\223=#!q\276\365\262,>\210\321\216\275\340w\001\276X#\210\275S8V=pB\230=t\267\232\275\243\211\021\276\254\330<<\240\276r>\002\354\270\275\000\357\353\275\317O\240=\306\376I\276\301*{\275\326\356\260=x\2071\274f\211\352=\206T\\>\327\332\315\275\032K\241=f\241(:js\370<E\2502>7\356\220\276\330\\\237=\375?\303=\304\237V=\310\002\005>\006>\343\275\341\303\265\274\326\314\270<\031\357j>u\261\305;o\327\275\275\2664\316\274\343\030M>B\324@>\nZ>\276\362\277\362\275\337\nQ=\204\022U>\032\236\207\276\306\010\036<\302\311j\2758?M\276_\244\324\275\272\251\351=}\212\022\274\254QB=\256\227\223=\3177\214<9Kk>\265\204\254<\347R/\276\357L\311=\005yO\273\354\332>>2k~\274O\224J\275\367\237\251\275\014\t\013>\rN\231\275\225\301\237\275\023\231\231\275\3122\216\275Flk>\300\032\245=DG\326\275\301!b\276\342r\214\275^Y;\276\217\253|\276S\212<=\316\025\022;(\035\203\275\366W\000>g!\002>\334\360\216=\204[X<\014\305\201\2767 \237=\2123T\275\225f\t>\323\307P=\000!b\276\266\3630\276U\3130>3\304%\275B5\351\271p-t\274\266oC>+{(\276\370B\202\274\267t\224=TD\326=\301\200\027=\305|\264\274N\\\234\274;\307\364\275\032iv\276\204\257\213=T7\316\274\251\334\311\275\311\235\324=\230p\367;\326\032@\276G\025\251\275I7y=\177\263\003\274\375w\374=\307?1>\030$!=$\201-=:\033\324=\252\014\302\275w\227S\274\310C\002=\nu+;/\370\271=\317]\036\276\017(\022\275\017\303O\276\224\256\324\275V\030,=fZ^>\355!\350=\007\003I=\030Zh\276\234\037\007=\306a@\274l\226\244\275\036\274\356=\'\367$>\016\305\250\276>\350\005>\004h\306</j\t>HNe\276\266\274\253=\001\360O\276\234\034^;\312\262m>\311\311>=lq\034\276\312\005\212>h\006\253\275\263\261\237\275\016\025\256\273\314\004\035>w\367\254\275\r\177\007>g\271\306=3\203D\276\356+:\276\227\177R<\026mc\276hLq=M\312\030>\301pp\276+))\274\361m\221\276_\033\360\275\257\375\354=F\225\217\2756!D>\370\371\376=\342\005q\276M\223\000>\201,\217=\034\302\256=\016b\203\275hG)=u\340\366=\230\245\327;\'4\246\275\364Y<>\253\310_=\250\267\371=z\353\232\276\"$%\271\2307?=\2212\215=\214\306\n\275\324u\371=K\237\201\275zfx>R\311n=n:\010>#\2235\276\240\252\032\2769\331v=4\373)<\355\314\010>E(\010<(\276\236=\336\204g>\n\245\242\274\367n\361\275 \3002\274\t\320\003=iv&\276\017\221\344=\351A\310<!)\372=\204~\344\274_\215\223=vE\233\275\023@K>\017\353@\274\\\361\262<\031\245\217=\r\303\313\274\340\361\217=J\205\365\274\351\3658>\024\r\205\275\304.\t\276\023\244\255\275\021\014\037\273g\037\323<wO\304=\223<\000>\307p\002>9\200\304>N\'\031\276`*\376\275!\245\317=\252\350\034>,\341\274=\227O\017<\207\002c=\023)\013\276<m\026\275@\306F\275\203D@>}\002\003\276\t\225\216\275\233s\324=\371\005\225\275\371\035b\274\256\342\350\275\214\327\t=\373\210B\276\"\352\233>\022\032\337\275.\370S\274\016L\200>b\266-\276\240_\221=0S\023\276\244\004\274<2\241.\275\266Q\311=\325F\003=L\244\330\275\276\335\235=F\330\312\275\240r\324;\267g\"\276\351\3104>)\264:\276=\240\202\275\366\017m>\263\253H>\267\231\323=\233j\222\276\226\245x=\036&\204=L\177\224\275\305;\241>\002\035\364\275\252\035{=\035Qm\276F\361\273\274\002\006|>\330\200R>\2737\276<\220\264I\276\375\217\261\275rC9\2763\352\177\276}\313<\275>\004\364;y\205/>\220\375\207=Lbg;\362$\211\275,\036\366\275\244\307\205<\010\242M=4C\002\276\245\035\322=\213[\255\275\326p\216<\241>\233=)\026\203>-\261\364<\305P6\276p\263\200=\323\274\213\274{\034\"=\377\300@=\002\3072\276\300x\361\2747\235\006\276\363\261\306\274J\377\214\275\301\236\277\275b=\277<\211=5\2767\227\376=t\001\271=\377\335\024\276\263\345\327=2E\205\274\357`2\276u&\222=\373\246A>\311\273\013\276\270\'\213\275Zu\365\275\324|\300\275\325K\265\275\r\234<\275\313\237\250=\277\246w<-u2>\033\325\246\275K\270\001>39\315\276\\\350\303\275G\204\342<J\356)>\366)\354=\025P[\273\010n\265=\322\267\356=\003;X>1\243\207\275\344\2741=]\353\256\275\345*=\276Q\361\331=\347Q\254=\364\321E>\216\324 \273\373\276@\2754{\327=\233\222\206\2754P\202<L\272r\276\254\177\264=\214\177\256\274\007<&\276m=\226>\335\376\020\275\302\211\031>\204\267/>\200K\022>\302_K\275\333\\\003\276\271mq=\025\321_\276\363\266\254\275,\003\313\274[\2425=6~8\276\352\020g\276\234<{=\\Y\n=\352@\354<9_\251=\035\212\357<\203l\272\275\354\035\313<\2125A\275\023\020W\275\250\005\322=y\240\270<=\2219>\347\3601\275g.\'\276\250Z\370<g\222:\276q\343\256<\3202\016\276\310\335\234\275[\300\327\2753\221\360\274\374\327\306<m\3659>\230\003\220\275\301F\242\274\204\303\272\275\250\313\215\276]6[\275\351\245\007>\241>\330\275e\247\024\276\216Z\255>\371}\361<\245\351\221>e\354\211=\025\226Y\275\301 \335\275]p\223\274\220e\212\274@>\314\275\335\263\016\274\366#\212\274-[T>\035\315Y>\325n\230>\036X\264\274+c\251=\232\226\007\275U<\t\276\273\024\341\275~\354\371\274\24044>2\304\034\276\\G\222<\202O\253\276h\251\257\275I\3234\275\356|G;O\274\017\276\244w\017\275\271\037\023=\360\204 \275\22037>\336?\263=C\213O\274\333\313\022\276\312jE=\272\325\275=F\330\242=\017L?>\372\3468=\265\013i\274\212o0=np\341\275N$\315\273\377\264.=\227\"\352=\237\256\322\275\305\343\204\275\224\273\030\276Yy\337=k\0147=\220\307c\276\377)\207<V\350\000\276\257n:\276F@\204>\274Ac=i\202\002<|\324\247\275\322%\232=\204p\346<1Y\377<\343(\"\276Q\247\220\276\037\335\203\276W\272\224=\305\262\204\2757\210\232=\035\025.>\004\256\235\275\236\221\001\276\372LC>\364\tk\275\213\022\004>\024\340\277\275\246`\324=\272X\005\276\001\364\017\276\313ZH>\3243\t\275Z[&\276%\350t=\331\303\025=\013|\200\276M\256\332=\227\336\210=\270h\257\274\220g4>n\267\033=\020\2045>\275\325\247\275\007U\014=\245o\r=\3050\323<\201Z0\274\222\363\342\2757\027\252<\037w\023=\375\302\317=\202\036\230>\201i\314=P@\031=\301\224\277<\207\243s\276UA\272<j\023\330\275\322|\021>\277\207\005\276\030\267\306<#(\332\275*z\000>\252\353\231\275_\001<\276\361\004\302\275$\377\377=#9\341\275\033\341\257\273?\255\006>{!\361\274x\205|=\210\232.\276\273/V\276%#\206\2744\0258>\375Fy=\375\373G\273j\360\205=\213\213W<\0328k=$\362\215<\306J\r=08\272\275\372\240&\276,|p>\252\221\223\276\220\244\202>\372\264v\275\316\021\277=\237\002\023\276.`\201\276\201\231\034\274Z5\013\275\024\263\357<.\361\267\275\010t\002=\336\177I=\'\021<\276\273\013\242<\026 \265\274\242\037\212>\\(4>6\255?=\341i\256\273\230z9=\237\272q\274\355N>\275\340\023\026>\214y\250=\264(<\276_&\\\275\325\250\207\276\021\032\256=\324\001\013>\372\002R\275\235G\'\276\264\030@\276\316\244+\276\332\257\033>\263\331R=\266\254\201\274\211\033\256\2750}e\276\241\2520\276-\364\334=\246\270\023>\3664_\276\377m\314\275\356\022\253<#3\346\275\225\211D=\364\341\235\273+\320\016< \035\033\276!\035\201\275\243\237#\276\025s\302=B\273\205=J/\363\275\"\212\030\276\037\361\207>\224c(>\214T\253=^K\032\276\221 \240=\205\257\351<\020\204\274\275\270\220\023\276\267\002\202=\216\007\375\274mY\252;\275~\023=td(\275\226G\277=eE\334\275\242\343\312=\332>R\2764_:\275U\246\263>\266,\334\275\030\373\266\275\316\356<\274Lm\373<\276\341\342\275\362\333\216<\346\372\207<\234q\252>\277SE\276\231\242a>;\364W\274\026\365\031\276\324T\305=\003n\003=\005\206\235\275\001sG\275\014e\235=\350\303\222\275\262e\033\275\233\230\247<~\335\021\276)\370\337\275cwj=UD\223=<C\276=\n@U\275=e\242=\353\2535\275=\234\017\276\326\005K\276+\272\231=\004YI\276\255\311\254\273\257\031\212\274X V>\266M0\276\033\027K\275\253\270O=\303\375\274\275Q\177\'\275\306\277O>w\337\235\274\304\313\315=\022\226\254\276\233\261\030\276\227\376\327<\245\376-\276\322]\237=u\316F>\377\242\310\275\313\372\362\275\024*o\275\335q\315=\203\272\237\274\245\221\337\2758\234\014=P[v=M\235\211\275\336R+\272\3649\005=Vt8\276q\007\320<o\235K\274O\333\217\276HP\"\274\376\232\305\275`\215\270\275U\250{\273E\252I\276PD,>\223\343\245=\377\232\200>v\307\216=\223$\203>\220\332\265\274&\036\004>*)t>\353e\363\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: 3780587
}
}
}
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
}