package Ġio . kin ference . tf js . operators . math Ċ Ċ import Ġio . kin ference . attribute . Attribute Ċ import Ġio . kin ference . data . ON NX Data Ċ import Ġio . kin ference . graph . Contexts Ċ import Ġio . kin ference . operator .* Ċ import Ġio . kin ference . tf js . data . tensors . TF J ST ensor Ċ import Ġio . kin ference . tf js . data . tensors . as Tensor Ċ import Ġio . kin ference . tf js . external s . core . scalar Ċ import Ġio . kin ference . tf js . external s . extensions .* Ċ import Ġkotlin . math . sqrt Ċ Ċ sealed Ġclass ĠB ias G el u ( info : ĠOperator Info , Ġattributes : ĠMap < String , ĠAttribute < Any >>, Ġinputs : ĠList < String >, Ġoutputs : ĠList < String >) ĊĠĠĠ Ġ: ĠOperator < TF J ST ensor , ĠTF J ST ensor >( info , Ġattributes , Ġinputs , Ġoutputs ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠDEFAULT _ VERSION Ġ= ĠVersion Info ( since Version Ġ= Ġ 1 ) ĊĊĠĠĠĠĠĠĠ Ġoperator Ġfun Ġinvoke ( version : ĠInt ?, Ġattributes : ĠMap < String , ĠAttribute < Any >>, Ġinputs : ĠList < String >, Ġoutputs : ĠList < String >) Ġ= Ġwhen Ġ( version Ġ?: ĠDEFAULT _ VERSION . since Version ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġin ĠB ias G el u Ver 1 . VERSION . as Range () Ġ-> ĠB ias G el u Ver 1 ( attributes , Ġinputs , Ġoutputs ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġerror (" Unsupported Ġversion Ġof ĠB ias G el u Ġoperator : Ġ$ version ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠB ias G el u Ver 1 ( attributes : ĠMap < String , ĠAttribute < Any >>, Ġinputs : ĠList < String >, Ġoutputs : ĠList < String >) Ġ: ĠB ias G el u ( INFO , Ġattributes , Ġinputs , Ġoutputs ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTYPE _ CONSTRAINT S Ġ= ĠFLOAT _ DATA _ TYPES ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠS Q RT 2 Ġ= Ġscalar ( sqrt ( 2 . 0 f ), Ġ" float 3 2 ") ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġscalar One Ġ= Ġscalar ( 1 . 0 f , Ġ" float 3 2 ") ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġscalar Half One Ġ= Ġscalar ( 0 . 5 f , Ġ" float 3 2 ") ĊĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠINPUT S _ INFO Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIO Info ( 0 , ĠTYPE _ CONSTRAINT S , Ġ" A ", Ġoptional Ġ= Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIO Info ( 1 , ĠTYPE _ CONSTRAINT S , Ġ" B ", Ġoptional Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠOUTPUT S _ INFO Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIO Info ( 0 , ĠTYPE _ CONSTRAINT S , Ġ" C ", Ġoptional Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġinternal Ġval ĠVERSION Ġ= ĠVersion Info ( since Version Ġ= Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠINFO Ġ= ĠOperator Info (" Bias G el u ", Ġempty Map (), ĠINPUT S _ INFO , ĠOUTPUT S _ INFO , ĠVERSION , Ġdomain Ġ= Ġ" com . microsoft ") ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġ< D Ġ: ĠON NX Data < *, Ġ* >> Ġapply ( contexts : ĠContext s < D >, Ġinputs : ĠList < TF J ST ensor ?> ): ĠList < TF J ST ensor ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoutputs Ġ= Ġtidy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinput Ġ= Ġinputs [ 0 ] !!. data ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbias Ġ= Ġinputs [ 1 ] !!. data ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsum Ġ= Ġinput Ġ+ Ġbias ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġer f Sum Ġ= Ġ( sum Ġ/ ĠS Q RT 2 ). er f () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= Ġ( er f Sum Ġ+ Ġscalar One ) Ġ* Ġscalar Half One Ġ* Ġsum ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ tidy ĠarrayOf ( output ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠlistOf ( outputs [ 0 ]. as Tensor (" C ")) ĊĠĠĠ Ġ} Ċ } Ċ