import numpy as np import torch import gradio as gr from libs import * with gr.Blocks(title="Signal Similarity Live Demo") as demo: default_fig, default_result = demo_fn() with gr.Row(): signal_images = gr.Plot(default_fig,label="Visualize Signals") with gr.Row(): singal_results = gr.Text(default_result, interactive=False) with gr.Row(): with gr.Column(): gr.Markdown("### Ground Truth Control") gt_button = gr.Radio(["Sin", "Cos", "Random"], label="Signal Type", value="Sin") gt_scale_slider = gr.Slider(minimum=-2, maximum=2, step=0.1, label="Scaling Factor", value=1) gt_shift_slider = gr.Slider(minimum=-2, maximum=2, step=0.1, label="Shifting Factor", value=0) with gr.Column(): gr.Markdown("### Pred Signal Control") signal_button = gr.Radio(["Sin", "Cos", "Random"], label="Signal Type", value="Sin") pred_scale_slider = gr.Slider(minimum=-2, maximum=2, step=0.1, label="Scaling Factor", value=1) pred_shift_slider = gr.Slider(minimum=-2, maximum=2, step=0.1, label="Shifting Factor", value=0) gt_button.change(fn=demo_fn, inputs=[gt_button, signal_button, gt_scale_slider, gt_shift_slider, pred_scale_slider, pred_shift_slider], outputs=[signal_images, singal_results]) signal_button.change(fn=demo_fn, inputs=[gt_button, signal_button, gt_scale_slider, gt_shift_slider, pred_scale_slider, pred_shift_slider], outputs=[signal_images, singal_results]) gt_scale_slider.change(fn=demo_fn, inputs=[gt_button, signal_button, gt_scale_slider, gt_shift_slider, pred_scale_slider, pred_shift_slider], outputs=[signal_images, singal_results]) gt_shift_slider.change(fn=demo_fn, inputs=[gt_button, signal_button, gt_scale_slider, gt_shift_slider, pred_scale_slider, pred_shift_slider], outputs=[signal_images, singal_results]) pred_scale_slider.change(fn=demo_fn, inputs=[gt_button, signal_button, gt_scale_slider, gt_shift_slider, pred_scale_slider, pred_shift_slider], outputs=[signal_images, singal_results]) pred_shift_slider.change(fn=demo_fn, inputs=[gt_button, signal_button, gt_scale_slider, gt_shift_slider, pred_scale_slider, pred_shift_slider], outputs=[signal_images, singal_results]) demo.launch(share=True)