Heating controller with neural thermal model written in Python
Jacek Kowalski
2018-06-24 425bf71fc0b24b547006686d83404c54b983de0b
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{"class_name": "Sequential", "config": [{"class_name": "Dense", "config": {"bias_constraint": null, "dtype": "float32", "kernel_regularizer": null, "kernel_constraint": null, "activation": "linear", "use_bias": true, "activity_regularizer": null, "bias_regularizer": null, "trainable": true, "bias_initializer": {"class_name": "Zeros", "config": {}}, "name": "dense_1", "batch_input_shape": [null, 28], "kernel_initializer": {"class_name": "RandomUniform", "config": {"minval": -0.05, "maxval": 0.05, "seed": null}}, "units": 14}}, {"class_name": "Dense", "config": {"bias_constraint": null, "kernel_initializer": {"class_name": "RandomUniform", "config": {"minval": -0.05, "maxval": 0.05, "seed": null}}, "kernel_regularizer": null, "kernel_constraint": null, "activation": "relu", "use_bias": true, "activity_regularizer": null, "bias_regularizer": null, "trainable": true, "bias_initializer": {"class_name": "Zeros", "config": {}}, "name": "dense_2", "units": 7}}, {"class_name": "Dense", "config": {"bias_constraint": null, "kernel_initializer": {"class_name": "RandomUniform", "config": {"minval": -0.05, "maxval": 0.05, "seed": null}}, "kernel_regularizer": null, "kernel_constraint": null, "activation": "relu", "use_bias": true, "activity_regularizer": null, "bias_regularizer": null, "trainable": true, "bias_initializer": {"class_name": "Zeros", "config": {}}, "name": "dense_3", "units": 14}}, {"class_name": "Dense", "config": {"bias_constraint": null, "kernel_initializer": {"class_name": "RandomUniform", "config": {"minval": -0.05, "maxval": 0.05, "seed": null}}, "kernel_regularizer": null, "kernel_constraint": null, "activation": "linear", "use_bias": true, "activity_regularizer": null, "bias_regularizer": null, "trainable": true, "bias_initializer": {"class_name": "Zeros", "config": {}}, "name": "dense_4", "units": 1}}]}
6 tensorflow2.1.3à{"loss": "mean_squared_error", "loss_weights": null, "sample_weight_mode": null, "optimizer_config": {"class_name": "Adagrad", "config": {"lr": 0.009999999776482582, "epsilon": 1e-07, "decay": 0.0}}, "metrics": ["accuracy"]}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(  €$ fT[hXx!TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ8#HEAPX ˜!kernel:0bias:08SNOD0Xx!SNOD€, QçO>&†h>ì‚*>ø|F¾ÓK>º?c>CÛ2>LÔc>h >ôM>åñ-¾Ì0M¾‡u¾1îC¾²®>>¶!I>´ua>™äD¾Á×c>ø/V>ƒg>L2v>ڒ?>bN>ªÖU¾_¸6¾_¾<`¾—Øm>G>¥:D>è<¾h*>4-.>•a>¨D=>¹³V>bû*>ݤY¾á{a¾š…>¾Äq¾$w>…7l>K}">¡ïN¾—c>íd>¤ŽR>ہ>kã7>óÅ(>s<a¾­Y¾(|¾¬ m¾G|p<ðàƒ=¬f½î—¼ÜɊ:¡å<ö·¨½ó;œ<shè½Pÿn=3    ½Ð½Òüλ­Íèº.„¢¼³
8 ¹<q(ؼ );=^0À;á[¹<Om½ùp™=œ=µ½yP=?'½bŠ5<µÔ‚½óæ‹<©¨<?K’¼{<¶»óÏ}<¹T=“Sw»ôR½S‘<Vðñ½›¿£¼ø°>½dˆ½ŸA}¼UмÓÈ©;P=!=òÒ½'=ú=,,¹:2BR½µÌ¼VN½¡®"=ÿ‘º¼O_B½·-Š¼–';/Ò=[:Á<mÿ½fe=©üõ»Òî¼Õ$á½[ÒW<ïŒi½%\ϼiݽ¼
9 L½›†v½°=Í=&³;=j =‡m½Ìæ¬=Nñ‚=m­2=w‚-=MȺ¦fl=mM ½L¿Ô½šu½Ï™i½b->­?>‘”Ï=e§¤½Í«#>(Úð=Qç >ô>    6ß=•’>ÌʽÊJç½6Kὑ’ä½}>ÞxH>:æË=b9ླྀÕò=ñ    >vÄ>ó>d¿=‘DG>’6¾õJK¾2¨¾?ñ½ñˆ¼g‘<k^†<ëò¼\û€¼¥'£<9¦Å¼6ñ<3Ž{½@êò¼Ï:½¼œž<e==øE½?=j=Û4=ëðÇ;kY=ð-|½éª½õ¾™¼P-³<Wº½m‰/½aóS½wÂ=ë¤Ã;    ½    `I=2«H=&Ö;Ýv6¼D¼`¼Ë¹•¼Ú·Ë¼M#e=$0C½0=2iøº¯¥;•&‚¼'5%¼o۝<?E»?F¼-œÉ»- =äνœe½ف»¢àþ¼©<Qìi½ŒÁ¼nh,½A½x<«'*=ˆr=Õ7o½M =иä¼ÎÄ <Áš½]ˆ¼ ƒÐ½þXI=Y½ûw½?Š<S±Bº‚ÐŽ=#òI=ki<• L½fÊó¼ëèò¹t+‘½æ=…§½Ã(<~+¼¿X³<¸9¼?¯<sʄ=ƒö =»Z¼ßË<ÝJø<^:¼íê:Ÿ9:Q›“½³9Ì<iE½=ª½[ôºÁõ&<²>ˆ=úf=a\b½)Üæ<6hI»•É<J•Ÿ½`±y¼L‹Ï½?•Ý<²ÛŠ½€¸Ž½Óä¼`uÃ<ç6Ä»Íp<›R¼š®½Ûœ­»Ýo<Vò½z'ý<‡W¶½}ü–<{žž¼Ý煼ßÕ<þ½Zëo<;ãÌ<·óŽ<iͼW:=Á-¿¼-÷'½6’h»l‚½AÑ=íüj;íÆ\<™`-½–€Ü<‘Òµ¼íža=:$ª»µ »¸ï½ý(Mºñ$+½“Ö,=ßá]½¸‡½Éc'¼üi’¼ø’U½Ô+¼¼¨<rc=Cö¼ùV¼ñ)­º+Ëo<¦
10 Œ½ûÃé¼Ù½¹(À<Gëm»u—:â”æ¼<n;½jR==‘b4½®v=§ü=½ŽÇ»2»˜½±$    =䞎½4½û9€¼‚Çk»„Ðò¼Á»¼âÑ<êiø<£ñ<<IèA<=–1<&;[=²Ÿ/¼ÕR    ½[+½]ø¼í\Z<+>û¼-ýƒ:¬[½(Ç<:j<sHL=Pa<ç P½2…<an½lôy<¼Á½‰¿ï¼u`½`Äu<·׼SõÞ<ËP=p
11 ®¹œü˼²j.=|E=¬tÁ<—<‰¹±úf=€åŽãë=½)w¼’Ÿ<éð^<o6t½¤IP>EóH>÷Ý:>˜ƒ8¾|Á<>ÏCP>kƒ?>¶I>Ü÷C>¿=>gáI¾êcQ¾òçI¾h|M¾ÂÊ>Úر<s>}>šëû=³d;ÀØö¼NÆ>´Ãƒ¼`<¾=ìJ)>¬ >mнü%Õ<¨çØ=Pÿ»ÆÊ>µg4>+Ø>’É×<âêüì    ¾Â¤<.¹3¾‡DD¾{µ8¾ŒWl<t¼ÚF>&Ì ½,i>4ç=˜Ûô=fJ;²õ½<LgÜ=Í©<½ÔMæ=ÚoA>P¦">
12 ½ƒ»    ½ >@{K:Ðc>Æ\,>m˜> ?¾¼À7¬ºöf;>šÍ½Tý>XÚ'>Ï>:˜¼[^5½lõ >ð ½—>ªF>³ù>ÀyÖ¼my½ZþÔ="…§<1æ >íÜ3>Ôr¬=ý«:=±ò6¼¾ý$¾ón =‡Óø½vÄ0¾@² ¾¨ÍG<SÊ3=çí0¾(–¼ñR½¢Vñ½3Õ%¾ç@ª¼­§ü¼t".¾÷ô¼]¾*h¾¨"¾€ä9Ê<ï¾áSD=‚¾û!¾’&5¾Œ!<H˜½<±®->‰u>;û,>Ûo+>ÝÖ#¼E¶=   *8fT[xP0TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ°4HEAPXø/dense_2H¸-Ø/ X weight_namesdense_2/kernel:0dense_2/bias:0(  Ø*ˆfT[h284TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø5HEAPX X4kernel:0bias:08SNODð1284SNOD@7à0  `,fT[x;TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿp?HEAPX¸:dense_3Hx8˜: X weight_namesdense_3/kernel:0dense_3/bias:0(  BˆfT[hØ<ø>TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¸@HEAPX ?kernel:0bias:08SNOD°<Ø<ø>SNODJ ;)½âʱ<½p> CÆ<¨ö>½pyV;¸* »êI½))>Eio½Þ‘#>{ž/> “=§>3ù=M†»¼ Ò0;›C=† ÷<u=4û¼SÛÁ¼)Ô=5˜9œ%¼ÙC=1]= †d¼‚È<Yžá<?Á=c;Æ<
13 <kî¹NñK½íŸ<†>Øؼ92>">;}>¯ù>Œ®g¼…q¬¼g7>Œ&u½"ÝÊ<_¼3½"íó;ó<û¼f¬3>àÃ;Spü=P>[½=£ã >@©”ºþȽ›7Ï=¹ƒ<?D½ÿ =fƒF¼ ow¼;ÐØ=ĽW<ƒ¯4>Íñ=ùvþ=<ö(>íd½Üå\<Ù=l厼Gý¼P;§»nšÙ<ðæ    ½B;ù<ÙéH=Z©»@Ô¼Œ™z¼@MD½h ž;*Y¼sˆG½¦|༹ܼ9l=¼±N¼š‘ó<2›Å¼èŽw¼.Ð=”QN»jj#½z÷ù;³H¼ûõþ=
14 ×#¼    ×#¼    ×#¼¸7¼&}ù=×#¼ ìý=Í)>ã=¸>ŒMA<æp“¼Ùž:>“c•¼Šëµ¼’U"¼È˃:Íã=lJC>¾Þ½…b=>Sq(>„Ý!>š
15 E>¹÷$A‚ÀFA&ÂA²‰tA_·%A…h#A,Ëá@aágA´ñ“@¯ˆ
16 Aò•ZAù“A²GfAIÄPA[icFçnMFÿ]F=;F揠   ;dápFßQXF\TjF˜OEF‡K°;€ÜÝE_ÔËEcg×EÈN¹Eدû7E) F#ÿEj0FG5èEƒn
17 :­i"F;¨FÏF¬rFóC|;*^2F_Ø!FWX-FéhF˜–7³ôEϊäELíEKaÏE˜­:Žy8F¤‘&F    [3FßÐFLÍ9ÖzgE[-^EZ9`EÊàHEòm$96‡FÐ^F^FÉÒòEtêø:?¯QF´=FgàKFöd,Fjþð:ÿb?Fk-F,:FbüF¹³î8­D6F)Š$Fv:1F­õFÕz9ßTF k?Fƒ2NFz.Fqj¬:ƝvB\B¤pB©~IBE©:’â @ >ŽGåÔg=þ„¹=
18 }¸>¹%=†\¥G€•ë=µ‹˜GbrXGD‹Gæê¦G€O>jÛ1Gςo=‘¾=rGÛ<xSMG&î=G&‹GÖ7ÂFUzOG û;@÷À¬Gºøž=vÝ>™±Ó>¤¥h=× ÉG‚ýF>•d¹GK?ƒG¸­1GéÊGš˜•?ÛDvGu|ë;YQ+<Ùm?@Õ<UΎGЏd>9܃Gâò;GÿG©3GöTœ<Ϗ_<o´<úFÒ;¬}=¤Ú<oœa7Agñ:â&Å?yˆaC[Ð}?”×?ߋ&?Py?BŒC Ã“=¡¾|Côý!Cc!¬BÉðŠCëš?vrÛHm²<ªèY=Š~?ÀÙs<){%IºŠ¶:y9IEèIr×HIœtµF  ˆC8fT[xÐMTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ0RHEAPXxMdense_4H8KXM X weight_namesdense_4/kernel:0dense_4/bias:0(  ÀC8fT[h˜O¸QTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxSHEAPX ØQkernel:0bias:08SNODpO˜O¸QSNODÀT`N  |,fT[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 fT[hˆ[¨]TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(bHEAPXÈ]AdagradHSNOD`[ˆ[¨]_°aTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿpcxHEAP°ˆrSNODh__°aSNODPZ¸l(Èm8ØnHèoXøph¸rxÈs©‚Eg›ErSME6áÁE·=ƒE¹iE12EMá·EɈèDr`[EcK­EÏ¢qE`¢¶E(z¥E©¥‚EŠ–EkOME_ÛÁEz:ƒEdfE>02E‰Û·E·‹èD[[E;F­EâœqEzœ¶Eou¥E¦‚E4–EÊQMEYÛÁE7;ƒEgEK52E{Û·EX™èDv\[EÐE­E+žqEœ¶E~u¥Eõ¾‚EEºzMEÿÁETTƒEþE[2Eêü·E½ÑèD¶†[E§e­EcÌqEu½¶E‚”¥E C'v/C•êBeÔ[C“©C¤‹COÉ×BNC©¥œB>öB    $BC"_C5bLCk:CÞÖC¹¼-CôûèBÃþYC{€CeCæ’×B§-LCåBEoôBf@CKC;qJCñÌ8Cµ×C£M,C½§çB[vXCSŠC5qC(k×Be›JCªðžBºòBƒô>CšgCËÒHCót7C¾íC+CdæB" WC¦CôŽCV×BÛ.IC‰ŸŸB'ñB ¦=Cˆ•Ce[GCì96C¶]=?\?³??þŒ‹?ã@?>?h«?!“?Žî>ª?/nt?b0?D€?d•m?1°^?3l?<Š7?¹ó¢?ùVb?Û_?Hˆ/?À͗?ëÄ? „<?>e?šO?…f–?×'‹? p?ïà‹?¥÷D?<¯?E—s?;p?Âê:?Óï£?×ä ?{K?¬çš?@ž_?ðg¢?±ÿ•?‰,z?±G’?ñ6L?Û϶?°c}?ʼy?3¶??U<«?]D?{›S?eס?täh?¢©?êRœ?(êBÔ!C™^ÂBÝý*CÆuîB2éêB1qÈBÃCĪ¨B9ÅB9æC'EÛB­TCÕ!CP*êBe%C—GÂB6ç*CBgîB‡ÛêB’'ÈBKÂC¬¨B6ÅB/éCº@ÛBMPCáC<LèB¥/CèˆÀBڅ)C(lìB¸èèBìçÅB~–CI°¥Bù˜ÃBÊC[rÙBƒ)C9øCi[äB4C½BA±&CÆRèB˜àäB¢ÁB²Chf¡B&:ÀB¾cC%®ÕBB¹C—˜ C¥G²BÚ»ÕB¹kŽB¼tCc´B%رB“€B]yúB¨=6B”ª•BçoëBó'¥B’ÛøB4¤âBZ±BäïÔB͍BöC9¨³BʱBAðB@ŽùBD5B6
19 •B¼ŽêBšz¤Bò÷BÇáBqÀ°B+ÔBPBucC–вB‹K°B\W~B˜‡øB›Í3BåT”Bb”éBÇ´£BòíöB¤ÌàBÞ°BúOÓBäXŒB~ÜCL²B€ƒ¯BŸ|Bm ÷BQñ1B®“B’·èB•ü¢BX
20 öBWèßBbÁEyŸEëÜjE>lÇEõ E‡
21 EÜkEÍ÷ºEg´:E=npE»Ð²E¤½„E†¶·EÔV¬EÅt‰EzɚE«ÍcE9¥ÁE5ĊE]шE¾cEpzµEŠí4Ep"iEñy­Eý²€E¬_²EÖF§EÊ,‚E†’EÌîWE…¡·EÍ}ƒE°¤EA4XEŒó«E•_,EXÉ\EjO¤EMËsEý©E¬†žEÎWpEÚ'‡E„×GE“©©EsE:˜oE)IEžEp‚!EïØKE<‡—EÑ aEuì›E`’E…a½C’ÓCšðCADοCäú¼CÐH£CðŸùC •‡C¹" CxÆîC–‘±C¥µôC‘sæCÕÓÁCø±ØCº{¡C¿(    D(=ÄCS\ÁC…k¦C­¢ÿCªœ‰CÌä£C/~ôC1±µCæ¦úC+ëëC1=ÂC©bÙC2¸¡C${    DLŸÄCí¿ÁC.3¦Cì*D¹÷ˆCç?¤C;õCS
22 ¶CØgûC8„ìCꤿC•ÈÖCUmŸC…¾D¼ùÁCg'¿C³Z£C¥+ýC«%†C¬    ¢CýñCýŽ³ClbøCˆéC  øC8fT[x(  0DˆfT[h  ¸EfT[x(  ÔEˆfT[h  \G8fT[xVariable:0Variable_1:0Variable_2:0Variable_3:0Variable_4:0Variable_5:0Variable_6:0Variable_7:0((  ”G8fT[h  ÌGfT[x