import gradio as gr import torch from phaseformer import PhaseFormerWrapper def run_phaseformer(mode, seq_len, batch_size, input_dim, t): model = PhaseFormerWrapper(mode=mode, input_dim=input_dim) x = torch.randn(seq_len, batch_size, input_dim) out = model(x, t) return f"Output shape: {tuple(out.shape)}" iface = gr.Interface( fn=run_phaseformer, inputs=[ gr.Radio(["mlp", "transformer"], label="Select Model"), gr.Slider(1, 128, value=10, label="Sequence Length"), gr.Slider(1, 64, value=2, label="Batch Size"), gr.Slider(1, 512, value=64, label="Input Dimension"), gr.Slider(0.0, 10.0, value=5.0, step=0.1, label="Time Step (t)") ], outputs="text", title="🧠 Perceive PhaseFormer Demo", description=""" Choose model mode and input specs. Outputs the shape of the result. """ ) if __name__ == "__main__": iface.launch()