Heating controller with neural thermal model written in Python
Jacek Kowalski
2018-06-24 66a9fb40efe1311b34a3cee3f83f10c6990759af
commit | author | age
425bf7 1 ‰HDF
JK 2 
3 ÿÿÿÿÿÿÿÿØtÿÿÿÿÿÿÿÿ`ˆ¨ TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøHEAPX0Èmodel_weightsoptimizer_weights(ˆ¨ Hkeras_version` @backend
4 ` H model_config3`ÐUh`(TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿH HEAPX( dense_1dense_2dense_3dense_40SNOD8`€8V`V€XGCOL2.1.3
5 tensorflow3{"config": [{"config": {"batch_input_shape": [null, 28], "use_bias": true, "dtype": "float32", "kernel_initializer": {"config": {"minval": -0.05, "maxval": 0.05, "seed": null}, "class_name": "RandomUniform"}, "units": 14, "trainable": true, "bias_constraint": null, "kernel_constraint": null, "bias_initializer": {"config": {}, "class_name": "Zeros"}, "bias_regularizer": null, "activity_regularizer": null, "name": "dense_1", "activation": "linear", "kernel_regularizer": null}, "class_name": "Dense"}, {"config": {"use_bias": true, "kernel_initializer": {"config": {"minval": -0.05, "maxval": 0.05, "seed": null}, "class_name": "RandomUniform"}, "trainable": true, "bias_constraint": null, "kernel_constraint": null, "bias_initializer": {"config": {}, "class_name": "Zeros"}, "bias_regularizer": null, "activity_regularizer": null, "name": "dense_2", "activation": "relu", "units": 7, "kernel_regularizer": null}, "class_name": "Dense"}, {"config": {"use_bias": true, "kernel_initializer": {"config": {"minval": -0.05, "maxval": 0.05, "seed": null}, "class_name": "RandomUniform"}, "trainable": true, "bias_constraint": null, "kernel_constraint": null, "bias_initializer": {"config": {}, "class_name": "Zeros"}, "bias_regularizer": null, "activity_regularizer": null, "name": "dense_3", "activation": "relu", "units": 14, "kernel_regularizer": null}, "class_name": "Dense"}, {"config": {"use_bias": true, "kernel_initializer": {"config": {"minval": -0.05, "maxval": 0.05, "seed": null}, "class_name": "RandomUniform"}, "trainable": true, "bias_constraint": null, "kernel_constraint": null, "bias_initializer": {"config": {}, "class_name": "Zeros"}, "bias_regularizer": null, "activity_regularizer": null, "name": "dense_4", "activation": "linear", "units": 1, "kernel_regularizer": null}, "class_name": "Dense"}], "class_name": "Sequential"}
6 tensorflow2.1.3à{"sample_weight_mode": null, "metrics": ["accuracy"], "loss_weights": null, "optimizer_config": {"config": {"lr": 0.009999999776482582, "epsilon": 1e-07, "decay": 0.0}, "class_name": "Adagrad"}, "loss": "mean_squared_error"}H`€ X layer_namesdense_1dense_2dense_3dense_4 @backend
7 ` Hkeras_version`TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð!HEAPXðdense_1HSNODˆ°Ð-¸-Ø/P8x8˜: K8KXM°Ð X weight_namesdense_1/kernel:0dense_1/bias:0(  €$ 8[hXx!TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ8#HEAPX ˜!kernel:0bias:08SNOD0Xx!SNOD€, ï|5>;’>Ö<¾¾¯¾‹RY¾+B>í'¾¾8d7¾<(L>žE0>§ûF>ÖÂ0¾þ¡>ȺN>oËE>Pý ¾ÅY¾T>µ©L¾‘]?¾½®)¾fâ[>3ªJ>°I=>&¾[t6>Mmü=3MH>°¾Š´1¾ê 4¾ü+ô=‹v¾àìH¾B¾ LQ>iæ3>w4K>>Ï0¾C‘=>ƾ>i±6>Г˽pm¾Rb;¾=;D>Dc¾:?F¾n£¾’ú=¶Î=>z*>a|V¾¨ú[>=÷ï´¼îE‚=»ªs½Ft×¼Ô¨/»H2ê<"m<®‹´<gÌ =¯~B½l< ½ö¼¶+=²øÊ<óވ»t+ú=xB+½<6½÷Å;IÐ;_‘$=¾§â<<؀ºIñí;ó)v<†:½ßÍe<sž@¼3¬»f?£=š]ô»é<—{    ½‚£õºðZB=æJ¥¼# =Üߏ¼¬ð¼›³y¼B´*=Œ;=šî<M$Í=G#„;¶D'½RJ=›€¥;&mK=õŽ_<t!Ç<b={M <È*ϼÞæÙ<ù9&=U½ìòú=øë½î£:;Ò«í<û$¼ƒÌ}¼¤[‡<ò´¼à    ½G“»ÙGÆ<ËQ>¼7Wß<¤Ê‹<D½}˽g¾¼ä@•=…¶¬¼§z~¼àä:½ê†›=ÎÉb=w¼á<æ9½€ð&=8éÀ=…»=¦@+;Ð΋½9>ò½¿‚=•7ƽæO—½¸¸ÿ½7½    >Ò¬Ê=ŸŠO=ƒê¾r>¯\=>Kؼo§Ê½ŒÂ½´Œ•=vÞ§½éa’½Gž¾^û=Mú$=    •=mp¾¸+|=&…<“Z[=Å5=‰Ù½‘‚<I)=ÈY9=sÿ<l`|½ó·[<æà$½a½K໊=B7ú»åO½Eˆ“=Œþ7½üWº¼~†=H‹É<™?O;'S<ªõø»ó1P<ņ±<éd¼œÉ½dB==rD<#Ø=ùà*<窐»¦vœ<@Ei=Y½äßï¼Æz<D&C=8v;“í/½ q<ԟ =´BØ»Äíº;ÎGÓ<=R½ã3¶9ûG=’÷-=µ³‡»îr;4ͼëX;½îpºùDE=éÌW=•-<ŠÊ>}~…<¼¯ð<Wp ¼·»³¼Ñ3=aÒȼú={:$;,"÷¼愽$½ŽØª:qgu¼    ±Z=ñòI½C÷:½hÍï<Õ^Ð<†‹ç»bÏ)½h$c=s€)½ˆ{¯¼Åºç»ü‹¼<½ÝŸ<Ž§9,¸v=e`<<õH½Kìˆ<D¹z<Ét¼R=Q±<3ð»í-i½0V½Çb=wM=2ð+<«=àD×<cà;öÚA=ÙlÂ<™=É}k¼^Ð;>µ€½^Sž¼§.v½==¥/<Ó¦¼`éJ<¨–Þ<È!=ê=X1(=ŽÁþº \#½CL©¼dS“<ÏÇ<¶¼n®<­~Ò<Ja7=_®6=­ß<±{¼3Îß<
8 *<ÐÝ<›õÇ;Þ^Ä<£ÏC=½0^¼´z<<?𼂉ˆ=|®Á¼ñï½<V—½€I¢<÷íG=ü!9r³Á<&¸Î<×½øê<þ-½ÚÙ½Jk«¼ìÀÛ<ørB="vl=–J<ª8>=õ ?=}½ ¼N×4=”½0•Ë<¿úí¼¢y‹¼~%"½Áú”¼*Š"<Sª¼‡t <ݒù<ͧ¼;Îa<ô+¼5Š¶¼ž`E¼`½ó4Ÿ¼E,¿<K²ó;r§Â¼ó&‘<TÓ1=µ.–»Cù¡¼    S½Îã†<´‰¶<å"r=ٌu½Ê…#=Ë&=ˆk½l[;¯°‰¼³„¼f¨Õ<f-<¦Ã†;êW*¼Ö\½‘ªu=u¾©¼æ2=]&%½¯7<=ó7<h©<Ñn:jŠ ¼mo¦¼q    ‚<^‹„<ûƒ½Ö‚_=¹æ†=ᬼ#<E÷5<QV=>¼Úš½\Ç9=ÁÕ->W“0>/‹¾²f3¾,í5¾»ˆ,>Á%¾êÈ$¾“24¾mz1>œQ >,o$>-¾Ü
9 4>/"ð=’¢ >%¬ >_^=¤7T½ ¡û=—w==@{W=¶˜>QÃ'>xás½ó)½Ñè¾=ù‹ã=eo¾aœ ¾Î½¾¯öÿ<r½èC+¾(Œâ½Ìó ¾Gá½)¤¾ž\Ø»žä“<má½Ëè½_Jÿ½ [¬½êi%¾ —<b#˜<jÞ:¾PH¾Žq=Ê&>™ž=ª£Ô¼     ;½u‘>¢‹=»Òù½(%Ù½ ¾Ì·;ÒĎ;¶b콑³0¾æŸ¾)Žº½u)¾ží¼ Þ¹ø£1¾#)$¾Üï¾(¸¾rξtUY<h»Îýõ½{µ£½°ö>3q>Äb)>ø`o½c+¼µW>Š†Ò=ü ;=Å2>kh«=ˆu=Þ&š»l5ò=3`Ö=‚ø>3Eð=I#>#<<ÆL¼
10 `>B>±-¾/²¾ø%¾pÓô<_­g<½Ë ¾=# ¾‹„=&Á=ð3>.:¹<šA*½sÎë=bÎ>¡Ãþ=ŠX>Iç>ÿÖ#¼×#¼Ïk>)e>Ä\ =   *88[xP0TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ°4HEAPXø/dense_2H¸-Ø/ X weight_namesdense_2/kernel:0dense_2/bias:0(  Ø*ˆ8[h284TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø5HEAPX X4kernel:0bias:08SNODð1284SNOD@7à0  `,8[x;TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿp?HEAPX¸:dense_3Hx8˜: X weight_namesdense_3/kernel:0dense_3/bias:0(  Bˆ8[hØ<ø>TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¸@HEAPX ?kernel:0bias:08SNOD°<Ø<ø>SNODJ ; Ió=µú\<¦y">‚T>~h•=ö1; Sf½À‰ï=šDç=íf¹Œ;ýoæ=myý<Ћù=5W >¼ÀÃ<XÆ>À>ç/>ü͏¼ÀﺫÖ=Ëv> ôq¼šV¤»[º1>*Ï뻑à…=½“í=¦¥í»{ÒÚ=Ãè(>Š-*> {™¼¸P<XË/>҅Ã=2ƼP½ÃÁ3>uTg<Yã=­B/=Øؐ<@´:Ù½~Yˆ¼ŒÈŽ<¥ŠÉ<”Þh=ŠŽE½} 4½ðÌEº´%={/;²Ž=DZ6½’Âø<t¤'»Ì¦¶¼ª     ½<=ž)½aŠS<TÌF<Dõ¼‹D <BÒ¢¼^󽬩¼5=“8t½qð*>Pôú=´±>¶SM½cŽ¼—Ü=¶s>h©æ;øAõ:°PÌ=Z½]è°=d Æ=^ÃI¼h4#>(…;>©>}Š>½sl½_š5>O\>覻–5O<x +>ŽS®<ü>Zgð=p(¼`må=Óêö=JiÚ=¤Õ#¼ùR\¼”P>¢‘ã=§¼¢¶Ý= ùk¼vkâ=°#>ni;H;'>:>S/>xéû;ðüŸ¼Ý’>B>g!Ö¼åMŽ¼³é*>n    V¼À4¾=H UAjAû?ž@Þ%3AŸ±XAKAÙL!A—HBAUÄ.A@`AÂvñ@ÒAA䍒A.˜0AM·uEø‚FãŠõEŠØ<:(Ïm;¢    žE)aûEŸƒEð0FÛF˜D;1‡­; §E7#F)ŒD¼IE:œôD\†’:þ¦=˜¦D €E
11 ª/E¹¼EïâªE¼Dï<%Â=<±^E¥Ú¯E‰°EÚÊ=F c,Fb2=é²r=ÞÐßE¨1FŠnEÓÞFíLíEÃÛS;º ;‚ü˜E:*óEþ>EµÆE#µEàªý;z5Q<ksnE³B»EíãeEPðE›ÛEuï<b=ë<{âEžIâEÁwE“›F44ôEºsü9~4
12 ;öEAŠúES¾›EÎÕ(FBFªtÔ<M«€=ٔÆERFR“ƒE?0F¹FˆÐZ=xÿÿ=³¨E½ûFN~E­–FKÿôE    œN=œ?˜=ï Ež|üENâEÔ/FTuFñ™Ê<› ¸=g˜ËEû"FîóEðqFaF½tC<ÓB:½n¸E}ôF ÎöAÆՇB$¡vBWé<I„<ËýBíÔ{BÌ8FìXÕ:tµPFëF߬mF'Ò01/qV;£ÀFÝEl¶š@˜M_F¶‰;ÒCœDú2¥F›´;Œ¾FTy„F“@ÚF·æ-UIF>¨fqF    €AFM«ÆA.YÌF噤=ñâDb•îFìø<»ª    GGC¿F˜nG§Wý=­ù­F{öŠF„ä$By9GH4ý>ø+EËJ3;Ž­Ø;”²:-mÐ<Ä¡t2Pó¨<‚çª9¸]ò3$Êä<Gé­<þC<œ¥:я: †;ÕS
13 :£’$<$5Ýmc;2f8Ç]8"^<k†É;³4;™î^9‚½Fãà–;»ÙFÚþ—F_ìùFÖ]53|7=!ŠFÞg^Fá0ÒAªêFf#*>ªE£¾ˆFÙì9ñlœFøz[F—³F[‹÷:N‚HFŽ«!Fd¹kA3æ§F+zE=U ÊD^÷B¥~>‘ÐCþúÈB·ò=CÖý7^u½?^7±BÑԄBœ@€E.Cõޕ?Ê¡Ù@Ð:Hºµ5=ä]ÞH-EùHå0ÖHm4«6ø¤,=õß³H¦*’H@ÿö>¡ÝåHû·=횁GÞö˜F  ˆC88[xÐMTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ0RHEAPXxMdense_4H8KXM X weight_namesdense_4/kernel:0dense_4/bias:0(  ÀC88[h˜O¸QTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxSHEAPX ØQkernel:0bias:08SNODpO˜O¸QSNODÀT`N  |,8[x Htraining_configà`øXXTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ^HEAPX Xtraining@`V€X   weight_namestraining/Adagrad/Variable:0training/Adagrad/Variable_1:0training/Adagrad/Variable_2:0training/Adagrad/Variable_3:0training/Adagrad/Variable_4:0training/Adagrad/Variable_5:0training/Adagrad/Variable_6:0training/Adagrad/Variable_7:0(  ¸d 8[hˆ[¨]TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(bHEAPXÈ]AdagradHSNOD`[ˆ[¨]_°aTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿpcxHEAP°ˆrSNODh__°aSNODPZ¸l(Èm8ØnHèoXøph¸rxÈsùY©EÌwjE,<ùDÅЍE™‰«ERcE]E¡±™EÛaŠE¯ýÌEZ ?E]½˜EikèE*ȋEŒV©EæsjEÂ<ùDp΍Eû†«EÌcEE¡¯™E€_ŠEúÌEý?E6»˜EÔfèE)ƋEéh©EqjESYùDïݍEš™«EÇ'cE>1EŸÀ™E¿nŠEKÍE22?E̘EÚèEYՋE‡}©EØ©jEhyùDZïEL®«EDcE‰PEәE–ŠEð(ÍEvI?EÞ˜E¤›èEGæ‹E4õ7CúµCl¤›B¦#C$‚?CîóBÎÍCÄÙ.Cí™CªDdC’ÂÒBÐ,CZ—Cx¨CÕÓ5C"`C— ›BƒC5«=CÔóðB¡“C‚U-CþþCýaCý‰ÐB…A+CÜÎ|C,&Cø14C—­þB/šBó=C    ><CÄ©îB̛Cº$,CµÀC <`C`ÎÎB~    *CA­zC”ùCèu2C5hüB¸®™B¹ÛCš§:C€>ìB¦|C È*CöeCÛM^CöêÌBj¨(C¾cxC±¬C¨„x?~À5?{þ>AZ?®]†?oP'?†½R?SI{?YU??â?בv?C¬?âZ?ȅ?œC?Dä?§°j?v?pZ4?¦¢a?Ё†?â8e?Ք¨?~Ý ?
14 „?¨Û¸?òhj?µ?Ý1M?– ?w?А—?t'>?j—l??·*q?^±?)? ”Š?å¹Â?›v?þîœ?`Ãb?šÁ?œÎˆ?¶w§?ÿnS?с?î›?äd…?ÙfÄ?˜{:?Ìu˜?äjØ?2Aˆ?ÃdC¿KÆBÛ3‘B•ÌîB-1C1G°BØìB©G C?èçB“Û-Cß¡BöòCŸv;C mòBˑCr    ÅB#B7JíB@C…0¯B9@ëBÍ[ CÈpæB9Á,Cw BáCäK:CJæðBð#C‚ÏÂBæ:ŽBXšêBQ‘CÃI­BEmèBr¹    CˆÙãBÒ*CÏAžBõzCÉH8CU*îB¼9C£Ë¿B;™‹B7õæBÇDC¶¿ªB„“äB™}CïVàBX3(CöΛB‰SCד5CZmêB/ÏÜBy~›B£n:B‰ºB]LäB˜+“B‡l­BrÐBç¶B‡Cz~B³JÎBâéCꗹBîPÜBV ›B    ç9B"ºBŠ¿ãBp֒Bßü¬B…îÏBy¶BâÃC‡{}B¿ÉÍBà‘C×%¹BªßÛBòÚB-9Bj«¹Bh4ãB‹’B…¬BÕaÏBG¶BøtCfá|B§BÍBCACLµ¸B¬‰ÛBïsšB€P8BQ¹Bm·âBBT’Bx¬BÚÎB]³µBh/C¤[|B±ÂÌB¼þCQQ¸Bš‚E“îCEò- E…—mE5’E é1Eš¿fEn}ˆEѝeE˜§Eä’!EI>…E„³EL©nEBíEçý?E²Ï    E%©hEÃ9E|D.E­ bEÎʅEð÷`EÔ8¤EN`E¨‚EÊò¯E•ÅiEK¼xEWh:E-æEÛºaE‹E«:)E|t[EŸéEoZE\ŸE×ÈEø·}Eê«EÞÕbEøbkEÌ¥0EIEAÄUE͹ƒE: Eí^PE4§vEoôNE5,—E¼ËE]ÆpEM¢EˆæVEsÂCÀd’C6ÁWC£±CRÍÛC=ƒCßò­C  ÎCdU«Cí\üCVzpCIüÈC¸èD/(³Có3ÅCi”C1ZCq³C§¹ÞC"…C¤.°C¶ÆÐCƒ³­C¤µÿCGÝsCò˜ËC;½D®ŽµCØþÅCó”C5¶ZCÉ´CÇkßCÀ–…C²°CôfÑC¬U®CÉFD;ÑtC8<ÌCÎ?    DØ ¶Cp™ÃCÓ“CSXCWà±C”ÜCÊ„CÍu®CÂÎCE3¬CºNýCÀèqC:«ÉCà‹DƒÐ³C  øC88[x(  0Dˆ8[h  ¸E8[x(  ÔEˆ8[h  \G88[xVariable:0Variable_1:0Variable_2:0Variable_3:0Variable_4:0Variable_5:0Variable_6:0Variable_7:0((  ”G88[h  ÌG8[x