src.embeddings.vae ================== .. py:module:: src.embeddings.vae Attributes ---------- .. autoapisummary:: src.embeddings.vae.logger Classes ------- .. autoapisummary:: src.embeddings.vae.VAEEmbedding Functions --------- .. autoapisummary:: src.embeddings.vae._compute_spectrogram Module Contents --------------- .. py:data:: logger .. py:class:: VAEEmbedding(dataset_name: str, clip_duration: float = 3.0, model_path: str or pathlib.Path or None = None, sampling_rate: int or None = None, learning_rate=0.05, batch_size=16, epochs=10, latent_dim=128, beta_kl=1, kw_spectrograms: dict or None = None) Bases: :py:obj:`embeddings.BaseEmbedding` VAEEmbedding class for computing spectrograms from audio data and fitting a Variational Autoencoder (VAE). This class extends BaseEmbedding and provides functionality for computing spectrograms and training a VAE on those spectrograms. Attributes: ----------- model_path : str Path where the VAE model will be saved or loaded. data : pd.DataFrame or None DataFrame holding the computed spectrograms. vae : tensorflow.keras.Model The VAE model used to fit the spectrogram data. Methods: -------- load_model(): Loads a pre-trained VAE model if available. process(dataset_name: str, extension: str = '.wav', sampling_rate: int = 48000, **kwargs): Processes the audio dataset by computing spectrograms and fitting a VAE. .. py:attribute:: learning_rate .. py:attribute:: epochs .. py:attribute:: batch_size .. py:attribute:: latent_dim .. py:attribute:: beta_kl .. py:attribute:: kw_spectrograms .. py:attribute:: model :value: None .. py:attribute:: spectrograms :value: None .. py:method:: compute_spectrograms() .. py:method:: load_model() .. py:method:: train_model() .. py:method:: process() .. py:function:: _compute_spectrogram(audio: numpy.array, sample_rate: int, resolution: float, overlap: float, freq_min: float, freq_max: float or None, n_freqs: int, **kwargs)