wecnet-api / app.py
ccm's picture
Update app.py
d4731a4
raw
history blame contribute delete
No virus
1.07 kB
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)