U lxd@s4ddlmZddlZddlmZGdddeZdS)) SpeechEncoderN)checkpoint_utilsc@seZdZdddZddZdS)ContentVec768L12&pretrain/checkpoint_best_legacy_500.ptNcCsztd|d|_tj|gdd\}}}|dkrNttjrDdnd|_ n t||_ |d |j |_ |j dS)Nzload model(s) from {}i)suffixcudacpur) printformat hidden_dimrZload_model_ensemble_and_tasktorchdevicer is_availabledevtomodeleval)selfZvec_pathrmodelsZ saved_cfgtaskr+D:\so-vits-svc\vencoder\ContentVec768L12.py__init__s  zContentVec768L12.__init__c Cs|}|dkr|d}|dks2t||dd}t|jd}||j ||j dd}t |j j f|}W5QRX|d ddS)NF )source padding_maskZ output_layerr)dimmeanAssertionErrorviewr BoolTensorshapefill_rrno_gradrextract_features transpose)rwavfeatsrinputslogitsrrrencoders      zContentVec768L12.encoder)rN)__name__ __module__ __qualname__rr.rrrrrs r)Zvencoder.encoderrr Zfairseqrrrrrrs