Refactored main.py

This commit is contained in:
zin
2026-05-06 20:12:14 +00:00
parent 95595a5a5e
commit 5290554d70
3 changed files with 143 additions and 126 deletions
+33
View File
@@ -0,0 +1,33 @@
import streamlit as st
from pathlib import Path
import pandas as pd
import numpy as np
from music_engine.matcher import MusicMatcher
@st.cache_resource
def load_music_engine():
"""Загрузка базы данных и модели регрессора."""
base_dir = Path(__file__).resolve().parent
db_path = base_dir.parent / "dataset" / "DEAM" / "music_db.csv"
model_path = base_dir / "music_engine" / "va_regressor.pkl"
if not db_path.exists():
return None
return MusicMatcher(db_path=db_path, model_path=model_path)
@st.cache_data
def load_emoset_data():
"""Загрузка тестовой выборки EmoSet для первой вкладки."""
csv_path = Path("./dataset/EmoSet-118K/test/labels.csv")
img_dir = Path("./dataset/EmoSet-118K/test/images")
emb_path = Path("./src/emoset_test_embeddings.npy")
lbl_path = Path("./src/emoset_test_labels.npy")
if not all([csv_path.exists(), emb_path.exists(), lbl_path.exists()]):
return None, None, None, None
df = pd.read_csv(csv_path)
image_list = df['filename'].tolist()
embs = np.load(emb_path)
lbls = np.load(lbl_path)
return image_list, embs, lbls, img_dir