Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from autogluon.tabular import TabularPredictor | |
| import pandas as pd | |
| # Load the model from the `model/` folder in this repo | |
| predictor = TabularPredictor.load("model/") | |
| key_center_mapping = { | |
| 0: "A", 1: "Bb", 2: "B", 3: "C", 4: "Db", 5: "D", | |
| 6: "Eb", 7: "E", 8: "F", 9: "Gb", 10: "G", 11: "Ab" | |
| } | |
| marking_mapping = { | |
| 0: "Minuet", 1: "Allegro", 2: "Andante", | |
| 3: "Moderato", 4: "Allegretto", 5: "Dance" | |
| } | |
| def predict_composer(rh, lh, measures, key_center, marking): | |
| df = pd.DataFrame({ | |
| 'right hand notes': [rh], | |
| 'left hand notes': [lh], | |
| 'measures': [measures], | |
| 'Key Center': [key_center], | |
| 'marking': [marking] | |
| }) | |
| pred = predictor.predict(df)[0] | |
| probs = predictor.predict_proba(df).iloc[0].to_dict() | |
| return pred, probs | |
| examples = [ | |
| [108, 82, 16, 3, 1], | |
| [196, 136, 29, 2, 2], | |
| [96, 49, 13, 2, 4], | |
| [481, 561, 31, 5, 5], | |
| [174, 129, 31, 2, 1], | |
| ] | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# Classical Music Composer Classifier") | |
| gr.Markdown("Predict whether a piece was composed by **Mozart** or **Beethoven**.") | |
| with gr.Row(): | |
| rh = gr.Number(150, label="Right Hand Notes") | |
| lh = gr.Number(100, label="Left Hand Notes") | |
| measures = gr.Number(20, label="Measures") | |
| with gr.Row(): | |
| key_center = gr.Dropdown(list(key_center_mapping.keys()), value=3, label="Key Center") | |
| marking = gr.Dropdown(list(marking_mapping.keys()), value=1, label="Marking") | |
| out_label = gr.Textbox(label="Predicted Composer") | |
| out_probs = gr.Label(num_top_classes=2, label="Probabilities") | |
| for inp in [rh, lh, measures, key_center, marking]: | |
| inp.change(fn=predict_composer, inputs=[rh, lh, measures, key_center, marking], outputs=[out_label, out_probs]) | |
| gr.Examples(examples, inputs=[rh, lh, measures, key_center, marking], outputs=[out_label, out_probs]) | |
| demo.launch() | |