Instructions to use alejandrotg-code/music-genre-classification with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Keras
How to use alejandrotg-code/music-genre-classification with Keras:
# Available backend options are: "jax", "torch", "tensorflow". import os os.environ["KERAS_BACKEND"] = "jax" import keras model = keras.saving.load_model("hf://alejandrotg-code/music-genre-classification") - Notebooks
- Google Colab
- Kaggle
Clasificador de Audio (Arquitectura CNN Custom)
Este modelo es una Red Neuronal Convolucional (CNN) diseñada específicamente para la clasificación de espectrogramas de audio en 13 categorías. Se ha puesto especial énfasis en el control del sobreentrenamiento (overfitting) mediante técnicas de regularización avanzadas.
🧠 Arquitectura del Modelo
El modelo utiliza una estructura secuencial con 4 bloques convolucionales diseñados para extraer patrones jerárquicos de los espectrogramas:
- Bloques 1 y 2: Capas de extracción de características base con
BatchNormalizationpara estabilizar el aprendizaje. - Bloques 3 y 4 (Regularizados): Inclusión de L2 Regularization (0.01) para penalizar pesos excesivamente grandes y forzar la generalización.
- Reducción de Dimensionalidad: Uso de
GlobalAveragePooling2Den lugar de capasFlatten, lo que reduce drásticamente el número de parámetros y ayuda a evitar que el modelo memorice la posición exacta de los ruidos. - Clasificador: Una capa densa con Dropout agresivo (0.7) para asegurar que el modelo no dependa de neuronas específicas.
🚀 Especificaciones Técnicas
- Entrada: Imágenes RGB de 128x128 píxeles.
- Salida: Probabilidades para 13 clases (Softmax).
- Optimizador: Adam con tasa de aprendizaje inicial de
0.0005. - Estrategia de Entrenamiento:
- Early Stopping: Monitoreo de
val_losscon paciencia de 8 épocas para restaurar los mejores pesos. - ReduceLROnPlateau: Reducción del Learning Rate (factor 0.2) cuando el error de validación se estanca.
- Early Stopping: Monitoreo de
🛠️ Inferencia rápida
Para cargar y usar el modelo en tu entorno local:
import tensorflow as tf
import numpy as np
# Carga del modelo h5
model = tf.keras.models.load_model('model.h5')
# Cargar y preparar imagen
def predict_audio(img_path):
img = tf.keras.utils.load_img(img_path, target_size=(128, 128))
x = tf.keras.utils.img_to_array(img)
x = np.expand_dims(x, axis=0) # Crear batch de 1
x = x / 255.0
preds = model.predict(x)
return np.argmax(preds)
print(f"Clase detectada: {predict_audio('test_spectrogram.png')}")
- Downloads last month
- -
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support