U â€C^¨ ã@s¨ddlmZGdd„deƒZGdd„deƒZGdd„deƒZGdd „d eƒZGd d „d eƒZGd d „d eƒZGdd„deƒZ dd„Z dd„Z dd„Z dd„Z dd„ZdS)é)Úunicode_literalsc@s0eZdZd dd„Zdd„Zd dd„Zdd „ZdS) ÚAttributeDescriptionNcOsd|_||_||_dS©N)ÚnameÚtextÚvalue)ÚselfrrÚargsÚkwargs©r ú1/tmp/pip-install-6_kvzl1k/thinc/thinc/describe.pyÚ__init__szAttributeDescription.__init__cCs ||_dSr)r)rÚattrÚmodelr r r Ú__call__ szAttributeDescription.__call__cCs|jSr©r©rÚobjÚtyper r r Ú__get__szAttributeDescription.__get__cCs ||_dSrr)rrÚvalr r r Ú__set__szAttributeDescription.__set__)N)N)Ú__name__Ú __module__Ú __qualname__r rrrr r r r rs  rc@seZdZddd„Zdd„ZdS)Ú DimensionNcCs|j |jd¡Sr)Ú_dimsÚgetrrr r r rszDimension.__get__cCs||j|j<dSr)rr)rrrr r r rszDimension.__set__)N)rrrrrr r r r rs rc@s(eZdZddd„Zd dd„Zdd„ZdS) ÚWeightsNcCsd|_||_||_||_dSr)rrÚ get_shapeÚinit)rrrr r r r r szWeights.__init__cCsX|j|jf}||jkr |j|S| |¡}|j ||¡}|jdk rP| ||j¡|SdSr)ÚidrÚ_memrÚaddr Úops)rrrÚkeyÚshapeÚdatar r r r$s     zWeights.__get__cCs$|j |j|jf¡}||dd…<dSr©r"rr!r©rrrr'r r r r/szWeights.__set__)N)N©rrrr rrr r r r rs  rc@s&eZdZdd„Zddd„Zdd„ZdS) ÚGradientcCsd|_d||_||_dS)NzGradient of %s)rrÚ param_name)rr,r r r r 5s zGradient.__init__NcCsD|j|jf}||jkr"|j |¡S|j|jf}|j ||¡}|SdSr)r!rr"rr,Z add_gradient)rrrr%Z param_keyZgradr r r r:s     zGradient.__get__cCs$|j |j|jf¡}||dd…<dSrr(r)r r r rCszGradient.__set__)Nr*r r r r r+4s r+c@s eZdZdS)ÚSynapsesN©rrrr r r r r-Hsr-c@s eZdZdS)ÚBiasesNr.r r r r r/Lsr/c@s eZdZdS)ÚMomentNr.r r r r r0Psr0c sˆs tdƒ‚‡fdd„}|S)Nz$Must describe at least one attributecsBt|jƒ|_|j ˆ¡|j ¡D]\}}t|||ƒ||_q"|Sr)ÚdictZ descriptionsÚupdateÚitemsÚsetattrr)ÚclsrÚdesc©Úspecsr r ÚwrappedXs    zattributes..wrapped)Ú ValueError)r8r9r r7r Ú attributesTs r;cs‡fdd„}|S)Ncst|jƒ|_|j ˆ¡|Sr)ÚlistZ on_init_hooksÚextend©r5©Ú callbacksr r r9ds  zon_init..wrappedr ©r@r9r r?r Úon_initcs rBcs‡fdd„}|S)Ncst|jƒ|_|j ˆ¡|Sr)r<Z on_data_hooksr=r>r?r r r9ms  zon_data..wrappedr rAr r?r Úon_datals rCcs‡fdd„}|S)Ncs ˆ|_|Sr)Zdescribe_inputr>©Úgetterr r r9vszinput..wrappedr ©rEr9r rDr Úinputus rGcs‡fdd„}|S)Ncs ˆ|_|Sr)Zdescribe_outputr>rDr r r9~szoutput..wrappedr rFr rDr Úoutput}s rHN)Ú __future__rÚobjectrrrr+r-r/r0r;rBrCrGrHr r r r Ús