File size: 1,066 Bytes
b5cfbcf
 
d4731a4
6f386ce
b5cfbcf
d4731a4
6f386ce
 
 
 
b5cfbcf
d4731a4
 
b5cfbcf
 
95a591c
 
b5cfbcf
3c4eca6
 
5205c26
d4731a4
 
b5cfbcf
d4731a4
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
import numpy
import gradio
import huggingface_hub
import json

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

analysis_network = huggingface_hub.from_pretrained_keras("cmudrc/wave-energy-analysis")
synthesis_network = huggingface_hub.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(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(numpy.asarray(json.loads(x))), cls=NumpyArrayEncoder), inputs=[spectrum], outputs=[geometry], api_name="synthesize")
    
demo.launch(debug=True)