Spaces:
Running
Running
update
Browse files- deepdenoiser/app.py +10 -8
deepdenoiser/app.py
CHANGED
@@ -6,15 +6,14 @@ from typing import Any, AnyStr, Dict, List, NamedTuple, Union
|
|
6 |
|
7 |
import numpy as np
|
8 |
import requests
|
|
|
9 |
import tensorflow as tf
|
10 |
from fastapi import FastAPI
|
11 |
from kafka import KafkaProducer
|
|
|
12 |
from pydantic import BaseModel
|
13 |
-
import scipy
|
14 |
from scipy.interpolate import interp1d
|
15 |
|
16 |
-
from model import UNet
|
17 |
-
|
18 |
tf.compat.v1.disable_eager_execution()
|
19 |
tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR)
|
20 |
PROJECT_ROOT = os.path.realpath(os.path.join(os.path.dirname(__file__), ".."))
|
@@ -105,7 +104,6 @@ def normalize_batch(data, window=200):
|
|
105 |
|
106 |
|
107 |
def get_prediction(meta):
|
108 |
-
|
109 |
FS = 100
|
110 |
NPERSEG = 30
|
111 |
NFFT = 60
|
@@ -125,7 +123,7 @@ def get_prediction(meta):
|
|
125 |
|
126 |
# sos = scipy.signal.butter(4, 0.1, 'high', fs=100, output='sos') ## for stability of long sequence
|
127 |
# vec = scipy.signal.sosfilt(sos, vec)
|
128 |
-
f, t, tmp_signal = scipy.signal.stft(vec, fs=FS, nperseg=NPERSEG, nfft=NFFT, boundary=
|
129 |
noisy_signal = np.stack([tmp_signal.real, tmp_signal.imag], axis=-1) # [batch * chn, nf, nt, 2]
|
130 |
noisy_signal[np.isnan(noisy_signal)] = 0
|
131 |
noisy_signal[np.isinf(noisy_signal)] = 0
|
@@ -139,7 +137,7 @@ def get_prediction(meta):
|
|
139 |
fs=FS,
|
140 |
nperseg=NPERSEG,
|
141 |
nfft=NFFT,
|
142 |
-
boundary=
|
143 |
)
|
144 |
# _, denoised_noise = scipy.signal.istft(
|
145 |
# (noisy_signal[..., 0] + noisy_signal[..., 1] * 1j) * preds[..., 1],
|
@@ -169,7 +167,6 @@ class Data(BaseModel):
|
|
169 |
|
170 |
@app.post("/predict")
|
171 |
def predict(data: Data):
|
172 |
-
|
173 |
denoised = get_prediction(data)
|
174 |
|
175 |
return denoised
|
@@ -177,4 +174,9 @@ def predict(data: Data):
|
|
177 |
|
178 |
@app.get("/healthz")
|
179 |
def healthz():
|
180 |
-
return {"status": "ok"}
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
7 |
import numpy as np
|
8 |
import requests
|
9 |
+
import scipy
|
10 |
import tensorflow as tf
|
11 |
from fastapi import FastAPI
|
12 |
from kafka import KafkaProducer
|
13 |
+
from model import UNet
|
14 |
from pydantic import BaseModel
|
|
|
15 |
from scipy.interpolate import interp1d
|
16 |
|
|
|
|
|
17 |
tf.compat.v1.disable_eager_execution()
|
18 |
tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR)
|
19 |
PROJECT_ROOT = os.path.realpath(os.path.join(os.path.dirname(__file__), ".."))
|
|
|
104 |
|
105 |
|
106 |
def get_prediction(meta):
|
|
|
107 |
FS = 100
|
108 |
NPERSEG = 30
|
109 |
NFFT = 60
|
|
|
123 |
|
124 |
# sos = scipy.signal.butter(4, 0.1, 'high', fs=100, output='sos') ## for stability of long sequence
|
125 |
# vec = scipy.signal.sosfilt(sos, vec)
|
126 |
+
f, t, tmp_signal = scipy.signal.stft(vec, fs=FS, nperseg=NPERSEG, nfft=NFFT, boundary="zeros")
|
127 |
noisy_signal = np.stack([tmp_signal.real, tmp_signal.imag], axis=-1) # [batch * chn, nf, nt, 2]
|
128 |
noisy_signal[np.isnan(noisy_signal)] = 0
|
129 |
noisy_signal[np.isinf(noisy_signal)] = 0
|
|
|
137 |
fs=FS,
|
138 |
nperseg=NPERSEG,
|
139 |
nfft=NFFT,
|
140 |
+
boundary="zeros",
|
141 |
)
|
142 |
# _, denoised_noise = scipy.signal.istft(
|
143 |
# (noisy_signal[..., 0] + noisy_signal[..., 1] * 1j) * preds[..., 1],
|
|
|
167 |
|
168 |
@app.post("/predict")
|
169 |
def predict(data: Data):
|
|
|
170 |
denoised = get_prediction(data)
|
171 |
|
172 |
return denoised
|
|
|
174 |
|
175 |
@app.get("/healthz")
|
176 |
def healthz():
|
177 |
+
return {"status": "ok"}
|
178 |
+
|
179 |
+
|
180 |
+
@app.get("/")
|
181 |
+
def read_root():
|
182 |
+
return {"Hello": "DeepDenoiser!"}
|