o 0 i @s,ddlmZddlmZGdddeZdS)) annotations) WeightTypecseZdZdZ     dd fd d Zed d Zejdd ZeddZejddZeddZ e jddZ ddZ ddZ ddZ ddZ ddZZS)!ExchangeObjectaP Contains the information shared between client and server. Args: weights: model weights. optim: optimizer weights. metrics: evaluation metrics. weight_type: type of weights (see monai.fl.utils.constants.WeightType). statistics: training statistics, i.e. number executed iterations. Nweights dict | Noneoptimmetrics weight_typeWeightType | None statisticscs2t||_||_||_||_||_i|_dSN)super__init__rrrr r _summary)selfrrrr r  __class__`/home/dell461/cl/sdc2/last_ska_mid/HISourceFinder-master-l/src/monai/fl/utils/exchange_object.pyrs  zExchangeObject.__init__cC|jSr )_metricsrrrrr-zExchangeObject.metricscC.|durt|tstdt|||_dS)Nz1Expected metrics to be of type dict but received ) isinstancedict ValueErrortyper)rrrrrr1  cCrr ) _statisticsrrrrr 8rzExchangeObject.statisticscCr)Nz4Expected statistics to be of type dict but received )rrrrr)rr rrrr <rcCrr ) _weight_typerrrrr CrzExchangeObject.weight_typecCs:|dur|tjtjfvrtdtjdtj||_dS)Nz"Expected weight type to be either z or )rZWEIGHTSZ WEIGHT_DIFFrr )rr rrrr Gs cCs|jsdS|js dSdS)NFT)rr rrrris_valid_weightsNs zExchangeObject.is_valid_weightscCsN|r%t|trt||j|<dSt|tr||j|<dSt||j|<dSdSr )rrlenrrr)rkeyvaluerrr_add_to_summaryUs  zExchangeObject._add_to_summarycCsJ|j|tgd|j|j|j|j|jgD] \}}|||q|jS)N)rrrr r ) rupdateziprrrr r r%)rkvrrrsummary^s  zExchangeObject.summarycC t|Sr strr*rrrr__repr__g zExchangeObject.__repr__cCr+r r,rrrr__str__jr/zExchangeObject.__str__)NNNNN) rrrrrrr r r r)__name__ __module__ __qualname____doc__rpropertyrsetterr r r!r%r*r.r0 __classcell__rrrrrs2         rN) __future__rZmonai.fl.utils.constantsrrrrrrrs