Maitre_yoda_models/yoda20.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: 1124561
}
}
}
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: "\001\263K=\265d\353> \314\330\275\200\357c\276Q\314u=\216\354\310=u\315\253\275Q\311B\275Q\254\215\273\324\236\361=\230\031\215=\356\370\003>\351H\276\274`\222\261=\263v\305\275\253j\251\274!|\323\275;\223\366<\000U^\275Dg\005\275\001\317\217\275\323\342+\276\\XH=\335\206\231\275\371\233I>\217\372z\275\010\277\247=\236\024\307=u\350,\276\374[\005\276$H\203\274\n\357\243>\227\366\020\276\004\271\005\274+\333\227\275-\224*>\222\277\203\275C\271$\276\301Y\237\275\243\2304\274\215\025\331< N\247=4\253\261\275\352\267\300<5\017\031>\236Q\252\274\367\261q\276 \010\220<\273[9\2748I\323<\\\275\271=_g\005<\375=\030\276~9\356\274\3329\262>\276V;\275{i\017\276\342];<\335y&>v\235\367\274\357Qu\274\274\266;>K\364\206=\357U\023>\267%f\275\177\332\n>\226\245#>i\017y\276\026;\005\275\347\020\226\275\230v\003>\246\375S\275\336\2039>\345A\265\276\035\205\373\275\234\022\023>x\256\247;~^j>\226~\024=\225\244\025\276\211\315\357\275\237k;\276d\031\255=\205\272\t\275f\365\032>\"\"a=\320\224\202>\'\t\017\276\313\037o\275\313\267\266=*f\326\273=\322R=N\010\001=\250\310u=\260F\024\275j\250\013\275XJE>^\314\265=\241\035\302\274\236\357t>\324\025\214=!sh\276j\001\201>\n\317\301={\305s\275a\331\230=N\177\\\275\232&4\276\240?8\275\'\035&\275\311\030v=\317\376\031\274H1\376=\215\353r=\234\320\314\275Z\276u=\202\361\003\274\024\3356\276V\326\002=\353\330\236=\277\340x\273\254s\301=b\213\'=\205\333\007>N\331\240=\360\331 \276bh\244\275\221\303v\275\002\253\010\276\342\021\206=\275\257<\276\304\265L>\246\343T=\357\205\256:G\014\262\275*\373\262<\236\341\216\275\004y\246\274d,\205\274{\356>\274\231=\\=\337/I\276\316\024\250\275\3616\330=\205\tJ\276\r\261G=\022\276\006>Z\210\201\276\237\317,\276*\336\224=\261\351\244=\345\335\311\275\371E\002\276\304\253&\275\227\224\006\276\221q]\276l\350Y\276Z\322\023>\n\364\372\275q\234)\276S\374m>J\016<>QZ\202\275\324F$\276\\\314\025\276\023\365\304\275P\206\350=\3714\305\274\274]4\276\252\236W=\343 4>\031\226N\276~\354\013\276e\224\312\275X\265\000\276I\375\t>\354S\t\276\233.\354\275\323\037?>\277\242\243<LP\200=\232\213.<J\317\234=V\024\365\273^\354\334<\262\371\322=\367aI\276z\232\030\276 \346 =\212\340\320<\346\361N\275]\002R\276\344\000P\275\262\217#\276\000\320\215=\220\022\261\275\356\311\204\276\353\034 =\343\364i>\234\237[\275\251\216U\275m\266\205>W\305\n\276\310U\t>nS\356<\224\333\033\2713\235C=\273dK<\214\204Y\276\333\325\203\275\306\216\213\276\021\302\020\276WKk\276\025\376\021\276^\220\214\275\343\013\216=\324i\246\275R\210~\2757\3064\276g\344\222\275:\346\310\275n\214\306=Cv,=\343v:=0=G>\t\366\344\274\274\266\241<\377D\277\275+\316\340\274\"\311X\275\\}\007<\216C\010>\351Ii\276A\322\227>\375\224*\276\361\214\n>\277\2136=\365\226-\275\250\334\026\276\035\227\020>\3271\212<\205\234\263\275c&\325=\254\211{\275\234\332\200=\346\367\026\273\023\3454\276\212\223\212\274\313\206]\2750\266Q\275\361\225\000\276H`\210\275\327\210\300\276\353\037\216\275G.\303<\336\246J\276w\331\377\275-\223\177=7\"\340\275\216.Q\275\306/\332\274\022\260\325=\032\307\377\275\352\231\267\275D\231\372\274y\253\206\273z\237k>\254\034\331<7<r>%\177\357\275\211x\321\273Y\".>e\034\010=;`\026\276\224r\342=\214]\253\275\250kG;\217H\337<\275\002\331\275^!\024<\344\271\266=\305f\212=\337\'\023\274\021\207(>\246\316_\2762\376=>\016\202\030\276\2721\302\274\'\035\203=\323Q>=\241\000\355=f*\034=\2609\267>aW8=\374\000{\275\"\376\242=\014\230\301\276@a\205<\352\244S=\251\2605\275\335\034\231=\201\302_\275\323^\306\274;s\355\275nEM>\372\360e\276\231q\"\275\372y#\276\236,\347=}\232f=w\240\210\273\336\001\336\274q\036\362\275V\374\254=b\200#>\032Y1>]\374\310\275\336\0238>\327\346j\276\030\334^>#|\002\274\r\317H\276\205\337\251\274\202\203\275\275~\003\022=\224\305c\275\3740\357=\004\3504>a\351\\=\244\0004=\006~\371\275\337Mt\275\243\375\007>N\250\357=o\244\"\275w\247(\276=s\273=\243\235\264\275\362qs>a\347\356=\253\247\'>y\032R>H5}>\025\036\027\275\377D\377<\372\342\033\276\305\347U<\355\220)<\331)s\276\352\245\037>\027\'\250\275\327_q>\313\230\024\276\3312\337=\273X\226\275\263\327\007\275z{1\275F\\\"=\006\204\260\275u\207\303=\245\2039\276\243\"Y=\327h\321\275\246p\243\275\354\242\255\276S\355\213\275\003\314\265=\241A\210\276\257G\252=<\022s<\337_\261=B\023\342=\350\n\255\272\273x\000=#*\333=@\332\306=\257O#\276b\321\236\275\365Q\t\275\372#\250\274?J\034\276\307\273E>]\364+\276\304c\010>\241+\277\274+\\\267=\024\257\244\275\242\200\314=\313\320\035>1|\005=F\365\212\275\2363\025\275\004Q?>\r9[=o\"\177\276\341\350\331\273\247\207#=\343\317\254=\313\004\214\276\273\016h\275`\023n\275D\312\004\276\032S\302\275P^R\275\301\016\363\2755\204~<}c-=\256>@\274\016)\'\276~.\322>\262N <\334\247\001>&\031\016=\355\216\313\274E\373,>\215\017\314=\271\375\344<\356L\204\275O\003\224=\021\275\277\275gc\235\275\016\022n\275\206\360\264<D\334@\276\301\366\361\275S\366A\275wJb\275s\347\022><\3451\275\032R\000>\362\275p\2769\254\200\275\227 \212=4\"\"\2763b\022=\205\020\203\275V\320\n>\213\031\310\275\267\026\331\274\034)=>]\347\251\274\315\253\337\275\n\243\227=\376\355\234=v\016`=@@3=\253e\233=\006j2<-\351\313\275\007\330\222\273\226\212\210>\275\310\035;{\276\263=\025\371\001>\356\033Q=\316\2206;\'\006;\276G\356\232=\322\263t<5\270\302=\026\307\240\275(|2\275\343W\r\276\224\372\320>\232]\367=\265\322/>\220\030\224\276(\376\347\274\21199\276\302=b>\234J\007\276\245\\\245<\314W$\276\2221\216=\241\236h\276\020Z%>\330\017\336=\277\3625\275xr\202=\260\361F\275{\025k=SKr\273\351\017\n\276\344\317\201=\316\274\221>Q\224\252>\364[~=\352&\215\276\206\276h\276\224\344I>\372\265\r\276\313g;\276\267X\377<\274\204c<\001\335`\273g\330|\275\250w\303=\332\274$\276\203\023\030\276>\245\231>{\323\256<>\304\223>zj <\357\326\364<L&\350\274>WF>l\326#=\364C\277<\324\352m\275%f\355=\305}\211<\324\2600>?\271\004\275\215\371\214=\243\216\256\275r\355\010\276\025\"\345<\016\371\'\275I\323\222=\325\265\256\275\231\021\205\274M\227J\276\3510)=9\344\034\276\260\373\356=\205\225\261=\006\270a<\342\373.>\232\032V\276_\350\037\275\017\247\231\274,F\224\275Xv\346=\307V{\274A\222\256<\031/\006\275\321\035(\275m\344d\275\363\033H\273\014\367\205\275\t+\010\276\256t =L\360.\275?\254\274\275\251\226\267\275n\356\254=\311t*<Y\246\010\275x\370\313=7\377z\275\2658\332\274\343\235g\274\272\0375\275\316\272\217\274@\372)<\231\342[\276\242\305\240<\021\213\266\275\365-*\276\217\222\017>=>\241\276\023k6>\373\033\252=\366\274n\276\262k\337\275\226\213\344<#\372!=\374\206\310\275\244\344\320=\025\216`\275<\026\007>\316\237}\274Z\177,<\351\333\301=R\261\010\276\010\n\003\274B\307\305=U\351\357=`6{\275_\355<>Xl\316=\351n\t=\004{f=\361\311\354\274y\215\306\274\023\010@\275B\004\030>\312<\257=\353n\234>\245\305z\276\r~\251\275XP\377=s\372\332\276#\001\352\275\330\331\322\275\243\021\232=\366\'\003\276\037)\304\275(73>\216\353\301=\\x\344=p\003-\276\260IA\276\253\027w:\302\021\274\275]\036\345\274l\300\002>\267\257\025=\1774\215>,\274s>\232\355.\276\266\344\321\274Z\375\374\273t\312\"\276\377\365\013\275\373S\241\275\036\245\027\276\275\302\026>*\201\216\276\347z\316\275\3222\256=v\"\207<\257\342\310=\336\227\250;*\216!\274e,\276\275J\003\347\275H\246p\276V>\033<\375\327\261;p\037\222<U\373\356=\363?\305<6\0069:\371\232\024\276*P\354=\2723!\275D+\272\274\0272\315\274C}X\276\026\033$=\230#\267\275U\276&\276)\254G<\275\216,\276\241\353\\\276\223\331R\276\211\2573:\347\023\021\276!o\213\276\355\367\261\273N\272J>\2135\323=\027\230/=\273^{\273Rw\370\275)\356\325=!\0363\276)\231\013\275\334\315\032>\275\357\355\274\365\305\253\275\204\344\334<\361\324\355\275-\312\324\274\372\346 >\321\235\213\275q\013\372=\351\324\222\276\332\242H>f{ >{\001\326<\222\320\026\276TV\206=+\013\202;\311\0033\276$\203\250=P\317\227\274\333\271\207>\017\003\252\275\330\241z=\346\013\014\274&\354b>\350\373\317=3\264@=s\307N=\317T\027<\036\r\330\273\003\030==\327\343\"\276\033\317\344\2739j\252=\317\205\256<cN\232=\346zU\276e%\035=\301R\315=3\253\004<n\273g=J4\235=\371\204\266>\247WS\275\025v\323\273\315\331\001=\037\210\373\275w1\245\276\336\201\023>\240}\035\276\360\361!\276\225c<\275K\330\276\275h\376\024>\020M\211=\357TQ=Iq\r<\215\373\206>\204\277\335=\313\035\030>I\361\233;\014\205\334\275\253\246.<|\350\243=/\245}=\212\270\370\270{.\313\275U\261\303=\203..\276\272(\336=\352[J\275c\305\216\275\032ub\275\2766\355=d\3476>\036\226\211\276\302\251-\275\234\365\243\275\256\013\253<7*\000>\337p7\275\250!\254\274\244\200R\276Y\031\323=\251M\200=\247\035\004\276Q\244\020\276j\034\347=_[\302\275\273\225$>O\345\242\274\344\202]>~6K=\037\340\316\274\352t\373\275\257\305\300\275\267&\340<{\261\234\276\366\344\321=\266\013W>bM\003=\021\355\221\275\335b.\275\353.n=2\223\266\274do`\274\264\344\242=\276G\241\276W\227]\276@\257\r=` \377\274AV~={O\'>\364\2351>\316\211l=3Z\';\220\003\361<\355\216&\276^\263\363<\3514\274>\003\310K\275\214\030\371\275\016U\016\276}c\241\275k\3618>\204\343\312<w\t;\276J\021\n>m\340\316=\204\217\026=RB.\276\231\t4=\317\346\215=\2530\013\276\262\316\225=\367wX>/\204e\275\226@\355\275\242J*\276\022\0327>l I\276@\216\214\274l\260\036>\213\253^\275R\372\256\273\317\231\360\275/\016\270=\203&\330=[D/>/u\256=\0075\021\276\032\001\007>\226\223\264<F\2540\276\367\364 >\t\245\351\274\r\020\237=\r\2600>\304MD>}\022e\274$|J=@\\g\276y\267\242;\265\233\320=\212i\351\275=\002\364=SZ3=&\'\217\274\261\216\013>\317l\217=5\036\373\273\336\222/\2755\317f>\331\010\225=_\024\006\276\212\206\376=\375\262X\275\277n\314\275\231\263V\275\35386\276rf?=%F\277\276\201\275\317\275.h!\275\301~\316<a\2403\276\370\234\253\274\345\252\005\275C\230\016\276\251\201\226\2759\306\361=H\210\002\274w\321\\>\306\031z<\375\215\370=\257Wp=\235\367\203\274X\332@\276\214\266\303=\304\343%\275\010\211[\275\3707^>^\354\273=\345\032\022\276\014\237\233\274\330\2307\276\364fs\276\024\213#>\007\037c\275\024X\304=m\240\236\276\221\275\320<B\002\341\275*\375\36493\372\256=\253\310\222\276[\033\220\275\267\222\t;\332\357\263=e\205:\275\024\351\'=+\214\207>\037\255\352\275m\007h<\266\001A\276\231II\276\n\233Q\276\365\256j\274\324\242\"\276\351\311\006\275\255\312\307<%\311<\275\306\253\306<N\022\332\275x\3302>\236=\024>qQ\027\274\211\303Z>\017\t\244=\237\247$\2765\273e\275}\020\335=e\257\221\276/\347\224=fR\221=|\232\250;y\023\336\275\303-\376\274\023;S>\304r4>+\2246=hCj\275\332\303\030\275\302.==\231Pr;F\\C>iW,\275\014\253\327\275@4\354\275\305\354+\276\203\352\036\276\343K\365=\n\363\364\2757NT\275\n\223\027=\305F\">\226(\207=\033\215\220=\253\246\007\275\004\177\343\275\303\373\257\274\374\022c=\t\335\211\276B\334\254=gYz\276\374\351\362\275\337\207\315\275\326\303\240=\214\223\276=\216U\014>\230\301\355;\257\354\373=9c`>}xZ=\201\256\023\275\242\305\272\274\246\320B>;}\022>KG_\274(\3716\276\347\371\025\276?b`;\354T*\276\364\335$\275%\006,>9\2659=\251\335b\276\233\006\242\2767\273\267\275\032n\373=\316\255u\275\373 ~=q\021\336<\005x\304=\025\271\224=\345\370\270\275~\304\203\275\351\351\226>\tQu\275\370K\007>\224N\322=\336\026\261\275\316\374\311=\343\341W>(\3227\276\227\2135=\232w\370<\346uO\275\301\200\332\275<\014\345;\315{\214\276\207\276\014\276\346N\n>\376%\311=\226Hs;E\331\247<\023&2\276sWO>\354wZ>\205\327\331=\271\266\333=\222\372\317=\372\3505>\324c\220\276\024\t\353\275\000:\242=\313TL\275<\222\207\274\326\2113\276&\302\223\276I\025x=c\321\177\274\272~u=\371t\312\275\306\242$>\202:\201\274L\237M=K\375\214=\037-\n\275p\275*\276\276C\345\274\355\253\331<x3\261\274\033\312\354\275\004\313@=\253\025?;\3079\221<d\347\353\274\234 \217>\217\247\305;e\030\302=m\334G>\224\377\356=Pb\022;\020N\246>\201\233L\276]\314\271<\003\360\327\275g\376\202>(\356\211\276#pX\276K@/\276\376\021\205\275\376H\035>\267\304\262\275\242^Q\276\265+,= \235|=\002,\274=b#q\276s.\256\275\000\0257\275\027\302\313\274\232\253\201=\236D2>\317\2730>\254\330\245\275o\222\312\274\335\320\216=\261\235\244\275\221\024\030\276\0320\033>\014L_\275?\343\210\275\214\226\031=\305\350\270\274\016J\240<B\344\246=6s\233<\007|/\276J\377\"=-\327\356\274\027\233`>\210X\263=\373\242K\276\330\333\301=Js\243\275:th:\254Gv\275]+;>\347\003W>?H\204<\351I\027\275\207\223\367=\366\332D\2746\341\321<\017\241\035>jmW\275\000f\361<\343\365\221<\002\226V\276\251/\205=\374\276\024\276f\365\313=_\003\025>\252\353\034\275q\212\355\273\026Q\236\275^R\242=\341i\204={c4\275bI\243=\321K\254=\250\177!>\203\r\022>\362{\030=;\276\\\276Uj\221=2u\023\276\350\367\013=\214\031\266\275\000\354\313=\230\2477>\025\372\270=\004d\214>\345\033\350<\253$\222\275\350\241Z\275}\277\303=<\340\030>\373\214->\r\227\270\274\016j$\276> \271=U\210\266\274\332\032\210>J.\037<\337k/\276J\356\203\275\302\322\212\275\024\0000\276iQ\312\275\203$\227\276\302]I\275\200\321\233\274.\037\312=\017\355\240<\341\023{\276\231J\256<]\321S=Y\211\275=t\037\210\275\263\353&\276?e*\276\231\2461=5\324\233=\027M\021\276\232\347;>\274l\205\276\023\335*\275\310fN\276)B\251=&a;=\237E\032>L\215T\276H]u>\223_\025>?\001\r>j\337\304\273\302\354\001\276M\237\223\274#\335\002>\364\336\332<8\246\036\276;\300\023>\250\037\220<\245\324H\275\017\330!=ma\376\275\376\215\210\276\305&K\276J\2133\276\270v\n\274\356\027\027\274\361+{=\020\000\025\274\277$\022\275\307\020!\274\0273\224\276L7\247=\343J\023>@\203\236<\n\311\311<\220\037\315\275\275P\307=\026\257\265;\211\004q=\377\251\363\275\tOS\275\227\302/\275\221\262\225\2742\211h>\2269\022>\355\225\266>\243^0\276\217\263\222>\236\322\273<\275g\220\275u\246B=\2227Z\276\365Q >\3457c=$\270X=\202\3171\275\014\241\315=\377\317\372=}g\004\274\361\2355=`\217u=\374V\254\275\004pE\274\017~\034\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: 3221596
}
}
}
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
}