U ØA¿d2ã@s4ddlZddlmZddlmZGdd„deƒZdS)éN)Úcheckpoint_utils)Ú SpeechEncodercs&eZdZd‡fdd„ Zdd„Z‡ZS)ÚContentVec256L9ú&pretrain/checkpoint_best_legacy_500.ptNcs„tƒ ¡td |¡ƒtj|gdd\}}}d|_|dkrXt tj   ¡rNdnd¡|_ n t |¡|_ |d  |j ¡|_ |j  ¡dS)Nzload model(s) from {}Ú)ÚsuffixéÚcudaÚcpur)ÚsuperÚ__init__ÚprintÚformatrZload_model_ensemble_and_taskÚ hidden_dimÚtorchÚdevicer Ú is_availableÚdevÚtoÚmodelÚeval)ÚselfZvec_pathrÚmodelsZ saved_cfgÚtask©Ú __class__©úJC:\Green_Program_Files\So-VITS-SVC-Shengshuyan\vencoder\ContentVec256L9.pyr s þ  zContentVec256L9.__init__c Csª|}| ¡dkr| d¡}| ¡dks2t| ¡ƒ‚| dd¡}t |j¡ d¡}| |j ¡| |j ¡ddœ}t  ¡$|j j f|Ž}|j   |d¡}W5QRX| dd¡S)NééÿÿÿÿéFé )ÚsourceÚ padding_maskZ output_layerr)ÚdimÚmeanÚAssertionErrorÚviewrÚ BoolTensorÚshapeÚfill_rrÚno_gradrÚextract_featuresÚ final_projÚ transpose)rÚwavÚfeatsr#ÚinputsÚlogitsrrrÚencoders     ý zContentVec256L9.encoder)rN)Ú__name__Ú __module__Ú __qualname__r r3Ú __classcell__rrrrrsr)rZfairseqrZvencoder.encoderrrrrrrÚs