| 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() |
|
|