File size: 1,176 Bytes
b5cfbcf
 
 
6f386ce
 
b5cfbcf
6f386ce
 
 
 
 
b5cfbcf
7bca059
 
 
 
3c4eca6
 
b5cfbcf
 
95a591c
 
b5cfbcf
3c4eca6
 
5205c26
7bca059
 
b5cfbcf
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import numpy
import gradio
from huggingface_hub import from_pretrained_keras
import json
from json import JSONEncoder

class NumpyArrayEncoder(JSONEncoder):
    def default(self, obj):
        if isinstance(obj, numpy.ndarray):
            return obj.tolist()
        return JSONEncoder.default(self, obj)

def print_shape_through(x):
    print(x.shape)
    return x

analysis_network = from_pretrained_keras("cmudrc/wave-energy-analysis")
synthesis_network = from_pretrained_keras("cmudrc/wave-energy-synthesis")
   
with gradio.Blocks() as demo:
    geometry = gradio.Textbox(label="geometry")     
    spectrum = gradio.Textbox(label="spectrum")

    analyze_it = gradio.Button("Analyze")
    synthesize_it = gradio.Button("Synthesize")

    analyze_it.click(fn=lambda x: json.dumps(analysis_network.predict(print_shape_through(numpy.asarray(json.loads(x)))), cls=NumpyArrayEncoder), inputs=[geometry], outputs=[spectrum], api_name="analyze")
    synthesize_it.click(fn=lambda x: json.dumps(synthesis_network.predict(print_shape_through(numpy.asarray(json.loads(x)))), cls=NumpyArrayEncoder), inputs=[spectrum], outputs=[geometry], api_name="synthesize")
    
demo.launch()