o
    i6                     @   s   d dl Z d dlmZ d dlZd dlmZ d dlmZmZ d dl	m
Z
 d dlmZ e eedd ejd	eedd
dddd ZedkrPe  dS dS )    N)files)	OmegaConf)CFMTrainer)load_dataset)get_tokenizerf5_ttsz../..z1.3configs)version_baseconfig_pathconfig_namec              
   C   s  t jd| jj }| jj}| jj}| jjj}| j	
dd}| j	
d| jj d| d| jj d| jj }| j	
dd }|dkrG| jj}n| jj}t||\}	}
t|d$i ||
| jjjd| jj|	d	}t|fi d
| jjd| jjd| jjd| j	jd| j	jdttdd| j	j d| jjd| jjd| jjd| jjd| jj d| j	j!d|d|d|d| j	j"d| j	j#d| jj$d|d| jj%j&d| jj%j'dt(j)| dd }t*| jj|| jjd!}|j+|| jj,d"d# d S )%Nzf5_tts.model.wandb_projectzCFM-TTSwandb_run_name_wandb_resume_idcustom)text_num_embedsmel_dim)transformermel_spec_kwargsvocab_char_mapepochslearning_ratenum_warmup_updatessave_per_updateskeep_last_n_checkpointscheckpoint_pathr   z../../batch_size_per_gpubatch_size_typemax_samplesgrad_accumulation_stepsmax_grad_normloggerlast_per_updateslog_samplesbnb_optimizermel_spec_typeis_local_vocoderlocal_vocoder_pathmodel_cfg_dictT)resolve)r   i  )num_workersresumable_with_seed )-hydrautils	get_classmodelbackbonearch	tokenizermel_specr&   ckptsgetnamedatasetstokenizer_pathr   r   n_mel_channelsr   optimr   r   r   r   r   strr   joinpathsave_dirr   r   r   r    r!   r"   r#   r$   r%   vocoderis_local
local_pathr   to_containerr   trainr+   )	model_cfg	model_cls	model_arcr4   r&   r   r   r   r:   r   
vocab_sizer1   trainertrain_datasetr-   r-   F/home/ubuntu/.local/lib/python3.10/site-packages/f5_tts/train/train.pymain   s   
$
	



rL   __main__)osimportlib.resourcesr   r.   	omegaconfr   f5_tts.modelr   r   f5_tts.model.datasetr   f5_tts.model.utilsr   chdirr=   r>   rL   __name__r-   r-   r-   rK   <module>   s   
>
