исправил баг в инференсе

Automatica-3^2
Sergey Revyakin 11 hours ago
parent 1fb308c6fa
commit 1b97c0756a

@ -8,7 +8,7 @@ import gc
import io
def _render_plot(values, figsize=(16, 16), dpi=16):
def _render_signal_channel(values, figsize=(16, 16), dpi=16, resize=(256, 256)):
import matplotlib.pyplot as plt
fig = plt.figure(figsize=figsize)
@ -28,6 +28,34 @@ def _render_plot(values, figsize=(16, 16), dpi=16):
if img is None:
raise RuntimeError("failed to decode plot image")
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
if resize is not None:
img = cv2.resize(img, resize)
plt.clf()
plt.cla()
plt.close()
plt.close(fig)
return img
def _render_training_png(image):
import matplotlib.pyplot as plt
fig = plt.figure()
plt.imshow(image)
buf = io.BytesIO()
fig.savefig(buf, format="png")
buf.seek(0)
img_arr = np.frombuffer(buf.getvalue(), dtype=np.uint8)
buf.close()
img = cv2.imdecode(img_arr, 1)
if img is None:
raise RuntimeError("failed to decode training-style image")
plt.clf()
plt.cla()
plt.close()
@ -47,8 +75,8 @@ def pre_func_ensemble(data=None, src="", ind_inference=0):
imag = np.asarray(data[1], dtype=np.float32)
signal = real + 1j * imag
img_real = _render_plot(signal.real)
img_mag = _render_plot(np.abs(signal))
img_real = _render_training_png(_render_signal_channel(signal.real))
img_mag = _render_training_png(_render_signal_channel(np.abs(signal)))
cv2.destroyAllWindows()
gc.collect()

@ -8,7 +8,7 @@ import gc
import io
def _render_plot(values, figsize=(16, 16), dpi=16):
def _render_signal_channel(values, figsize=(16, 16), dpi=16, resize=(256, 256)):
import matplotlib.pyplot as plt
fig = plt.figure(figsize=figsize)
@ -28,6 +28,34 @@ def _render_plot(values, figsize=(16, 16), dpi=16):
if img is None:
raise RuntimeError("failed to decode plot image")
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
if resize is not None:
img = cv2.resize(img, resize)
plt.clf()
plt.cla()
plt.close()
plt.close(fig)
return img
def _render_training_png(image):
import matplotlib.pyplot as plt
fig = plt.figure()
plt.imshow(image)
buf = io.BytesIO()
fig.savefig(buf, format="png")
buf.seek(0)
img_arr = np.frombuffer(buf.getvalue(), dtype=np.uint8)
buf.close()
img = cv2.imdecode(img_arr, 1)
if img is None:
raise RuntimeError("failed to decode training-style image")
plt.clf()
plt.cla()
plt.close()
@ -47,8 +75,8 @@ def pre_func_ensemble(data=None, src="", ind_inference=0):
imag = np.asarray(data[1], dtype=np.float32)
signal = real + 1j * imag
img_real = _render_plot(signal.real)
img_mag = _render_plot(np.abs(signal))
img_real = _render_training_png(_render_signal_channel(signal.real))
img_mag = _render_training_png(_render_signal_channel(np.abs(signal)))
cv2.destroyAllWindows()
gc.collect()

@ -210,4 +210,13 @@ docker compose -f deploy/docker/docker-compose.yml logs --timestamps dronedetect
sudo hackrf_spiflash -w hackrf_one_usb.bin
```
./.venv-sdr/bin/python scripts_nn/data_saver_headless.py --serial 000 --freq 4500000000 --save-dir /home/sibscience-4/Dataset/3300 --file-tag DJI_3_ --samp-rate 20000000 --split-size 400000 --delay 0.1 --rf-gain 12 --if-gain 30 --bb-gain 36
./.venv-sdr/bin/python scripts_nn/data_saver_headless.py --serial 000 --freq 4500000000 --save-dir /home/sibscience-4/Dataset/3300 --file-tag DJI_3_ --samp-rate 20000000 --split-size 400000 --delay 0.1 --rf-gain 12 --if-gain 30 --bb-gain 36
### Парсинг логов
``` bash
.venv-train/bin/python scripts/capture_nn_results.py \
--output logs/nn_results_live_6gb.csv \
--format csv \
--max-bytes 6442450944 \
--tail 0
```
Loading…
Cancel
Save