CLAP HTSAT-unfused, exporte en ONNX

Export ONNX de laion/clap-htsat-unfused, publie sous la licence de l'original (Apache-2.0). Sert a NoiseKernel pour l'auto-tagging et la recherche semantique de samples, en local et hors ligne.

Ceci est une redistribution, pas un modele nouveau. Les poids sont ceux de LAION ; seul le format change. LAION ne publie CLAP qu'en checkpoints PyTorch, et un moteur C++ qui embarquerait PyTorch pour lire quelques centaines de megaoctets de poids n'est pas une option sur telephone.

Fichiers

Fichier Taille Role
clap-audio.onnx 116 Mo Branche audio. Suffit a tagger et a « des sons comme celui-ci ».
clap-text.onnx 501 Mo Branche texte. N'achete QUE la recherche en texte libre.
vocab.json 798 Ko Tokenizer RoBERTa BPE, copie conforme de l'amont.
merges.txt 456 Ko Idem.
labelvec.bin 172 Ko Vecteurs des 86 labels de la taxonomie NoiseKernel. Specifique au projet.

labelvec.bin est ce qui permet de tagger sans jamais charger la branche texte : les 86 vecteurs de labels sont calcules une fois ici, au lieu d'exiger 501 Mo sur chaque appareil pour retrouver exactement les memes.

Contrat mesure

entree audio    input_features   float32 (batch, 1, 1001, 64)
entree texte    input_ids        int64   (batch, tokens)
                attention_mask   int64   (batch, tokens)
sortie          embedding        float32 (batch, 512), DEJA normalise L2

Pre-traitement audio : 48 kHz, 64 mels, n_fft 1024, hop 480, fmin 50 Hz, fmax 14 kHz, clip de 10 s (480 000 echantillons), echelle mel Slaney (pas HTK), fenetre de Hann periodique, padding par reflexion, plancher 1e-10, sortie en dB.

is_longer, seconde entree du modele amont, est absorbee dans l'enveloppe : verifiee inerte sur la variante unfused (ecart exactement nul). Cela ne vaut pas pour la variante fused.

Parite avec l'original

Verifiee dans un processus neuf, modele recharge depuis le disque : tracer un modele le laisse dans un etat qui n'est plus celui d'un chargement neuf, et une verification qui partage son processus avec l'export ne verifie pas l'export, elle verifie un souvenir.

audio      ecart_max 3.390e-07   cos_min 1.000000
texte/9    ecart_max 6.221e-07   cos_min 1.000000
texte/16   ecart_max 6.650e-07   cos_min 1.000000
texte/64   ecart_max 5.364e-07   cos_min 1.000000

Reproduire cet export

L'artefact ne vaut que si quelqu'un peut le refaire depuis la source. Un binaire heberge sans son script de generation est une boite noire que personne ne peut auditer, y compris son auteur dans deux ans.

pip install torch transformers onnx onnxruntime numpy
tools/clap/export-clap.py --out build/clap          # les quatre premiers fichiers
engine/build/rm_make_labelvec build/clap            # labelvec.bin (taxonomie NoiseKernel)

Les deux outils sont dans le depot NoiseKernel. Le second depend de la taxonomie compilee : il refuse de relire une table qui ne correspond pas au vocabulaire courant, plutot que de laisser chaque son se voir poser l'etiquette de son voisin.

Provenance des donnees d'entrainement, sans enjoliver

CLAP est entraine sur LAION-Audio-630K, dont les clips portent des licences mixtes, et dont quatre sources achetees ne sont pas redistribuees. Les poids sont sous Apache-2.0 ; la chaine de droits des donnees en amont, elle, n'est pas auditee clip par clip.

Un avis juridique est requis avant toute commercialisation. Ce document n'en tient pas lieu.

Citer l'original

@inproceedings{laionclap2023,
  title     = {Large-scale Contrastive Language-Audio Pretraining with
               Feature Fusion and Keyword-to-Caption Augmentation},
  author    = {Wu, Yusong and Chen, Ke and Zhang, Tianyu and Hui, Yuchen and
               Berg-Kirkpatrick, Taylor and Dubnov, Shlomo},
  booktitle = {IEEE International Conference on Acoustics, Speech and Signal Processing, ICASSP},
  year      = {2023}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for YashiruSoL/noisekernel-clap-onnx

Quantized
(4)
this model