Maitre_yoda_models/yoda16.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: 2044131
}
}
}
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: "\210s\322=_\322Z;/6\215\275\345\t\256\275\005 \240=-\231#\275\3747\266\276*,\237\275\230\2368=\225\331%>B\221\253=\346\344\'\275\351\205\006\276\343!\'\276l\335<\276o;\'\276\237H\016\274:\214\237=\031(\345=\231\237T=\223\\\232<\250\321\204=\377Gq;\251e\240\275\271\326\026\276 \213M\275\277Lx\276`xs\275>\367\r\275c`\204=\021\'\255=<\231\030\275\212\033\300\276\236\256\271\275T\217j\275\360\275!=\232\273\236=\213t\334\275\026.\340\275\366\0231>\266\213^\276\013\263:\275ce\223=\n`\253=\002vV\276\353-\265=\371\373\031\275\314\270\344:\366\360\033\276\272\375C=#\351\010=\213\242\325=\033\202\005>\207:\221\276\227BR\271\231@\\\276{e\000\2750\311\343=\304\033W\272<\017N>\353\322\266>z\235\371=G\006d=\252\021\034>)\363D\276\n\246|\276C\004\357<\260\3315>\356*\r\276\374\361\276\275J\367\264<t\r\376\274x*[\275_\332\210\275\002N\332\275\367\347\231<@~c\275=\363\377\274\303U%=?J\230\275{\273\347\2748\340\274\274&)\321\275\024b\201>\252\035\001\276M\244\300=\034\342\301\274\353B\305\275[\261T>\341Q\244;\357B\365\275\021\3103>\376\034\334\273\217\014\025\276XhN\275\333\013\231>;\3415=wP1\275\\\362\311\275?\342\304\274\352\2237\275[\3710=\300\246\226\275\213\023\270=WX\272=~\347z=\302\334\034\276ek\200>\3206\036=\2231\201>>\223\366=\320\371\010\274E\022\300\274\256<D\275\337\216\373\275\302\363f>{\270e\275\330\305!>\330\274\303\275\341\342\364\275\206\032)>\026\236R< \324\212\276\266\335\243;\n\357\243\275g\036\006\276\273\271\354=&\231\210\276\3110\024\276V\240Y=\352&1=\365D\201\275\352\377\371\275\335|\023\276\327Z\372=\344\037\202\276D\256\247\271\231\016\010=Q/\325=k\341\315=:%\357\275Y\214\034>ly)\275K\204\275\273\246\3260>\202t\331\2759\'\236=\353\260\037\276\264\232C=\372U\027\275-}3\276\026r\262\274\344d\"\274\231\0324=\331\341\205\275&\307)=\262\311F\275%\337\375=\2255\031\276\233\025\230\274#\246\345<\345\006\207\275\"wq=\202\364\245\274xG\031\276\376\235\310\275\364\357\321>\017+K\276\017p\270=\336\266q=\"\324Z<\203\005\237\275\352(\221\275\201\211\237<\n\264\242>=\311)>r\353\211\274c\256\033>\201\350\227<\317h\247\275\021\365\001>\310\216\225\275o\033\202\275l\366,\276\374}\006>\200\272\217<\344\325\357=\206du>!\036x\274\013?\256=gv2<\341f\032\275\331\270u\276KE\330=J1\236=\031D,>F\273\305\275:\305E\276\246\246\220<\027\336\371\275E\2402\276\306\222\262=\234\033\331=\024\233\262\275\226\3645=\207\354\352\2750\014\016=\312A\367\275s\0138\276/\2334\275\327\305G\276\303\231\275\274\301)\373=oF\003\276S\021(\274\305s\274\275\332\240\t\276\362\326\207\275\\\261R\275X\271\212\274&\346\324\275bH\330\275+\017\367=/7\253>\230\021\322=\231Fg\275\227\352\222\275n\323\241=\223\334\224>z\246\261\275!u\221\275p\232a\276\031E\231\274\235\357n\276[e\025\273#S?\275p(\336=j\0043=u<\220\275\3422\200>\032\217!\276#\367\202\274e\304\312=\026\245\177\275\323:\371\274\260@)<g\034P=\221d9\276\030)+\2754\211/\276w\007\212\274\324\215\327\275\312\323Y\276\226\217\247>4\354\261\275E\271\245\275\007<n=\211\202\006=\024\250\201\276\342\313:>\351\221A:8\342-=\210\230m\276:\017O>A\351\004\276\2346{\276C7\332\275\215\252\276\275\034\t\\:\343\026V>\202{W=\245\005\344= \341D\275\000\325\\\276\230\276\222<w\234\226=RZ:=\255\034\252=\313A~=\205A\221<|\252\017\275mm\037\276t\026\020\276\210\237\260;\354\206B>-AH>\201\263\365\274o\361\240\275\224\354\330=\263\233y;\321\251\316\275m\241\217<\261l\250=\376_&>\200\211h>\343\370\226<\030\005b=\275\272\022<\226\361\242\275B\357f>DT\227:\001\352\332:/\325&>\371NC>\255\251\272=!\256\016\276\203\356O=\020B\023\276\345PE\274?S\372<\0076\242\275\323\220\326=\227\262\373<\204{\254;X\234\311\275\255\376\374\275\250\022\306=\227\2778>\026\0028\275\260\363D>\007\034\264\275\310\320\263=M\236\270=O\324\036>y\310\272=\220\177\227\275x\213\030>\001\205\311=\210%5\275\301\302\354:\202\367\232\276V\224L>\215\032V>\021\247\327=\030z\203=\262\n\223\276(n\221;\364x\356\275\030h\t\275\010mx>\207-\014\275\320\215k;\340\002\022\275\024\203`>+\231\031\276e:\270=#q;\276A\270\330\275\345\357\r>\354\264\275\274Ge`>\031d\362=hKp=l\273Q=\251\\\036\276m\233\345\275w\275D\276\376\257\301=^v\020>i\220j=\177dB\274\372\344\001>JN\n\276<D\214=\341*\215\276\221;\273=\226\303\211;\265\353\\>\303sI>C\344\362\275E2\035\276W\231\364\274\272\364\325=bHF=\211\0004\275\345\337_=\235\003\376=\016\266\362\275\322|\025>G\243k>\355\034\324=\035w\272=\354X{\276\342,D=R\010\227>K\366,>\310\334\010>\336\267N\276MXw\276\372<\223\275]\2644>@\3143>O\007\261\273\336\315n\274\'\310\'\275\227E\027=\326W?\276\337\341\201=\366\205{;w\371\320=\022\375D:!e{\276\253a\241\273\371\312\371<\267\346\014\276\326\225\350=\236)G=\364\027\007\273\026\325\266\275\236\177&=1\003\031>K\311]\275\332\002\025=\261\306V\274\223\030\234\275eM\020\276\3016+>\202*D=@\3222=\312.\257=\202\214\243\275\006 \016>\275\021y\276\343\335\207\275\232\t\233>|\344\262=\205\014\251=\267\371\241\272B\024\264=?\032X\2765\255\006=\007\212\314\275\r\321f\276\277\016\302\275\272w\021\276\242\355?>A\327\016<\322\363O\2763>F\276\240:{\275\035\222=\276\334\226\202<\255\250l\274\010\036/>`\347\024<6:\316<`\031\001>\2022\216=\240A\030>\241\037c\275\240\326j=\354\270`=CU\010\276\366H\231\272o\244\r\276\031B\340<\245\265\005\276d\022\202\276K\257N=\333\326\352=\326i\264>\262m\357=\304Oo\274\242\276\335\2753\333E\276R\362\203=\031\326\220=\276\300\256\275\235\003\200\274\331\210U=6\373\233\275\247mj=\356i\231\275\376,\330<\312L\377\275\034!\210\275\354\200\005\276*\0042>l\"1\275AJ\376<J@\201<\207\216\376=\313\\\t\275\271\200\005>1,\227\275,T\316<m\302\223\275\275\177h>\301fN\273l\325==\036\274\014<N\3350>0\034b=e\264\034\276x\311\235\275$\222\177>--R>W\370\254<\337\304\375<\\i=\274D\341\016\275\220?\303\275\366\t0\276\014\032\033>\005x\247=4\357\"\276\241.\307\2755\231-\276\244Q\347=9\2008\276j\004\202=Sw\323\275\251\370\207\2751>\244= \017+>h\037\022\276\347\014i>,\237]\275\350\365\271\274\312>\205\275O\004@=G[\030>\275\212*>\003\320\007>\241\016l=h\303h=\214\312\013>;\330?\276\306\032U>~\177\326\275\346\032\372\275\210\252\227>\334Pp>\2765\333\272\374\010\270=\026\366Z>\342y\036=n\020v\275\263\000\215<\337\266\021>\021h\247\275r\226\'=\375$\313\275\351\253\003>\016\020]\275\276\031&\276I\240\275\275k;\347=\300\226\n\276SS\243=\304\213\355\275n5\000\276*J\331\275\253\332\210=\242\032\014;5z\013>-7\245=\261\335!>\014\232E\275\031`\256\276\261\243\016=\215\223\203\275\324]\004>\206\353\206\275Ug\334=\303\r\235\275!\274\022\276m\360\215<\327\322\226>\246\375Z>\326\200\024>\256n\034\276\ti\237=\267\374[>\301\365\220\275w\342\023\275w\375\304\275\311Gv>\013\340\000\275f?(>\034\336,>cL\204\276\026Xd<X\005B=\232)\342=\026Y]>\234\0249=\354\000\352\275e6\"=P\247\375=\357\242X>\224B\225\275Z\334\244\275\335o\211\275\340\224/\275\321\226\335\275\225\004y\274\274\320@\274x\031\364=\037&~=f\272\252\275x\250\311\275V\302\334\275\356`~=4S\202<\364\324\r<\2536\275\275\334\213\321\275\3343\004\276\214Z&\276\270\342\266=\325\346\024\276\316\t\017<\340:Y\276b\250i\275\016\031\305\2754\353\360\2743\375\020>\007\335\370\275p\346\305=\275\215\'\276|\311?\276\221\376\227=6\362\304\275\3674\215=~&I>V\220t\276@\260\241\276\017-\216\275\332\261b=i\255\346=\213\353\227\273\305\242\217>\367\331\254\275\330\355\013\276$\346\257<\264\022\027\276\004%\247=&\210\314=\215\021\276\274Q\253Z\275\032\254\t\274\2318\331\2755\337\220\275\332\211:\275\022\376I\276\224\2706=OW\251=\272G\\>I~c\275p\n\212\275\277P\346=\016\237\035>\265\252{<\025H\257\276j\324\005>9\335o\275\343x\203\275d#\364<\221n2>\370\251\037\276\352\266\205\273\005[\211\275\347Q\377=oB\252\275`/\341=\300,\024>wy3\275\3000 >\227&1=i\010\302\274\312\327,>!\226\023>\350\205i<\032\026q\276\341\373\260<c\247\354\275s|\316=\310G\232\273\2740u=\373J\005\276o\271\240=\232B\267\275\231nj=\034\224\352\274\242N\320\274y\357\220\2759.\202>\351\200\206>\024\366g=\207FI\275\2750\237\275\227\334b\27582\017\276\331NA\276\002(s=\212a{\276+v+>\240\364n<\350G8\276d0\032\276b\nR>pz\327\275FPU>\242H\330<\215\037w\274n\205C>}\271\361=JK\260=\222<\034\276\203\'\334<\252k\276=*\030\n\276\323\t.\276\317\377\321\274\355\275\307\275C\331i>\007\031\000>\030^d>5\236J<U\212\205<\027#[\275\002\243\002\276\314\262;>d\322B\276a\t\034>X\212o\275a\013\224<\361\2346\276A?\016>\352\320,\276L\352\200\276\326F\306\275\347\365\257\275%\275\201\274\301g=>\235A\025\276\304|6>\355\326\317\275\212\317:=\017\200I=Yv\311\274\\\310\002\2765\016\000\275jm\367\275\017]\024\275\224J\010\274H\232(=,M\004\276d\021X\276X\265\036\276\266S\"\275\"\201\027\276\314\342\300=@\264\246<T<%\276\333>\204=e\340\006\275\321\362\177>OXb=6\314\177<\274\023\016\276\010\237\245\276m\304Y>\305\350\202\273Mx\232\275\266\221\231=\356\352\212=B\3755\276\360$\020\276zc\217\275/\001==\230t\210\276\351-\014=\370\027\372\274\274\307\222=E\022\323\275\245D%=\'\203E\276w\350\234;\3026g\276\245\0363=\256U\322\275\235g~=X\316\255\276 \357\204>\010|4>\225\367\007\276\331\365U=\242R\320=\356\267\024>\270?\336\275\350+\200<11\013>\242\\\374\275\311\2653\276\007Y\244=B\263\250\275\350\242->Ysy\276\307\236\201=0\232~=}h&>Y\303\342=\031\362<=\220*\362=\241\356Q\276\201\362\353\275\333\333\200\274\007\201\201\275\202R\"\276\277\320f\275\232.\312\274\346\224=\276\364\237$=\362\316\242\276\374~\275<!\007I\276\340\207w\275\000\270\347=\236\333\347=\337\266\246=0\244\004\275\260\355\207\275$\233\033>M\313\346<\356\351\352\272\231e\256=n\344\342<\240U\206>V/\245\2756\022G\274\346\034i=\252M\211\275\310\364\321\273v\362V\274\022\337Y\275a\314c<`\263\242<l\304:\275\234/\334<\300\177C\276\315\022\252\276OL\233\274\301\332\232\274Z\001\361\275C4v>\004S\373=\372Q\235<\231\024\000=\334\257W\274\204,\261\275\336\277)>j]/\276\227\265\372\275S\240\027=\277_\024>G\246\215=\256\376\201\276\372d\031>\247V\221>\244\224\302;\323\352\227=\252ci=\325\374\342\273 J\243\274\031Z\271\275x\027\301\275\033\3158=\205\223\'>=\352(\276\254\221{=jJh\275\201\234\273;\226\204\350;\257+\213=\205\246\344=\313o\332\2754c\225=\017\301\013\276\223\206\225=\341\232$=\013\255\007>ZP\363<\356\020v\275\305\327\200\274f\370:\276\342\335<=f\273\020\276\237<R\2750\250\276\275\347n\213\276=\324\355\274*=\321\274d&\351=,D\353\271\267r\254\275\316\220\035\276\300\314\255>\220[\006>\023\275\023>\301\234e\276\353\254\017\276\014\030\204\276\005\267\335\274\320^\300\275\002\3722=\324^\306<\242u\000\276U\201\323<\274\307\223=\"\277\302\274Q=Q\276\343\314\357\275\273\352\'\276\200\247|=\356J\274>~\367\217\275\272\266\207;\355w\034\274n).<\346\340\301<3i\267\275\210b\251\274\232\250\230=D3\334\273\346}\260<\375\\v>{\201\266=k\371z<\301\226\022=*\231\024\276\223zJ>\215\323\334\275$N\336=\004\200\203\276\377\376\027\275-mH\275gq\213=O\200\344:\267\264\212\276>\032\244\275\232\003;\274\320I\n\276\331\200\221<\262\264\357<b\t\035<\031z\010>(\202:\276O\202\342;z\026t=Xl\371=\326\226\332<\217<t>;\017\305\275f\333P=d\246\203>\354\3525>Z\2766\273\215\233\230\275a\327\253=\330,K>\027\232]\276\360x\322\275\214\313\241<\024K\004\275\037\357\023\276\3467\345<m\246J\276\215fz\275}\023\251\276\301\242\271>BX\003\275\034\342\203=\023\367h\275>*8\276{\253\317=$pL\275mKh<\222\272{\275\224\334\201=`\374\\=\345\307\366\275\224\375D\272\346-\323=PR{\274w\200\017\276\322\336R\273\276z\022=\330\001\321=\360\353A\274]\216\274=J\006e=\242/K\276}b\004\276\340\025\003\276\246\362\234=\203\2711=\376q >9\r\345\274?\211\n\275\262\233\277=/V\252=F \203=}k]=\\\302n\274x\032\304=\357XA<t_\034=\264\031\347\275\004f\034\276\243\303\001\276\007\216\247\275\231\213\320<*7\007\276\366*p\276\201\014\203\276\336\254A\276\307\344F\276\226kZ\276\245V$<\341\265/\276\206\353\205\275iP\211=m\236\214=\273\354p=h!b=\305\302\202>cH\233>\311\347\227\275\222\364\317\275\275@2=\363\274\310<\323q8<\023,\210>%\232F\276\321\245\267\275b\2255=\251E#\276,\202\"\275D\326e=\026\2277>\266\230\375\275\314o\265<\355R\336\274\\\304\037\276\230\370\265\275\302\2621\275\331l\'>\377\200\272<\014\334k=\310\203\002>\0029\007=\220\021\315=\025\231Y=\237,G\276\031dS<\345$<>\345[\014\276\376}D>l\307\004\276\366M\025>6\306\264=\362k\331\275\322\325\305=N\006\203\276C\0012=Z,==\265\223.\276\271\320;>]$\225\275\307=\213=\222\221\360\275\0138U<\367\022\010\276\336\005\263=\207\253\314\275{D3>p\347\000\276\342Lg>\373\362\360\275\034\222\222\2765E;=c\374\253=\037oO>\271\270\255=\360\272y\275\314\000\276<NX\245\274\271\242\320<-\366\253=\006\222a>\213\200\337\275I\257\231=G)\003\276S\367^\275\237\031\370=1\262\223=`(\236=\341o\323=\364\231\r>WQ\233\276\3654[\2764?\223\275\376\371\027>\024\2622\276\233\267\277=&[\354\275\361\'\330\275@\276s\275\333X\353\274T\334@\276\321sb\275S\361\024\276\250\346\372\275\022v><\336\357r\275\322\233\031\273\3234Q\275o\267n\27623{>\205Dr\275\3241\006=\337\326\314=e\221\332=pR,\276\253\200\257\275z\3314<:.\222\275\355b\206>\035\302r><h\254<&Y\350\275OS\253\275\261\234)\274\330\245\000=\025\304-\276|\035\014>\305\212\345\274\344\214g\275Ey7\276X\227\025>{\264\372\274\267\271:\275k\342\355=`\266^>\356\013D\276>*\341<\335\272y\276\206\005\210>i\351%<\246\243\n\275\257\377\036>\23049\276\304\215\264=\370\273U=\331$\241\275\244F\016\276wt\360\275\311\n\254;\346\221C=\207\272H>\367\321L\276\177\233\016\274\255\200\323\275:\375\226<+q\234<Z\221+\276\264\2225>\372R->\346\274[\275Hu3>\262BN>\211O\361\275u,e>C\377\020\274\355\3346\276AgJ\276\303+\207\276\327X\037\276\r\3615;\033\377\032\276\235T_\275\341^z\275\230\331\277=\210\022\225\275~\273\213\275\275\273\275\275\263\307Y\2753\337a\275z\001\013>>\357\n>H/\314\275\222\223\376\274\327\233,==)]\275\273\266\004<\375)\025<\202\232v=0\242\220\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: 7625386
}
}
}
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
}