| | import os |
| | from inference import Evaluator |
| | import argparse |
| | from utils.YParams import YParams |
| | import torch |
| | import gradio as gr |
| |
|
| | def read_markdown_file(path): |
| | with open(path, 'r', encoding='utf-8') as file: |
| | return file.read() |
| |
|
| |
|
| | if __name__ == '__main__': |
| |
|
| | |
| | parser = argparse.ArgumentParser() |
| | parser.add_argument("--yaml_config", default='config.yaml', type=str) |
| | parser.add_argument("--config", default='resnet_0.7', type=str) |
| |
|
| | args = parser.parse_args() |
| | params = YParams(os.path.abspath(args.yaml_config), args.config) |
| |
|
| | |
| | try: |
| | params.device = torch.device(torch.cuda.current_device()) |
| | except: |
| | params.device = "cpu" |
| | |
| | |
| | expDir = "ckpts/resnet_0.7/150classes_alldata_cliplength30" |
| | params['checkpoint_path'] = os.path.join(expDir, 'training_checkpoints/ckpt.tar') |
| | params['best_checkpoint_path'] = os.path.join(expDir, 'training_checkpoints/best_ckpt.tar') |
| |
|
| | evaluator = Evaluator(params) |
| |
|
| | with gr.Blocks() as demo: |
| | with gr.Tab("Classifier"): |
| | gr.Interface( |
| | title="Carnatic Raga Classifier", |
| | description="**Welcome!** This app uses AI to recognize Carnatic ragas. Upload or record an audio clip to test it out. <br> Provide at least **30 seconds** of audio for best results (**the more audio you provide, the higher the accuracy**). <br> Wait for the audio waves to appear and remain before clicking Submit.", |
| | article = "**Get in Touch:** Feel free to reach out to [me](https://sanjeevraja.com/) via email (sanjeevr AT berkeley DOT edu) with any questions or feedback, or start a discussion in the Community tab! ", |
| | inputs=[ |
| | gr.Slider(minimum = 1, maximum = 150, value = 5, label = "Number of displayed ragas", info = "Choose number of top predictions to display"), |
| | gr.Audio() |
| | ], |
| | fn=evaluator.inference, |
| | outputs="label", |
| | allow_flagging = False |
| | ) |
| | |
| | with gr.Tab("About"): |
| | gr.Markdown(read_markdown_file('about.md')) |
| | gr.Image('site/tsne.jpeg', height = 800, width=800) |
| |
|
| | demo.launch() |
| |
|
| |
|
| |
|