Skip to content

Commit 600722c

Browse files
Add examples for series and parallel (gradio-app#1738)
* Add examples for series and parallel * Add ML demos for interface and load
1 parent 2a67fe6 commit 600722c

File tree

7 files changed

+44
-2
lines changed

7 files changed

+44
-2
lines changed

demo/interface_parallel/run.py

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import gradio as gr
2+
3+
greeter_1 = gr.Interface(lambda name: f"Hello {name}!", inputs="textbox", outputs=gr.Textbox(label="Greeter 1"))
4+
greeter_2 = gr.Interface(lambda name: f"Greetings {name}!", inputs="textbox", outputs=gr.Textbox(label="Greeter 2"))
5+
demo = gr.Parallel(greeter_1, greeter_2)
6+
7+
if __name__ == "__main__":
8+
demo.launch()

demo/interface_parallel_load/run.py

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import gradio as gr
2+
3+
generator1 = gr.Interface.load("huggingface/gpt2")
4+
generator2 = gr.Interface.load("huggingface/EleutherAI/gpt-neo-2.7B")
5+
generator3 = gr.Interface.load("huggingface/EleutherAI/gpt-j-6B")
6+
7+
demo = gr.Parallel(generator1, generator2, generator3)
8+
9+
if __name__ == "__main__":
10+
demo.launch()

demo/interface_series/run.py

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import gradio as gr
2+
3+
get_name = gr.Interface(lambda name: name, inputs="textbox", outputs="textbox")
4+
prepend_hello = gr.Interface(lambda name: f"Hello {name}!", inputs="textbox", outputs="textbox")
5+
append_nice = gr.Interface(lambda greeting: f"{greeting} Nice to meet you!",
6+
inputs="textbox", outputs=gr.Textbox(label="Greeting"))
7+
demo = gr.Series(get_name, prepend_hello, append_nice)
8+
9+
if __name__ == "__main__":
10+
demo.launch()

demo/interface_series_load/run.py

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import gradio as gr
2+
3+
generator = gr.Interface.load("huggingface/gpt2")
4+
translator = gr.Interface.load("huggingface/t5-small")
5+
6+
demo = gr.Series(generator, translator)
7+
8+
if __name__ == "__main__":
9+
demo.launch()

gradio/mix.py

+4
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ class Parallel(gradio.Interface):
1717
"""
1818
Creates a new Interface consisting of multiple models in parallel (comparing their outputs).
1919
The Interfaces to put in Parallel must share the same input components (but can have different output components).
20+
21+
Demos: interface_parallel, interface_parallel_load
2022
"""
2123

2224
def __init__(self, *interfaces: gradio.Interface, **options):
@@ -57,6 +59,8 @@ class Series(gradio.Interface):
5759
"""
5860
Creates a new Interface from multiple models in series (the output of one is fed as the input to the next,
5961
and so the input and output components must agree between the interfaces).
62+
63+
Demos: interface_series, interface_series_load
6064
"""
6165

6266
def __init__(self, *interfaces: gradio.Interface, **options):

guides/advanced_interface_features.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Advanced Interface Features
22

33
Pinned: 1
4+
Docs: series, parallel
45

56
**Prerequisite**: This Guide builds on the Quickstart. Make sure to [read the Quickstart first](/getting_started).
67

website/homepage/src/docs/template.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ <h3 class="text-3xl font-light my-4" id="combining-interfaces">Combining Interfa
4949
{% with obj=find_cls("TabbedInterface"), parent="gradio" %}
5050
{% include "docs/obj_doc_template.html" %}
5151
{% endwith %}
52-
{% with obj=find_cls("Parallel"), parent="gradio" %}
52+
{% with obj=find_cls("Parallel"), is_class=True, parent="gradio" %}
5353
{% include "docs/obj_doc_template.html" %}
5454
{% endwith %}
55-
{% with obj=find_cls("Series"), parent="gradio" %}
55+
{% with obj=find_cls("Series"), is_class=True, parent="gradio" %}
5656
{% include "docs/obj_doc_template.html" %}
5757
{% endwith %}
5858
</div>

0 commit comments

Comments
 (0)