o
    㥵ih                     @   s2   d dl mZ d dlmZ ededdfddZdS )    )rank_zero_only)loggerobject_dictreturnNc                 C   s  i }| d }| d }| d }|j std dS |d |d< tdd | D |d< td	d | D |d
< tdd | D |d< |d |d< |d |d< |d|d< |d|d< |d|d< |d|d< |d|d< |d|d< |jD ]}|| q~dS )zzControls which config parts are saved by lightning loggers.

    Additionally saves:
    - Number of model parameters
    cfgmodeltrainerz4Logger not found! Skipping hyperparameter logging...Nc                 s   s    | ]}|  V  qd S N)numel.0p r   S/home/ubuntu/.local/lib/python3.10/site-packages/fish_speech/utils/logging_utils.py	<genexpr>   s    z&log_hyperparameters.<locals>.<genexpr>zmodel/params/totalc                 s   s    | ]
}|j r| V  qd S r	   requires_gradr
   r   r   r   r   r          
zmodel/params/trainablec                 s   s    | ]
}|j s| V  qd S r	   r   r   r   r   r   r      r   zmodel/params/non_trainabledata	callbacksextras	task_nametags	ckpt_pathseed)r   logwarningsum
parametersgetloggerslog_hyperparams)r   hparamsr   r   r   r   r   r   r   log_hyperparameters   s4   

r#   )lightning.pytorch.utilitiesr   fish_speech.utilsr   r   dictr#   r   r   r   r   <module>   s    