How plapanaandrei/heritagefusion works
HeritageFusion is a Streamlit application for classifying musical instruments from audio and images, with late-fusion predictions, an educational chatbot, and an administration panel. The user workflow begins in the app, where an uploaded file is analyzed and prediction feedback/statistics can be stored; the README documents combining the modality predictions, though the relevant implementation details were not sampled. Separate training and experiment scripts prepare datasets, train models, and evaluate results. The graph also includes database-backed administration and retraining. Edges are limited to relationships shown by excerpts, the source index, or the README.
Main entry points: app.py Streamlit app · admin_page.py Admin panel · reantrenare_model.py Model retraining · database.py Application data access
Components 20
User application
- Streamlit app
app.py - Audio classification
app.py - Image classification
app.py - Late fusion
app.py - Prediction feedback
app.py - Instrument chatbot
chat_widget.py
Administration
- Admin panel
admin_page.py - Application data access
database.py - PostgreSQL
- Model retraining
training/reantrenare_model.py
Model development
- Audio training
training/train_audio.py - Image training
training/train_images.py - Shared classes
etapa1_clase_comune.py - Dataset splitting
etapa2_split_date.py - Audio evaluation
exp1_audio_only.py - Image evaluation
exp2_image_only.py - Multimodal experiments
exp3_perechi_multimodale.py - Fusion evaluation
evaluare_late_fusion.py - Combined evaluations
exp456_evaluare_multimodala.py
Other components
- Visitor
Connections 21
- Visitor → Streamlit app: uses
README.md - Streamlit app → Audio classification: classifies audio
README.md - Streamlit app → Image classification: classifies images
README.md - Streamlit app → Late fusion: combines predictions
README.md - Streamlit app → Prediction feedback: collects feedback
app.py - Streamlit app → Application data access: reads and writes
app.py - Streamlit app → Instrument chatbot: imports
app.py - Streamlit app → Admin panel: dispatches to
app.py - Admin panel → Application data access: uses
admin_page.py - Application data access → PostgreSQL: queries
database.py - Admin panel → Model retraining: runs training
admin_page.py - Visitor → Admin panel: administers
README.md - Audio training → Audio classification: trains model
- Image training → Image classification: trains model
- Model retraining → Audio training: re-trains
- Model retraining → Image training: re-trains
- Shared classes → Dataset splitting: prepares data
- Audio evaluation → Audio training: evaluates model
- Image evaluation → Image training: evaluates model
- Multimodal experiments → Fusion evaluation: evaluates fusion
- Combined evaluations → Fusion evaluation: evaluates fusion