wecnet-api / app.py
ccm's picture
Update app.py
7bca059
raw
history blame
1.18 kB
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()