CoolFace
Apppublic

antoniomae1234/Seed-VC-characters

sourceHugging Facegpl-3.0updated 2y agoView on Hugging Face
6likes
commons.cpython-310.pyc107 linesDownload Raw Back to __pycache__
1o

2PX�f�8�@snddlZddlZddlZddlmZddlmZddlm	Z	ddl3Z4Gdd�de�ZdLd	d5�Z
dMdd
�Zdd�Zdd�Zdd�Zdd�Zdd�ZdNdd�ZdNdd�ZdOdd�ZdPd!d"�ZdPd#d$�ZdQd%d&�Zd'd(�Zejjd)d*��Zd+d�Zd,d-�ZdRd.d/�Zd0d1�Z d2d3�Z!dSd5d6�Z"dTd8d9�Z#d:d;�Z$dUd=d>�Z%d?a&d@dA�Z'dBdC�Z(dVdEdF�Z)dGgd?fdHdI�Z*dJdK�Z+dS)W�N)�nn)�6functional)�MunchcseZdZ�fdd�Z�ZS)�AttrDictcs tt|�j|i|��||_dS�N)�superr�__init__�__dict__)�self�args�kwargs��	__class__��D:\seed-vc\modules\commons.pyrs7zAttrDict.__init__)�__name__�8__module__�__qualname__r�
__classcell__rrr
rr9sr��{�G�z�?cCs.|jj}|�d�dkr|jj�||�dSdS)NZConv�����)rr�find�weight�data�normal_)�m�mean�std�	classnamerrr�init_weightss�r �cCst|||d�S)N�)�int)�kernel_size�dilationrrr�get_paddingsr&cC� |ddd�}dd�|D�}|S)NrcS�g|]	}|D]}|�qqSrr��.0�sublist�itemrrr�10<listcomp>��%convert_pad_shape.<locals>.<listcomp>r��	pad_shape�lrrr�convert_pad_shape�r3cCs(|gt|�dd}||ddd�<|S)Nr"r!)�len)�lstr,�resultrrr�intersperse sr8cCs@||d}|dt�d|�||dt�d|�7}|S)zKL(P||Q)g�?g@r"g�)�torch�exp)�m_pZlogs_pZm_qZlogs_q�klrrr�
kl_divergence&s11*�r=cCs&t�|�dd}t�t�|��S)z<Sample from the Gumbel distribution, protect from overflows.g9����?g�h㈵��>)r9�rand�log)�shapeZuniform_samplesrrr�rand_gumbel/srAcCst|���j|j|jd�}|S�N��dtype�device)rA�size�torDrE)�x�grrr�rand_gumbel_like5srJ�cCsbt�|dd�dd�d|�f�}t|�d��D]}||}||}||dd�||�f||<q|S�Nr�r9�12zeros_like�rangerF�rH�ids_str�segment_size�ret�i�idx_str�idx_endrrr�slice_segments:s rWcCsVt�|dd�d|�f�}t|�d��D]}||}||}||||�f||<q|SrLrMrPrrr�slice_segments_audioCsrXc	Csd|��\}}}|dur
|}||d}t�|g�j|jd�|�d�jtjd�}t|||�}||fS)Nr!)rEr�rD)rFr9r>rGrE�clip�longrW)	rHZ	x_lengthsrR�b�d�tZids_str_maxrQrSrrr�rand_slice_segmentsLs �r_��?���@c13Cs�tj|tjd�}|d}t�t|�t|��|d}|t�tj|tjd�|�}|�d�|�d�}t�t�|�t�	|�gd�}	t14�|	ddd|dg�}	|	�d||�}	|	S)NrYr"r!r)
r9�arange�float�mathr?r:�	unsqueeze�cat�sin�cos�F�pad�view)15�length�channels�
min_timescale�
max_timescale�positionZnum_timescalesZlog_timescale_incrementZinv_timescalesZscaled_time�signalrrr�get_timing_signal_1dXs��rrcCs2|��\}}}t||||�}||j|j|jd�SrB)rFrrrGrDrE)rHrnror\rmrlrqrrr�add_timing_signal_1dhsrscCs:|��\}}}t||||�}t�||j|j|jd�g|�SrB)rFrrr9rfrGrDrE)rHrnro�axisr\rmrlrqrrr�cat_timing_signal_1dnsrucCs"t�t�||���d��d�}|SrL)r9�tril�onesre)rl�maskrrr�subsequent_masktsrycCs\|d}||}t�|dd�d|�dd�f�}t�|dd�|d�dd�f�}||}|SrL)r9�tanh�sigmoid)Zinput_aZinput_b�16n_channelsZn_channels_intZin_actZt_actZs_actZactsrrr�fused_add_tanh_sigmoid_multiplyys  r}cCr')NrcSr(rrr)rrrr-�r.r/rr0rrrr3�r4cCs<t�|tddgddgddgg��dd�dd�dd�f}|S)Nrr!r)rirjr3)rHrrr�shift_1d�s8r~cCs8|dur|��}tj||j|jd�}|�d�|�d�kS)NrCrr!)�maxr9rbrDrEre)rl�17max_lengthrHrrr�
sequence_mask�sr�cCsT|jtjks18Jd��|jdkr|�d�}|jddkr |�|�}||��|��S)NzMask should be floatr"r!)rDr9rc�ndimrer@�	expand_as�sum)rHrxrrr�
avg_with_mask�s192021r�c22	Cs�|j}|j\}}}}t�|d�}|�||�}t||��|j�}	|	�|||�}	|	t�	|	t23ddgddgddgg��dd�dd�f}	|	�d��dd�|}	|	S)z:24    duration: [b, 1, t_x]25    mask: [b, 1, t_y, t_x]26    rrr!Nr"�)
rEr@r9�cumsumrkr�rGrDrirjr3re�	transpose)27�durationrxrEr\�_�t_y�t_xZcum_durationZcum_duration_flat�pathrrr�
generate_path�s6r�r"cCs�t|tj�r	|g}ttdd�|��}t|�}|durt|�}d}|D]}|jj�|�}||�	�|7}|durA|jjj28||d�q"|d|}|S)NcSs29|jduSr)�grad)�prrr�<lambda>�s30z"clip_grad_value_.<locals>.<lambda>r)�minrr`)�31isinstancer9�Tensor�list�filterrcr�r�normr,�clamp_)�32parameters�33clip_value�	norm_type�34total_normr�Z35param_normrrr�clip_grad_value_�s�r������cCs$t�t�|||�j|d��}|S)z836    normalized log mel -> mel -> norm -> log(norm)37    )�dim)r9r?r:r�)rHrrr�rrr�log_norm�s r�cCs@ddlm}|ddd�}tj|dd�d}|�|�|��}|S)Nr!)�JDCNet��)Z	num_class�seq_len�cpu��map_location�net)Z	JDC.modelr�r9�load�load_state_dict�train)r�r�ZF0_model�paramsr�rrr�load_F0_models�s38r��cs*ddlm�				d���fdd�	}|S)	z�39    change forward method of w2v encoder to get its intermediate layer output40    :param self:41    :param layer:42    :return:43    r)�BaseModelOutputNFTc	s�|rdnd}|r44dnd}|}|durK|�|���d�d�}d|dd�dddd�fj|jd�}|t�|j�j}|�|j	dd|j	d|j	d�}��45|�}�jdur[��|�}nd}d}	t�j
�D]U\}46}|ro||f}t�g�}�jr|�jjkrd	nd}
|
r�|	r��jr��jr���|j|||||�}n	||||||d47�}|d}|
r�d}|r�||df}|48�dkr�nqd|r�||f}|s�tdd
�|||fD��S�|||d�S)Nrrrr`rYrr!FT)�attention_mask�relative_position_embeddings�output_attentions�conv_attention_mask)NNcss�|]	}|dur|VqdSrr�r*�vrrr�	<genexpr>6s���z6modify_w2v_forward.<locals>.forward.<locals>.<genexpr>)Zlast_hidden_state�
hidden_statesZ49attentions)�masked_fill�boolrerGrDr9�finfor��expandr@�dropoutZembed_positions�	enumerate�layersr>�training�config�	layerdropZgradient_checkpointingZ_gradient_checkpointing_func�__call__�tuple)r�r�r�Zoutput_hidden_statesZreturn_dictZall_hidden_statesZall_self_attentionsr�r�Zdeepspeed_zero3_is_enabledrT�layerZdropout_probabilityZskip_the_layerZ
layer_outputs�r��output_layerr50rr�forward�s����51525354����	��55��z#modify_w2v_forward.<locals>.forward)NFFT)Ztransformers.modeling_outputsr�)r56r�r�rr�r�modify_w2v_forward�s�_r�Fc57Cs�tsddl}ddl}|�d�da|�d�}|�|j�ddlm}ddl	}|j58dd�\}}|j|ddd	d59�}|j||d�|�
d�|�d
�|��|j��|j|j��|jdd�}	|	�|j��ddd�d�}	|��|	S)NrZAggT�60matplotlib)�61r")�figsize�auto�lower�none)�aspect�origin�
interpolation)�axZFramesZChannels�)rD�sepr)r�)�MATPLOTLIB_FLAGr��logging�use�	getLogger�setLevel�WARNINGZmatplotlib.pylab�pylab�numpy�subplots�imshow�colorbar�xlabel�ylabel�tight_layout�canvas�draw�62fromstringZtostring_rgb�uint8�reshape�get_width_height�close)63�spectrogramr�r�Z64mpl_logger�plt�np�figr��imrrrr�plot_spectrogram_to_numpyGs(6566676869r�cCsft�|dk�d}||}t�|�}t�|�}t�|�}|||}t�|�}|||<d||dk<|S)Nrr)r��where�log2rrrN)Zf0_sequenceZvoiced_indicesZ	f0_voicedZlog_f0Zmean_f0Zstd_f0Z
normalized_f0Znormalized_sequencerrr�normalize_f0bs70717273r��DiTcCsf|dkr,ddlm}ddlm}||jj|jj|jj|jjd�}||�}t	||d�}|St74d|����)Nr�r)�CFM)�InterpolateRegulator)rm�sampling_ratios�is_discreteZ
codebook_size)�cfm�length_regulatorzUnknown stage: )Zmodules.flow_matchingr�Zmodules.length_regulatorr�r�rmr�r�Zcontent_codebook_sizer�75ValueError)r�stager�r�r�r��netsrrr�build_modelys ���r�TcsLtj|dd�}|d}�D]j}||vrw||vrw|s>t||���D]}	|	�d�r=|||	|||	td�d�<|||	=q!�|����fdd�||��D�}76t||���t|77���}|rht	d|���t	d|��|j78|79d	d80�q
�fdd��D�}|s�|d
d}
|d}|�81|d�|�|d�nd}
d}�||
|fS)Nr�r�r�zmodule.cs.i|]\}}|�vr|j�|jkr||�qSr)r@�r*�kr�)�model_state_dictrr�82<dictcomp>�s83�z#load_checkpoint.<locals>.<dictcomp>z:Warning: Skipped loading some keys due to shape mismatch: z	%s loadedF)�strictcsg|]}�|���qSr)�eval)r*�key)�modelrrr-�sz#load_checkpoint.<locals>.<listcomp>�epochr!�iters�	optimizer�	schedulerr)r9r�r��keys�84startswithr5�85state_dict�items�set�printr�Zload_scheduler_state_dict)rrr��load_only_params�ignore_modules�is_distributed�stater�rr�Zfiltered_state_dictZskipped_keysr�rrr)rr�r�load_checkpoint�s>86 87�8889���rcCs<t|t�rtdd�|��D��St|t�rdd�|D�S|S)Ncss �|]\}}|t|�fVqdSr��recursive_munchr�rrrr��s�z"recursive_munch.<locals>.<genexpr>cSsg|]}t|��qSrrr�rrrr-�sz#recursive_munch.<locals>.<listcomp>)r��dictrrr�)r]rrrr�s909192r)rr)r!)rK)NrK)r`ra)r`rar!r)r")r�rKr")r�)r�),rdr�r�r9r�torch.nnrriZmunchr�jsonrrr r&r3r8r=rArJrWrXr_rrrsrury�jit�scriptr}r~r�r�r�r�r�r�r�r�r�r�r�rrrrrr�<module>sT9394	9596	97	9899100101	102103104105k106107�/