File size: 890 Bytes
44626f7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import torch
from transformers import AutoFeatureExtractor, AutoModel

# Charger HeAR depuis Hugging Face
MODEL_NAME = "google/hear"
feature_extractor = AutoFeatureExtractor.from_pretrained(MODEL_NAME)
hear_model = AutoModel.from_pretrained(MODEL_NAME)
hear_model.eval()

def get_embeddings(waveform, sr):
    """
    Transforme un audio en embeddings HeAR
    """
    # Transformer waveform en input pour HeAR
    inputs = feature_extractor(waveform, sampling_rate=sr, return_tensors="pt")
    with torch.no_grad():
        embeddings = hear_model(**inputs).last_hidden_state
    # embeddings : (batch, sequence, features)
    return embeddings

def predict_risk(embeddings):
    """
    Pour le moment : score factice basé sur la norme L2 des embeddings
    Plus tard : utiliser ton classifieur pneumonie
    """
    score = torch.norm(embeddings, dim=-1).mean().item()
    return score