Final Automatica

main_2
Sergey Revyakin 1 month ago
parent b9bfb985e2
commit 339b2b1615

2
.gitignore vendored

@ -185,3 +185,5 @@ cython_debug/
*.png *.png
/logs/*.log /logs/*.log
runtime/ runtime/
/.venv-*/*

@ -158,6 +158,7 @@ sudo systemctl status dronedetector-sdr-4500.service
sudo systemctl status dronedetector-sdr-5200.service sudo systemctl status dronedetector-sdr-5200.service
sudo systemctl status dronedetector-sdr-5800.service sudo systemctl status dronedetector-sdr-5800.service
sudo systemctl status dronedetector-sdr-915.service sudo systemctl status dronedetector-sdr-915.service
sudo systemctl status dronedetector-sdr-1500.service
sudo systemctl status dronedetector-sdr-1200.service sudo systemctl status dronedetector-sdr-1200.service
sudo systemctl status dronedetector-sdr-2400.service sudo systemctl status dronedetector-sdr-2400.service
``` ```
@ -207,4 +208,6 @@ docker compose -f deploy/docker/docker-compose.yml logs --timestamps dronedetect
### Прошивка хаков ### Прошивка хаков
``` bash ``` bash
sudo hackrf_spiflash -w hackrf_one_usb.bin 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

@ -0,0 +1,226 @@
#!/usr/bin/env bash
set -Eeuo pipefail
############################
# НАСТРОЙКИ
############################
# ЗАМЕНИ на реальную точку монтирования nvme1n1
BASE_DIR="/mnt/nvme1/dataset"
# Путь к python из venv
PYTHON_BIN="${PYTHON_BIN:-$PWD/.venv-sdr/bin/python}"
# Путь к headless скрипту
SCRIPT_PATH="${SCRIPT_PATH:-$PWD/scripts_nn/data_saver_headless.py}"
# Проверка, что каталог реально на nvme1n1
EXPECTED_DEVICE_PREFIX="/dev/nvme1n1"
# Лимиты
PER_FREQ_LIMIT_BYTES=$((3 * 1024 * 1024 * 1024)) # 3 GiB на частоту за запуск
TOTAL_LIMIT_BYTES=$((128 * 1024 * 1024 * 1024)) # общий лимит 512 GiB
CYCLE_SECONDS=36 # один цикл в час
# Параметры SDR
SAMP_RATE="20e6"
SPLIT_SIZE="400000"
DELAY="0.1"
RF_GAIN="12"
IF_GAIN="30"
BB_GAIN="36"
############################
# ЧАСТОТЫ И SERIAL ИЗ ENV
############################
ORDER=(433 750 915 1200 2400 3300 4500 5200 5800)
declare -A SERIAL
declare -A FREQ_HZ
SERIAL[433]="0000000000000000114864dc382a8e1b"
FREQ_HZ[433]="433000000"
SERIAL[750]="0000000000000000114864dc383d0d1b"
FREQ_HZ[750]="750000000"
SERIAL[868]="000000000000000026a468dc36066b63"
FREQ_HZ[868]="868000000"
SERIAL[915]="000000000000000026a468dc36066b63"
FREQ_HZ[915]="915000000"
SERIAL[1200]="0000000000000000518864dc32660d83"
FREQ_HZ[1200]="1200000000"
SERIAL[2400]="0000000000000000919068dc3437b31f"
FREQ_HZ[2400]="2400000000"
SERIAL[3300]="0000000000000000114864dc325069a3"
FREQ_HZ[3300]="3300000000"
SERIAL[4500]="0000000000000000518864dc33833183"
FREQ_HZ[4500]="4500000000"
SERIAL[5200]="0000000000000000874461dc241c7857"
FREQ_HZ[5200]="5200000000"
SERIAL[5800]="0000000000000000919068dc35781c1f"
FREQ_HZ[5800]="5800000000"
############################
# ВСПОМОГАТЕЛЬНОЕ
############################
log() {
printf '[%s] %s\n' "$(date '+%F %T')" "$*"
}
dir_size_bytes() {
local path="$1"
if [[ -e "$path" ]]; then
du -sb "$path" 2>/dev/null | awk '{print $1}'
else
echo 0
fi
}
total_size_bytes() {
dir_size_bytes "$BASE_DIR"
}
ensure_requirements() {
if [[ ! -x "$PYTHON_BIN" ]]; then
echo "Не найден python: $PYTHON_BIN" >&2
exit 1
fi
if [[ ! -f "$SCRIPT_PATH" ]]; then
echo "Не найден script: $SCRIPT_PATH" >&2
exit 1
fi
mkdir -p "$BASE_DIR"
local dev
dev="$(df -P "$BASE_DIR" | awk 'NR==2 {print $1}')"
if [[ "$dev" != ${EXPECTED_DEVICE_PREFIX}* ]]; then
echo "BASE_DIR=$BASE_DIR сейчас находится на $dev, а ожидался ${EXPECTED_DEVICE_PREFIX}*" >&2
echo "Исправь BASE_DIR на точку монтирования nvme1n1" >&2
exit 1
fi
}
run_one_freq() {
local band="$1"
local serial="${SERIAL[$band]}"
local freq="${FREQ_HZ[$band]}"
local ts out_dir log_file
ts="$(date '+%F_%H-%M-%S')"
out_dir="$BASE_DIR/$band/$ts"
log_file="$out_dir/run.log"
mkdir -p "$out_dir"
log "Старт band=$band serial=$serial freq=$freq dir=$out_dir"
"$PYTHON_BIN" "$SCRIPT_PATH" \
--serial "$serial" \
--freq "$freq" \
--save-dir "$out_dir" \
--file-tag "${band}_" \
--samp-rate "$SAMP_RATE" \
--split-size "$SPLIT_SIZE" \
--delay "$DELAY" \
--rf-gain "$RF_GAIN" \
--if-gain "$IF_GAIN" \
--bb-gain "$BB_GAIN" \
>"$log_file" 2>&1 &
local pid=$!
log "PID=$pid"
while kill -0 "$pid" 2>/dev/null; do
local cur_dir_size cur_total_size
cur_dir_size="$(dir_size_bytes "$out_dir")"
cur_total_size="$(total_size_bytes)"
if (( cur_total_size >= TOTAL_LIMIT_BYTES )); then
log "Достигнут общий лимит 512 GiB. Останавливаю PID=$pid"
kill -TERM "$pid" 2>/dev/null || true
wait "$pid" 2>/dev/null || true
return 2
fi
if (( cur_dir_size >= PER_FREQ_LIMIT_BYTES )); then
log "Для band=$band достигнут лимит 3 GiB. Останавливаю PID=$pid"
kill -TERM "$pid" 2>/dev/null || true
for _ in {1..10}; do
if ! kill -0 "$pid" 2>/dev/null; then
break
fi
sleep 1
done
if kill -0 "$pid" 2>/dev/null; then
log "PID=$pid не завершился по TERM, отправляю KILL"
kill -KILL "$pid" 2>/dev/null || true
fi
wait "$pid" 2>/dev/null || true
break
fi
sleep 1
done
log "Завершен band=$band, размер=$(du -sh "$out_dir" | awk '{print $1}')"
return 0
}
main_loop() {
while true; do
local total_before cycle_start elapsed sleep_left
total_before="$(total_size_bytes)"
if (( total_before >= TOTAL_LIMIT_BYTES )); then
log "Общий размер уже >= 512 GiB, выхожу"
break
fi
cycle_start="$(date +%s)"
log "Новый цикл"
for band in "${ORDER[@]}"; do
if (( $(total_size_bytes) >= TOTAL_LIMIT_BYTES )); then
log "Общий лимит достигнут внутри цикла, выхожу"
return 0
fi
run_one_freq "$band" || {
rc=$?
if [[ $rc -eq 2 ]]; then
log "Остановка по общему лимиту"
return 0
fi
}
done
elapsed=$(( $(date +%s) - cycle_start ))
sleep_left=$(( CYCLE_SECONDS - elapsed ))
if (( sleep_left > 0 )); then
log "Цикл занял ${elapsed} сек, жду ${sleep_left} сек до следующего часа"
sleep "$sleep_left"
else
log "Цикл занял ${elapsed} сек, паузы нет"
fi
done
}
ensure_requirements
main_loop

@ -0,0 +1,122 @@
#!/usr/bin/env bash
set -Eeuo pipefail
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
VENV_PATH="${PROJECT_ROOT}/.venv-train"
PYTHON_BIN="${PYTHON_BIN:-python3}"
KERNEL_NAME="${KERNEL_NAME:-dronedetector-train}"
KERNEL_DISPLAY="${KERNEL_DISPLAY:-DroneDetector Train}"
log() {
printf '[install_all_train] %s\n' "$*"
}
die() {
printf '[install_all_train] ERROR: %s\n' "$*" >&2
exit 1
}
run_as_root() {
if [[ "${EUID}" -eq 0 ]]; then
"$@"
elif command -v sudo >/dev/null 2>&1; then
sudo "$@"
else
die "Root privileges are required to install host packages."
fi
}
preflight() {
[[ -f "${PROJECT_ROOT}/deploy/requirements/nn_gpu_pinned.txt" ]] || die "Missing deploy/requirements/nn_gpu_pinned.txt"
[[ -f "${PROJECT_ROOT}/train_scripts/requirements-train.txt" ]] || die "Missing train_scripts/requirements-train.txt"
[[ -f "${PROJECT_ROOT}/torchsig/pyproject.toml" ]] || die "Missing local torchsig package"
command -v "${PYTHON_BIN}" >/dev/null 2>&1 || die "${PYTHON_BIN} not found"
}
install_host_deps() {
if ! command -v apt-get >/dev/null 2>&1; then
log "apt-get not found; skipping host package installation"
return
fi
log "Installing host packages"
run_as_root apt-get update
run_as_root env DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
python3 \
python3-pip \
python3-venv \
python3-dev \
build-essential \
pkg-config \
libgl1 \
libglib2.0-0 \
libsm6 \
libxext6 \
libxrender-dev
}
setup_venv() {
log "Creating/updating ${VENV_PATH}"
if [[ ! -d "${VENV_PATH}" ]]; then
"${PYTHON_BIN}" -m venv "${VENV_PATH}"
fi
# shellcheck disable=SC1090
source "${VENV_PATH}/bin/activate"
python -m pip install --upgrade pip setuptools wheel
}
install_python_deps() {
log "Installing CUDA-enabled torch stack"
python -m pip install -r "${PROJECT_ROOT}/deploy/requirements/nn_gpu_pinned.txt"
log "Installing train notebook dependencies"
python -m pip install -r "${PROJECT_ROOT}/train_scripts/requirements-train.txt"
log "Installing local torchsig from repo"
python -m pip install -e "${PROJECT_ROOT}/torchsig" --no-deps
log "Registering Jupyter kernel ${KERNEL_NAME}"
python -m ipykernel install --user --name "${KERNEL_NAME}" --display-name "${KERNEL_DISPLAY}"
}
verify_install() {
log "Verifying imports"
python - <<'PY'
import cv2
import ipykernel
import matplotlib
import mlconfig
import numpy
import pandas
import scipy
import sklearn
import torch
import torchvision
import torchsig
print('python_ok', True)
print('torch', torch.__version__)
print('torchvision', torchvision.__version__)
print('cuda_available', torch.cuda.is_available())
print('torch_cuda', torch.version.cuda)
print('torchsig', getattr(torchsig, '__version__', 'unknown'))
PY
}
main() {
preflight
if [[ "${1:-}" != "--skip-apt" ]]; then
install_host_deps
else
log "Skipping host package installation (--skip-apt)"
fi
setup_venv
install_python_deps
verify_install
log "SUCCESS: .venv-train is ready"
}
main "$@"

@ -7,8 +7,8 @@ COMPOSE_FILE="${PROJECT_ROOT}/deploy/docker/docker-compose.yml"
SDR_UNITS=( SDR_UNITS=(
dronedetector-sdr-433.service dronedetector-sdr-433.service
dronedetector-sdr-750.service dronedetector-sdr-750.service
dronedetector-sdr-868-915.service #dronedetector-sdr-868-915.service
dronedetector-sdr-868.service #dronedetector-sdr-868.service
dronedetector-sdr-1500.service dronedetector-sdr-1500.service
dronedetector-sdr-3300.service dronedetector-sdr-3300.service
dronedetector-sdr-4500.service dronedetector-sdr-4500.service

@ -0,0 +1,241 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# SPDX-License-Identifier: GPL-3.0
#
# GNU Radio Python Flow Graph
# Title: data_saver
# GNU Radio version: 3.10.12.0
from PyQt5 import Qt
from gnuradio import qtgui
import data_saver_epy_block_0 as epy_block_0 # embedded python block
import osmosdr
import time
import sip
import threading
from gnuradio import gr
from gnuradio.filter import firdes
from gnuradio.fft import window
import sys
import signal
from argparse import ArgumentParser
from gnuradio.eng_arg import eng_float, intx
from gnuradio import eng_notation
class data_saver(gr.top_block, Qt.QWidget):
def __init__(self):
gr.top_block.__init__(self, "data_saver", catch_exceptions=True)
Qt.QWidget.__init__(self)
self.setWindowTitle("data_saver")
qtgui.util.check_set_qss()
try:
self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc'))
except BaseException as exc:
print(f"Qt GUI: Could not set Icon: {str(exc)}", file=sys.stderr)
self.top_scroll_layout = Qt.QVBoxLayout()
self.setLayout(self.top_scroll_layout)
self.top_scroll = Qt.QScrollArea()
self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame)
self.top_scroll_layout.addWidget(self.top_scroll)
self.top_scroll.setWidgetResizable(True)
self.top_widget = Qt.QWidget()
self.top_scroll.setWidget(self.top_widget)
self.top_layout = Qt.QVBoxLayout(self.top_widget)
self.top_grid_layout = Qt.QGridLayout()
self.top_layout.addLayout(self.top_grid_layout)
self.settings = Qt.QSettings("gnuradio/flowgraphs", "data_saver")
try:
geometry = self.settings.value("geometry")
if geometry:
self.restoreGeometry(geometry)
except BaseException as exc:
print(f"Qt GUI: Could not restore geometry: {str(exc)}", file=sys.stderr)
self.flowgraph_started = threading.Event()
##################################################
# Variables
##################################################
self.samp_rate = samp_rate = 20e6
self.freq = freq = 1.160e9
##################################################
# Blocks
##################################################
self.qtgui_waterfall_sink_x_0 = qtgui.waterfall_sink_c(
32768, #size
window.WIN_HAMMING, #wintype
freq, #fc
samp_rate, #bw
"", #name
1, #number of inputs
None # parent
)
self.qtgui_waterfall_sink_x_0.set_update_time(0.10)
self.qtgui_waterfall_sink_x_0.enable_grid(False)
self.qtgui_waterfall_sink_x_0.enable_axis_labels(True)
labels = ['', '', '', '', '',
'', '', '', '', '']
colors = [0, 0, 0, 0, 0,
0, 0, 0, 0, 0]
alphas = [1.0, 1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0]
for i in range(1):
if len(labels[i]) == 0:
self.qtgui_waterfall_sink_x_0.set_line_label(i, "Data {0}".format(i))
else:
self.qtgui_waterfall_sink_x_0.set_line_label(i, labels[i])
self.qtgui_waterfall_sink_x_0.set_color_map(i, colors[i])
self.qtgui_waterfall_sink_x_0.set_line_alpha(i, alphas[i])
self.qtgui_waterfall_sink_x_0.set_intensity_range(-140, 10)
self._qtgui_waterfall_sink_x_0_win = sip.wrapinstance(self.qtgui_waterfall_sink_x_0.qwidget(), Qt.QWidget)
self.top_layout.addWidget(self._qtgui_waterfall_sink_x_0_win)
self.qtgui_time_sink_x_0_1 = qtgui.time_sink_c(
1000000, #size
samp_rate, #samp_rate
"", #name
1, #number of inputs
None # parent
)
self.qtgui_time_sink_x_0_1.set_update_time(0.01)
self.qtgui_time_sink_x_0_1.set_y_axis(-2, 2)
self.qtgui_time_sink_x_0_1.set_y_label('Amplitude', "")
self.qtgui_time_sink_x_0_1.enable_tags(True)
self.qtgui_time_sink_x_0_1.set_trigger_mode(qtgui.TRIG_MODE_FREE, qtgui.TRIG_SLOPE_POS, 0.0, 0, 0, "")
self.qtgui_time_sink_x_0_1.enable_autoscale(False)
self.qtgui_time_sink_x_0_1.enable_grid(False)
self.qtgui_time_sink_x_0_1.enable_axis_labels(True)
self.qtgui_time_sink_x_0_1.enable_control_panel(False)
self.qtgui_time_sink_x_0_1.enable_stem_plot(False)
labels = ['', '', '', '', '',
'', '', '', '', '']
widths = [1, 1, 1, 1, 1,
1, 1, 1, 1, 1]
colors = ['blue', 'red', 'green', 'black', 'cyan',
'magenta', 'yellow', 'dark red', 'dark green', 'dark blue']
alphas = [1.0, 1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0]
styles = [1, 1, 1, 1, 1,
1, 1, 1, 1, 1]
markers = [-1, -1, -1, -1, -1,
-1, -1, -1, -1, -1]
for i in range(2):
if len(labels[i]) == 0:
if (i % 2 == 0):
self.qtgui_time_sink_x_0_1.set_line_label(i, "Re{{Data {0}}}".format(i/2))
else:
self.qtgui_time_sink_x_0_1.set_line_label(i, "Im{{Data {0}}}".format(i/2))
else:
self.qtgui_time_sink_x_0_1.set_line_label(i, labels[i])
self.qtgui_time_sink_x_0_1.set_line_width(i, widths[i])
self.qtgui_time_sink_x_0_1.set_line_color(i, colors[i])
self.qtgui_time_sink_x_0_1.set_line_style(i, styles[i])
self.qtgui_time_sink_x_0_1.set_line_marker(i, markers[i])
self.qtgui_time_sink_x_0_1.set_line_alpha(i, alphas[i])
self._qtgui_time_sink_x_0_1_win = sip.wrapinstance(self.qtgui_time_sink_x_0_1.qwidget(), Qt.QWidget)
self.top_layout.addWidget(self._qtgui_time_sink_x_0_1_win)
self.hack_serial=input()
self.osmosdr_source_1 = osmosdr.source(
args="numchan=" + str(1) + " " + 'hackrf='+self.hack_serial
)
self.osmosdr_source_1.set_time_unknown_pps(osmosdr.time_spec_t())
self.osmosdr_source_1.set_sample_rate(samp_rate)
self.osmosdr_source_1.set_center_freq(freq, 0)
self.osmosdr_source_1.set_freq_corr(0, 0)
self.osmosdr_source_1.set_dc_offset_mode(0, 0)
self.osmosdr_source_1.set_iq_balance_mode(0, 0)
self.osmosdr_source_1.set_gain_mode(False, 0)
self.osmosdr_source_1.set_gain(12, 0)
self.osmosdr_source_1.set_if_gain(30, 0)
self.osmosdr_source_1.set_bb_gain(36, 0)
self.osmosdr_source_1.set_antenna('', 0)
self.osmosdr_source_1.set_bandwidth(0, 0)
self.epy_block_0 = epy_block_0.Simsi_Sink(SaveDir='home/sibscience-4/Dataset/1160', FileTag='DJI_3', SplitSize=400000, Delay=0.1)
##################################################
# Connections
##################################################
self.connect((self.osmosdr_source_1, 0), (self.epy_block_0, 0))
self.connect((self.osmosdr_source_1, 0), (self.qtgui_time_sink_x_0_1, 0))
self.connect((self.osmosdr_source_1, 0), (self.qtgui_waterfall_sink_x_0, 0))
def closeEvent(self, event):
self.settings = Qt.QSettings("gnuradio/flowgraphs", "data_saver")
self.settings.setValue("geometry", self.saveGeometry())
self.stop()
self.wait()
event.accept()
def get_samp_rate(self):
return self.samp_rate
def set_samp_rate(self, samp_rate):
self.samp_rate = samp_rate
self.osmosdr_source_1.set_sample_rate(self.samp_rate)
self.qtgui_time_sink_x_0_1.set_samp_rate(self.samp_rate)
self.qtgui_waterfall_sink_x_0.set_frequency_range(self.freq, self.samp_rate)
def get_freq(self):
return self.freq
def set_freq(self, freq):
self.freq = freq
self.osmosdr_source_1.set_center_freq(self.freq, 0)
self.qtgui_waterfall_sink_x_0.set_frequency_range(self.freq, self.samp_rate)
def main(top_block_cls=data_saver, options=None):
qapp = Qt.QApplication(sys.argv)
tb = top_block_cls()
tb.start()
tb.flowgraph_started.set()
tb.show()
def sig_handler(sig=None, frame=None):
tb.stop()
tb.wait()
Qt.QApplication.quit()
signal.signal(signal.SIGINT, sig_handler)
signal.signal(signal.SIGTERM, sig_handler)
timer = Qt.QTimer()
timer.start(500)
timer.timeout.connect(lambda: None)
qapp.exec_()
if __name__ == '__main__':
main()

@ -0,0 +1,76 @@
"""
Embedded Python Blocks:
Each time this file is saved, GRC will instantiate the first class it finds
to get ports and parameters of your block. The arguments to __init__ will
be the parameters. All of them are required to have default values!
"""
import numpy as np
from gnuradio import gr
import os
import time
import matplotlib.pyplot as plt
import sys
import gc
class Simsi_Sink(gr.sync_block): # other base classes are basic_block, decim_block, interp_block
"""Embedded Python Block example - a simple multiply const"""
def __init__(self, SaveDir="./signal", FileTag="fragment_", SplitSize=1000000, Delay=2): # only default arguments here
"""arguments to this function show up as parameters in GRC"""
gr.sync_block.__init__(
self,
name='Simsi_Sink', # will show up in GRC
in_sig=[np.complex64],
out_sig=None#[np.complex64]
)
self.Delay = Delay
self.FileTag = FileTag
self.SplitSize = SplitSize
self.SaveDir = SaveDir
if not os.path.exists(self.SaveDir) and self.SaveDir == "./signal":
os.mkdir("signal")
self.it = 0
self.Signal = np.array([], dtype=np.float32)
self.data_dir = SaveDir
self.last_file_path = self.data_dir + "/" + self.FileTag + str(self.it)
self.last_fd = open(self.last_file_path, "wb")
self.last_file_len = 0
self.reading_in_progress_file_path = self.data_dir + "/reading_in_progress"
self.reading_in_progress_file_fd = open(self.reading_in_progress_file_path, "wb")
print(self.Signal)
print(self.data_dir)
# if an attribute with the same name as a parameter is found,
# a callback is registered (properties work, too).
def work(self, input_items, output_items):
"""example: multiply with constant"""
length = len(input_items[0])
self.last_file_len += length
if self.last_file_len > self.SplitSize:
print("Saving file: " + str(self.last_file_path))
length = length - (self.last_file_len - self.SplitSize)
self.last_fd.write(input_items[0][0:length].copy())
self.it += 1
self.last_file_len = 0
self.last_file_path = self.data_dir + '/' + self.FileTag + str(self.it)
self.last_fd.close()
self.reading_in_progress_file_fd.close()
os.remove(self.reading_in_progress_file_path)
time.sleep(self.Delay)
self.reading_in_progress_file_fd = open(self.reading_in_progress_file_path, "wb")
self.last_fd = open(self.last_file_path, "wb")
else:
self.last_fd.write(input_items[0].copy())
return len(input_items[0])

@ -0,0 +1,237 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
import sys
import time
import signal
import argparse
import threading
import numpy as np
from gnuradio import gr
import osmosdr
class SimsiSink(gr.sync_block):
def __init__(self, save_dir="./signal", file_tag="fragment_", split_size=1000000, delay=0.0):
gr.sync_block.__init__(
self,
name="Simsi_Sink",
in_sig=[np.complex64],
out_sig=None,
)
self.save_dir = str(save_dir)
self.file_tag = str(file_tag)
self.split_size = int(split_size)
self.delay = float(delay)
os.makedirs(self.save_dir, exist_ok=True)
self.file_index = 0
self.current_len = 0
self.current_fd = None
self.in_progress_path = os.path.join(self.save_dir, "reading_in_progress")
self.in_progress_fd = None
self._open_next_file()
def _touch_in_progress(self):
if self.in_progress_fd is not None:
try:
self.in_progress_fd.close()
except Exception:
pass
self.in_progress_fd = open(self.in_progress_path, "wb")
def _remove_in_progress(self):
if self.in_progress_fd is not None:
try:
self.in_progress_fd.close()
except Exception:
pass
self.in_progress_fd = None
if os.path.exists(self.in_progress_path):
try:
os.remove(self.in_progress_path)
except Exception:
pass
def _current_file_path(self):
return os.path.join(self.save_dir, f"{self.file_tag}{self.file_index}")
def _open_next_file(self):
self._touch_in_progress()
path = self._current_file_path()
self.current_fd = open(path, "wb")
self.current_len = 0
print(f"Opened file: {path}", flush=True)
def _rotate_file(self):
path = self._current_file_path()
print(f"Saving file: {path}", flush=True)
if self.current_fd is not None:
self.current_fd.close()
self.current_fd = None
self._remove_in_progress()
if self.delay > 0:
time.sleep(self.delay)
self.file_index += 1
self._open_next_file()
def work(self, input_items, output_items):
data = input_items[0]
offset = 0
total = len(data)
while offset < total:
remaining = self.split_size - self.current_len
chunk = min(remaining, total - offset)
self.current_fd.write(data[offset:offset + chunk].copy())
self.current_len += chunk
offset += chunk
if self.current_len >= self.split_size:
self._rotate_file()
return len(data)
def stop(self):
try:
if self.current_fd is not None:
self.current_fd.close()
self.current_fd = None
finally:
self._remove_in_progress()
return True
class DataSaver(gr.top_block):
def __init__(
self,
serial: str,
freq: float,
save_dir: str,
file_tag: str,
samp_rate: float,
split_size: int,
delay: float,
rf_gain: float,
if_gain: float,
bb_gain: float,
):
super().__init__("data_saver_headless", catch_exceptions=True)
self.serial = serial
self.freq = float(freq)
self.save_dir = save_dir
self.file_tag = file_tag
self.samp_rate = float(samp_rate)
self.split_size = int(split_size)
self.delay = float(delay)
self.rf_gain = float(rf_gain)
self.if_gain = float(if_gain)
self.bb_gain = float(bb_gain)
dev_args = f"numchan=1 hackrf={self.serial}"
self.source = osmosdr.source(args=dev_args)
self.source.set_time_unknown_pps(osmosdr.time_spec_t())
self.source.set_sample_rate(self.samp_rate)
self.source.set_center_freq(self.freq, 0)
self.source.set_freq_corr(0, 0)
self.source.set_dc_offset_mode(0, 0)
self.source.set_iq_balance_mode(0, 0)
self.source.set_gain_mode(False, 0)
self.source.set_gain(self.rf_gain, 0)
self.source.set_if_gain(self.if_gain, 0)
self.source.set_bb_gain(self.bb_gain, 0)
self.source.set_antenna("", 0)
self.source.set_bandwidth(0, 0)
self.sink = SimsiSink(
save_dir=self.save_dir,
file_tag=self.file_tag,
split_size=self.split_size,
delay=self.delay,
)
self.connect((self.source, 0), (self.sink, 0))
def parse_args():
parser = argparse.ArgumentParser(description="Headless GNU Radio IQ saver for HackRF")
parser.add_argument("--serial", required=True, help="HackRF serial number")
parser.add_argument("--freq", type=float, required=True, help="Center frequency in Hz")
parser.add_argument("--save-dir", required=True, help="Directory for output IQ files")
parser.add_argument("--file-tag", default="fragment_", help="Prefix for output files")
parser.add_argument("--samp-rate", type=float, default=20e6, help="Sample rate in S/s")
parser.add_argument("--split-size", type=int, default=400000, help="Max complex samples per file")
parser.add_argument("--delay", type=float, default=0.1, help="Delay between files in seconds")
parser.add_argument("--rf-gain", type=float, default=12, help="HackRF RF gain")
parser.add_argument("--if-gain", type=float, default=30, help="HackRF IF gain")
parser.add_argument("--bb-gain", type=float, default=36, help="HackRF BB gain")
return parser.parse_args()
def main():
args = parse_args()
tb = DataSaver(
serial=args.serial,
freq=args.freq,
save_dir=args.save_dir,
file_tag=args.file_tag,
samp_rate=args.samp_rate,
split_size=args.split_size,
delay=args.delay,
rf_gain=args.rf_gain,
if_gain=args.if_gain,
bb_gain=args.bb_gain,
)
stop_event = threading.Event()
def handle_signal(sig, frame):
print(f"Received signal {sig}, stopping...", flush=True)
stop_event.set()
tb.stop()
tb.wait()
signal.signal(signal.SIGINT, handle_signal)
signal.signal(signal.SIGTERM, handle_signal)
print("Starting flowgraph...", flush=True)
print(f" serial: {args.serial}", flush=True)
print(f" freq: {args.freq}", flush=True)
print(f" save_dir: {args.save_dir}", flush=True)
print(f" file_tag: {args.file_tag}", flush=True)
print(f" samp_rate: {args.samp_rate}", flush=True)
print(f" split_size: {args.split_size}", flush=True)
print(f" gains: rf={args.rf_gain} if={args.if_gain} bb={args.bb_gain}", flush=True)
tb.start()
try:
while not stop_event.is_set():
time.sleep(0.5)
except KeyboardInterrupt:
handle_signal(signal.SIGINT, None)
print("Stopped.", flush=True)
if __name__ == "__main__":
main()

@ -0,0 +1,575 @@
options:
parameters:
author: ''
catch_exceptions: 'True'
category: '[GRC Hier Blocks]'
cmake_opt: ''
comment: ''
copyright: ''
description: 'Headless IQ saver for HackRF over SSH'
gen_cmake: 'On'
gen_linking: dynamic
generate_options: no_gui
hier_block_src_path: '.:'
id: data_saver
max_nouts: '0'
output_language: python
placement: (0,0)
qt_qss_theme: ''
realtime_scheduling: ''
run: 'True'
run_command: '{python} -u {filename}'
run_options: prompt
sizing_mode: fixed
thread_safe_setters: ''
title: data_saver
window_size: ''
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [8, 8]
rotation: 0
state: enabled
blocks:
- name: serial
id: parameter
parameters:
category: Parameters
comment: 'HackRF serial'
hide: none
label: serial
short_id: s
type: string
value: '00000000000000000000000000000000'
states:
coordinate: [48, 48]
rotation: 0
state: enabled
- name: freq
id: parameter
parameters:
category: Parameters
comment: 'Center frequency in Hz'
hide: none
label: freq
short_id: f
type: real
value: '1.160e9'
states:
coordinate: [48, 96]
rotation: 0
state: enabled
- name: save_dir
id: parameter
parameters:
category: Parameters
comment: 'Directory for IQ files'
hide: none
label: save_dir
short_id: o
type: string
value: '/tmp/data_saver'
states:
coordinate: [48, 144]
rotation: 0
state: enabled
- name: file_tag
id: parameter
parameters:
category: Parameters
comment: 'File prefix'
hide: none
label: file_tag
short_id: t
type: string
value: 'fragment_'
states:
coordinate: [48, 192]
rotation: 0
state: enabled
- name: samp_rate
id: parameter
parameters:
category: Parameters
comment: 'Sample rate in S/s'
hide: none
label: samp_rate
short_id: r
type: real
value: '20e6'
states:
coordinate: [48, 240]
rotation: 0
state: enabled
- name: split_size
id: parameter
parameters:
category: Parameters
comment: 'Max complex samples per file'
hide: none
label: split_size
short_id: n
type: intx
value: '400000'
states:
coordinate: [48, 288]
rotation: 0
state: enabled
- name: delay
id: parameter
parameters:
category: Parameters
comment: 'Delay between files in seconds'
hide: none
label: delay
short_id: d
type: real
value: '0.1'
states:
coordinate: [48, 336]
rotation: 0
state: enabled
- name: rf_gain
id: parameter
parameters:
category: Parameters
comment: 'HackRF RF gain'
hide: none
label: rf_gain
short_id: g
type: real
value: '12'
states:
coordinate: [48, 384]
rotation: 0
state: enabled
- name: if_gain
id: parameter
parameters:
category: Parameters
comment: 'HackRF IF gain'
hide: none
label: if_gain
short_id: i
type: real
value: '30'
states:
coordinate: [48, 432]
rotation: 0
state: enabled
- name: bb_gain
id: parameter
parameters:
category: Parameters
comment: 'HackRF baseband gain'
hide: none
label: bb_gain
short_id: b
type: real
value: '36'
states:
coordinate: [48, 480]
rotation: 0
state: enabled
- name: dev_args
id: variable
parameters:
comment: ''
value: '"hackrf=" + str(serial)'
states:
coordinate: [48, 540]
rotation: 0
state: enabled
- name: epy_block_0
id: epy_block
parameters:
Delay: delay
FileTag: file_tag
SaveDir: save_dir
SplitSize: split_size
_source_code: "\"\"\"\nEmbedded Python Blocks:\n\nHeadless IQ writer with file splitting.\n\"\"\"\n\nimport numpy as np\nfrom gnuradio import gr\nimport os\nimport time\n\n\nclass Simsi_Sink(gr.sync_block):\n def __init__(self, SaveDir=\"./signal\", FileTag=\"fragment_\", SplitSize=1000000, Delay=0.0):\n gr.sync_block.__init__(\n self,\n name='Simsi_Sink',\n in_sig=[np.complex64],\n out_sig=None\n )\n\n self.Delay = float(Delay)\n self.FileTag = str(FileTag)\n self.SplitSize = int(SplitSize)\n self.SaveDir = str(SaveDir)\n\n os.makedirs(self.SaveDir, exist_ok=True)\n\n self.it = 0\n self.last_file_len = 0\n self.last_fd = None\n\n self.reading_in_progress_file_path = os.path.join(self.SaveDir, 'reading_in_progress')\n self.reading_in_progress_file_fd = None\n\n self._open_next_file()\n\n def _touch_in_progress(self):\n if self.reading_in_progress_file_fd is not None:\n try:\n self.reading_in_progress_file_fd.close()\n except Exception:\n pass\n self.reading_in_progress_file_fd = open(self.reading_in_progress_file_path, 'wb')\n\n def _remove_in_progress(self):\n if self.reading_in_progress_file_fd is not None:\n try:\n self.reading_in_progress_file_fd.close()\n except Exception:\n pass\n self.reading_in_progress_file_fd = None\n if os.path.exists(self.reading_in_progress_file_path):\n try:\n os.remove(self.reading_in_progress_file_path)\n except Exception:\n pass\n\n def _open_next_file(self):\n self._touch_in_progress()\n self.last_file_path = os.path.join(self.SaveDir, f\"{self.FileTag}{self.it}\")\n self.last_fd = open(self.last_file_path, 'wb')\n self.last_file_len = 0\n print(f\"Opened file: {self.last_file_path}\", flush=True)\n\n def _rotate_file(self):\n if self.last_fd is not None:\n self.last_fd.close()\n self.last_fd = None\n self._remove_in_progress()\n if self.Delay > 0:\n time.sleep(self.Delay)\n self.it += 1\n self._open_next_file()\n\n def stop(self):\n try:\n if self.last_fd is not None:\n self.last_fd.close()\n self.last_fd = None\n finally:\n self._remove_in_progress()\n return True\n\n def work(self, input_items, output_items):\n data = input_items[0]\n offset = 0\n total = len(data)\n\n while offset < total:\n remaining = self.SplitSize - self.last_file_len\n chunk = min(remaining, total - offset)\n\n self.last_fd.write(data[offset:offset + chunk].copy())\n self.last_file_len += chunk\n offset += chunk\n\n if self.last_file_len >= self.SplitSize:\n print(f\"Saving file: {self.last_file_path}\", flush=True)\n self._rotate_file()\n\n return len(data)\n"
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
states:
_io_cache: ('Simsi_Sink', 'Simsi_Sink', [('SaveDir', "'./signal'"), ('FileTag', "'fragment_'"), ('SplitSize', '1000000'), ('Delay', '0.0')], [('0', 'complex', 1)], [], 'Headless IQ writer with file splitting.', ['Delay', 'FileTag', 'SaveDir', 'SplitSize'])
coordinate: [688, 208]
rotation: 0
state: enabled
- name: osmosdr_source_0
id: osmosdr_source
parameters:
affinity: ''
alias: ''
ant0: ''
ant1: ''
ant10: ''
ant11: ''
ant12: ''
ant13: ''
ant14: ''
ant15: ''
ant16: ''
ant17: ''
ant18: ''
ant19: ''
ant2: ''
ant20: ''
ant21: ''
ant22: ''
ant23: ''
ant24: ''
ant25: ''
ant26: ''
ant27: ''
ant28: ''
ant29: ''
ant3: ''
ant30: ''
ant31: ''
ant4: ''
ant5: ''
ant6: ''
ant7: ''
ant8: ''
ant9: ''
args: dev_args
bb_gain0: bb_gain
bb_gain1: '20'
bb_gain10: '20'
bb_gain11: '20'
bb_gain12: '20'
bb_gain13: '20'
bb_gain14: '20'
bb_gain15: '20'
bb_gain16: '20'
bb_gain17: '20'
bb_gain18: '20'
bb_gain19: '20'
bb_gain2: '20'
bb_gain20: '20'
bb_gain21: '20'
bb_gain22: '20'
bb_gain23: '20'
bb_gain24: '20'
bb_gain25: '20'
bb_gain26: '20'
bb_gain27: '20'
bb_gain28: '20'
bb_gain29: '20'
bb_gain3: '20'
bb_gain30: '20'
bb_gain31: '20'
bb_gain4: '20'
bb_gain5: '20'
bb_gain6: '20'
bb_gain7: '20'
bb_gain8: '20'
bb_gain9: '20'
bw0: '0'
bw1: '0'
bw10: '0'
bw11: '0'
bw12: '0'
bw13: '0'
bw14: '0'
bw15: '0'
bw16: '0'
bw17: '0'
bw18: '0'
bw19: '0'
bw2: '0'
bw20: '0'
bw21: '0'
bw22: '0'
bw23: '0'
bw24: '0'
bw25: '0'
bw26: '0'
bw27: '0'
bw28: '0'
bw29: '0'
bw3: '0'
bw30: '0'
bw31: '0'
bw4: '0'
bw5: '0'
bw6: '0'
bw7: '0'
bw8: '0'
bw9: '0'
clock_source0: ''
clock_source1: ''
clock_source2: ''
clock_source3: ''
clock_source4: ''
clock_source5: ''
clock_source6: ''
clock_source7: ''
comment: ''
corr0: '0'
corr1: '0'
corr10: '0'
corr11: '0'
corr12: '0'
corr13: '0'
corr14: '0'
corr15: '0'
corr16: '0'
corr17: '0'
corr18: '0'
corr19: '0'
corr2: '0'
corr20: '0'
corr21: '0'
corr22: '0'
corr23: '0'
corr24: '0'
corr25: '0'
corr26: '0'
corr27: '0'
corr28: '0'
corr29: '0'
corr3: '0'
corr30: '0'
corr31: '0'
corr4: '0'
corr5: '0'
corr6: '0'
corr7: '0'
corr8: '0'
corr9: '0'
dc_offset_mode0: '0'
dc_offset_mode1: '0'
dc_offset_mode10: '0'
dc_offset_mode11: '0'
dc_offset_mode12: '0'
dc_offset_mode13: '0'
dc_offset_mode14: '0'
dc_offset_mode15: '0'
dc_offset_mode16: '0'
dc_offset_mode17: '0'
dc_offset_mode18: '0'
dc_offset_mode19: '0'
dc_offset_mode2: '0'
dc_offset_mode20: '0'
dc_offset_mode21: '0'
dc_offset_mode22: '0'
dc_offset_mode23: '0'
dc_offset_mode24: '0'
dc_offset_mode25: '0'
dc_offset_mode26: '0'
dc_offset_mode27: '0'
dc_offset_mode28: '0'
dc_offset_mode29: '0'
dc_offset_mode3: '0'
dc_offset_mode30: '0'
dc_offset_mode31: '0'
dc_offset_mode4: '0'
dc_offset_mode5: '0'
dc_offset_mode6: '0'
dc_offset_mode7: '0'
dc_offset_mode8: '0'
dc_offset_mode9: '0'
freq0: freq
freq1: 100e6
freq10: 100e6
freq11: 100e6
freq12: 100e6
freq13: 100e6
freq14: 100e6
freq15: 100e6
freq16: 100e6
freq17: 100e6
freq18: 100e6
freq19: 100e6
freq2: 100e6
freq20: 100e6
freq21: 100e6
freq22: 100e6
freq23: 100e6
freq24: 100e6
freq25: 100e6
freq26: 100e6
freq27: 100e6
freq28: 100e6
freq29: 100e6
freq3: 100e6
freq30: 100e6
freq31: 100e6
freq4: 100e6
freq5: 100e6
freq6: 100e6
freq7: 100e6
freq8: 100e6
freq9: 100e6
gain0: rf_gain
gain1: '10'
gain10: '10'
gain11: '10'
gain12: '10'
gain13: '10'
gain14: '10'
gain15: '10'
gain16: '10'
gain17: '10'
gain18: '10'
gain19: '10'
gain2: '10'
gain20: '10'
gain21: '10'
gain22: '10'
gain23: '10'
gain24: '10'
gain25: '10'
gain26: '10'
gain27: '10'
gain28: '10'
gain29: '10'
gain3: '10'
gain30: '10'
gain31: '10'
gain4: '10'
gain5: '10'
gain6: '10'
gain7: '10'
gain8: '10'
gain9: '10'
gain_mode0: 'False'
gain_mode1: 'False'
gain_mode10: 'False'
gain_mode11: 'False'
gain_mode12: 'False'
gain_mode13: 'False'
gain_mode14: 'False'
gain_mode15: 'False'
gain_mode16: 'False'
gain_mode17: 'False'
gain_mode18: 'False'
gain_mode19: 'False'
gain_mode2: 'False'
gain_mode20: 'False'
gain_mode21: 'False'
gain_mode22: 'False'
gain_mode23: 'False'
gain_mode24: 'False'
gain_mode25: 'False'
gain_mode26: 'False'
gain_mode27: 'False'
gain_mode28: 'False'
gain_mode29: 'False'
gain_mode3: 'False'
gain_mode30: 'False'
gain_mode31: 'False'
gain_mode4: 'False'
gain_mode5: 'False'
gain_mode6: 'False'
gain_mode7: 'False'
gain_mode8: 'False'
gain_mode9: 'False'
if_gain0: if_gain
if_gain1: '20'
if_gain10: '20'
if_gain11: '20'
if_gain12: '20'
if_gain13: '20'
if_gain14: '20'
if_gain15: '20'
if_gain16: '20'
if_gain17: '20'
if_gain18: '20'
if_gain19: '20'
if_gain2: '20'
if_gain20: '20'
if_gain21: '20'
if_gain22: '20'
if_gain23: '20'
if_gain24: '20'
if_gain25: '20'
if_gain26: '20'
if_gain27: '20'
if_gain28: '20'
if_gain29: '20'
if_gain3: '20'
if_gain30: '20'
if_gain31: '20'
if_gain4: '20'
if_gain5: '20'
if_gain6: '20'
if_gain7: '20'
if_gain8: '20'
if_gain9: '20'
iq_balance_mode0: '0'
iq_balance_mode1: '0'
iq_balance_mode10: '0'
iq_balance_mode11: '0'
iq_balance_mode12: '0'
iq_balance_mode13: '0'
iq_balance_mode14: '0'
iq_balance_mode15: '0'
iq_balance_mode16: '0'
iq_balance_mode17: '0'
iq_balance_mode18: '0'
iq_balance_mode19: '0'
iq_balance_mode2: '0'
iq_balance_mode20: '0'
iq_balance_mode21: '0'
iq_balance_mode22: '0'
iq_balance_mode23: '0'
iq_balance_mode24: '0'
iq_balance_mode25: '0'
iq_balance_mode26: '0'
iq_balance_mode27: '0'
iq_balance_mode28: '0'
iq_balance_mode29: '0'
iq_balance_mode3: '0'
iq_balance_mode30: '0'
iq_balance_mode31: '0'
iq_balance_mode4: '0'
iq_balance_mode5: '0'
iq_balance_mode6: '0'
iq_balance_mode7: '0'
iq_balance_mode8: '0'
iq_balance_mode9: '0'
maxoutbuf: '0'
minoutbuf: '0'
nchan: '1'
num_mboards: '1'
sample_rate: samp_rate
sync: sync
time_source0: ''
time_source1: ''
time_source2: ''
time_source3: ''
time_source4: ''
time_source5: ''
time_source6: ''
time_source7: ''
type: fc32
states:
coordinate: [288, 208]
rotation: 0
state: enabled
connections:
- [osmosdr_source_0, '0', epy_block_0, '0']
metadata:
file_format: 1
grc_version: 3.10.9.2

@ -0,0 +1,150 @@
import os
import datetime
import time
from common.runtime import load_root_env, as_bool
from smb.SMBConnection import SMBConnection
from utils.datas_processing import pack_elems, agregator, send_data, send_telemetry, save_data, remote_save_data
from utils.jammer_state_flag import is_jammer_active
from core.sig_n_medi_collect import Signal, SignalsArray
from core.multichannelswitcher import MultiChannel
load_root_env(__file__)
debug_flag = as_bool(os.getenv('debug_flag', '0'))
send_to_module_flag = as_bool(os.getenv('send_to_module_flag', '0'))
save_data_flag = as_bool(os.getenv('save_data_flag', '0'))
module_name = os.getenv('module_name')
elems_to_save = os.getenv('elems_to_save')
file_types_to_save = os.getenv('file_types_to_save')
localhost = os.getenv('lochost')
localport = os.getenv('locport')
f_step = [*map(float, os.getenv('f_step_1200').split())]
f_bases = [*map(float, os.getenv('f_bases_1200').split())]
f_roofs = [*map(float, os.getenv('f_roofs_1200').split())]
signal_length = int(os.getenv('signal_length_1200'))
buffer_columns_size = int(os.getenv('buffer_columns_size_1200'))
num_of_thinning_iter = int(os.getenv('num_of_thinning_iter_1200'))
multiply_factor = float(os.getenv('multiply_factor_1200'))
num_for_alarm = int(os.getenv('num_for_alarm_1200'))
c_freq = os.getenv('c_freq_1200', '1200')
path_to_save_medians = os.getenv('path_to_save_medians')
path_to_save_alarms = os.getenv('path_to_save_alarms')
smb_host = os.getenv('smb_host')
smb_port = os.getenv('smb_port')
smb_user = os.getenv('smb_user')
smb_pass = os.getenv('smb_pass')
shared_folder = os.getenv('shared_folder')
the_pc_name = os.getenv('the_pc_name')
remote_pc_name = os.getenv('remote_pc_name')
smb_domain = os.getenv('smb_domain')
freq_endpoint = os.getenv('freq_endpoint')
telemetry_enabled = as_bool(os.getenv('telemetry_enabled', '1'))
telemetry_host = os.getenv('telemetry_host', '127.0.0.1')
telemetry_port = os.getenv('telemetry_port', '5020')
telemetry_endpoint = os.getenv('telemetry_endpoint', 'telemetry')
telemetry_timeout_sec = float(os.getenv('telemetry_timeout_sec', '0.30'))
elems_to_save = elems_to_save.split(',')
file_types_to_save = file_types_to_save.split(',')
tmp_signal = Signal()
tmp_sigs_array = SignalsArray()
multi_channel = MultiChannel(f_step, f_bases, f_roofs)
f = multi_channel.init_f()
multi_channel.fill_DB(
buffer_columns_size,
num_of_thinning_iter,
multiply_factor,
num_for_alarm,
c_freq,
)
if debug_flag:
conn = SMBConnection(smb_user, smb_pass, the_pc_name, remote_pc_name, use_ntlm_v2=True)
conn.connect(smb_host, 139)
filelist = conn.listPath(shared_folder, '/')
print(filelist)
def work(lvl):
f = multi_channel.get_cur_channel()
freq = c_freq
median = tmp_signal.fill_signal(lvl, signal_length)
packet_ts = tmp_signal.get_last_packet_ts()
if median:
try:
num_chs, circle_buffer = multi_channel.check_f(f)
cur_channel, sigs_array, sigs_ts_array = tmp_sigs_array.fill_sig_arr(median, packet_ts=packet_ts, num_chs=num_chs)
if sigs_array:
print('Значения на {0}: {1}'.format(freq, sigs_array))
print('Пороги: ', circle_buffer.get_medians())
alarm = circle_buffer.check_alarm(sigs_array)
if alarm:
print('----ALARM---- ', freq)
multi_channel.db_alarms_zeros(circle_buffer)
elif not is_jammer_active():
circle_buffer.update(sigs_array, packet_timestamps=sigs_ts_array)
if telemetry_enabled:
try:
max_idx = max(range(len(sigs_array)), key=lambda idx: sigs_array[idx])
dbfs_current = float(sigs_array[max_idx])
dbfs_threshold = circle_buffer.get_threshold(max_idx)
channel_thresholds = circle_buffer.get_thresholds()
alarm_channels = circle_buffer.get_last_alarm_channels() if alarm else []
send_telemetry(
data={
'freq': str(freq),
'ts': time.time(),
'dbfs_current': dbfs_current,
'dbfs_threshold': dbfs_threshold,
'alarm': bool(alarm),
'channel_idx': int(max_idx),
'channels_total': int(len(sigs_array)),
'channel_values': [float(v) for v in sigs_array],
'channel_thresholds': channel_thresholds,
'alarm_channels': alarm_channels,
},
host=telemetry_host,
port=telemetry_port,
endpoint=telemetry_endpoint,
timeout_sec=telemetry_timeout_sec,
)
except Exception as exc:
if debug_flag:
print(f'telemetry send failed: {exc}')
if send_to_module_flag:
send_data(agregator(freq, alarm), localhost, localport, freq_endpoint)
if save_data_flag:
if not circle_buffer.check_init() and circle_buffer.current_column - 1 == 0:
save_data(path_to_save_medians, freq, 'DateTime', 'ALARM', 'max signal', list(range(num_chs)), list(range(num_chs)))
if circle_buffer.check_init():
save_data(path_to_save_medians, freq, datetime.datetime.now(), alarm, max(sigs_array), sigs_array, circle_buffer.get_medians())
if debug_flag:
single_alarm = circle_buffer.check_single_alarm(median, cur_channel)
print(cur_channel, single_alarm)
if single_alarm:
data = pack_elems(elems_to_save, file_types_to_save, tmp_signal.get_signal())
print('SAVE CURRENT SIGNAL SROCHNO TI MENYA SLISHISH?!?!?!?')
try:
remote_save_data(conn, data, module_name, freq, shared_folder, path_to_save_alarms)
except Exception as e:
print(f'Ошибка: {e}')
else:
print('VSE OKI DOKI SIGNAL SOKHRANYAT NE NUZHNO!!!')
f = multi_channel.change_channel()
except Exception as e:
print(str(e))
print('.', end='')
tmp_signal.clear()
return f

@ -0,0 +1,150 @@
import os
import datetime
import time
from common.runtime import load_root_env, as_bool
from smb.SMBConnection import SMBConnection
from utils.datas_processing import pack_elems, agregator, send_data, send_telemetry, save_data, remote_save_data
from utils.jammer_state_flag import is_jammer_active
from core.sig_n_medi_collect import Signal, SignalsArray
from core.multichannelswitcher import MultiChannel
load_root_env(__file__)
debug_flag = as_bool(os.getenv('debug_flag', '0'))
send_to_module_flag = as_bool(os.getenv('send_to_module_flag', '0'))
save_data_flag = as_bool(os.getenv('save_data_flag', '0'))
module_name = os.getenv('module_name')
elems_to_save = os.getenv('elems_to_save')
file_types_to_save = os.getenv('file_types_to_save')
localhost = os.getenv('lochost')
localport = os.getenv('locport')
f_step = [*map(float, os.getenv('f_step_2400').split())]
f_bases = [*map(float, os.getenv('f_bases_2400').split())]
f_roofs = [*map(float, os.getenv('f_roofs_2400').split())]
signal_length = int(os.getenv('signal_length_2400'))
buffer_columns_size = int(os.getenv('buffer_columns_size_2400'))
num_of_thinning_iter = int(os.getenv('num_of_thinning_iter_2400'))
multiply_factor = float(os.getenv('multiply_factor_2400'))
num_for_alarm = int(os.getenv('num_for_alarm_2400'))
c_freq = os.getenv('c_freq_2400', '2400')
path_to_save_medians = os.getenv('path_to_save_medians')
path_to_save_alarms = os.getenv('path_to_save_alarms')
smb_host = os.getenv('smb_host')
smb_port = os.getenv('smb_port')
smb_user = os.getenv('smb_user')
smb_pass = os.getenv('smb_pass')
shared_folder = os.getenv('shared_folder')
the_pc_name = os.getenv('the_pc_name')
remote_pc_name = os.getenv('remote_pc_name')
smb_domain = os.getenv('smb_domain')
freq_endpoint = os.getenv('freq_endpoint')
telemetry_enabled = as_bool(os.getenv('telemetry_enabled', '1'))
telemetry_host = os.getenv('telemetry_host', '127.0.0.1')
telemetry_port = os.getenv('telemetry_port', '5020')
telemetry_endpoint = os.getenv('telemetry_endpoint', 'telemetry')
telemetry_timeout_sec = float(os.getenv('telemetry_timeout_sec', '0.30'))
elems_to_save = elems_to_save.split(',')
file_types_to_save = file_types_to_save.split(',')
tmp_signal = Signal()
tmp_sigs_array = SignalsArray()
multi_channel = MultiChannel(f_step, f_bases, f_roofs)
f = multi_channel.init_f()
multi_channel.fill_DB(
buffer_columns_size,
num_of_thinning_iter,
multiply_factor,
num_for_alarm,
c_freq,
)
if debug_flag:
conn = SMBConnection(smb_user, smb_pass, the_pc_name, remote_pc_name, use_ntlm_v2=True)
conn.connect(smb_host, 139)
filelist = conn.listPath(shared_folder, '/')
print(filelist)
def work(lvl):
f = multi_channel.get_cur_channel()
freq = c_freq
median = tmp_signal.fill_signal(lvl, signal_length)
packet_ts = tmp_signal.get_last_packet_ts()
if median:
try:
num_chs, circle_buffer = multi_channel.check_f(f)
cur_channel, sigs_array, sigs_ts_array = tmp_sigs_array.fill_sig_arr(median, packet_ts=packet_ts, num_chs=num_chs)
if sigs_array:
print('Значения на {0}: {1}'.format(freq, sigs_array))
print('Пороги: ', circle_buffer.get_medians())
alarm = circle_buffer.check_alarm(sigs_array)
if alarm:
print('----ALARM---- ', freq)
multi_channel.db_alarms_zeros(circle_buffer)
elif not is_jammer_active():
circle_buffer.update(sigs_array, packet_timestamps=sigs_ts_array)
if telemetry_enabled:
try:
max_idx = max(range(len(sigs_array)), key=lambda idx: sigs_array[idx])
dbfs_current = float(sigs_array[max_idx])
dbfs_threshold = circle_buffer.get_threshold(max_idx)
channel_thresholds = circle_buffer.get_thresholds()
alarm_channels = circle_buffer.get_last_alarm_channels() if alarm else []
send_telemetry(
data={
'freq': str(freq),
'ts': time.time(),
'dbfs_current': dbfs_current,
'dbfs_threshold': dbfs_threshold,
'alarm': bool(alarm),
'channel_idx': int(max_idx),
'channels_total': int(len(sigs_array)),
'channel_values': [float(v) for v in sigs_array],
'channel_thresholds': channel_thresholds,
'alarm_channels': alarm_channels,
},
host=telemetry_host,
port=telemetry_port,
endpoint=telemetry_endpoint,
timeout_sec=telemetry_timeout_sec,
)
except Exception as exc:
if debug_flag:
print(f'telemetry send failed: {exc}')
if send_to_module_flag:
send_data(agregator(freq, alarm), localhost, localport, freq_endpoint)
if save_data_flag:
if not circle_buffer.check_init() and circle_buffer.current_column - 1 == 0:
save_data(path_to_save_medians, freq, 'DateTime', 'ALARM', 'max signal', list(range(num_chs)), list(range(num_chs)))
if circle_buffer.check_init():
save_data(path_to_save_medians, freq, datetime.datetime.now(), alarm, max(sigs_array), sigs_array, circle_buffer.get_medians())
if debug_flag:
single_alarm = circle_buffer.check_single_alarm(median, cur_channel)
print(cur_channel, single_alarm)
if single_alarm:
data = pack_elems(elems_to_save, file_types_to_save, tmp_signal.get_signal())
print('SAVE CURRENT SIGNAL SROCHNO TI MENYA SLISHISH?!?!?!?')
try:
remote_save_data(conn, data, module_name, freq, shared_folder, path_to_save_alarms)
except Exception as e:
print(f'Ошибка: {e}')
else:
print('VSE OKI DOKI SIGNAL SOKHRANYAT NE NUZHNO!!!')
f = multi_channel.change_channel()
except Exception as e:
print(str(e))
print('.', end='')
tmp_signal.clear()
return f

@ -0,0 +1,153 @@
import os
import datetime
import time
from common.runtime import load_root_env, as_bool
from smb.SMBConnection import SMBConnection
from utils.datas_processing import pack_elems, agregator, send_data, send_telemetry, save_data, remote_save_data
from utils.jammer_state_flag import is_jammer_active
from core.sig_n_medi_collect import Signal, SignalsArray
from core.multichannelswitcher import MultiChannel
import logging
logging.basicConfig(level=logging.NOTSET)
load_root_env(__file__)
debug_flag = as_bool(os.getenv('debug_flag', '0'))
send_to_module_flag = as_bool(os.getenv('send_to_module_flag', '0'))
save_data_flag = as_bool(os.getenv('save_data_flag', '0'))
module_name = os.getenv('module_name')
elems_to_save = os.getenv('elems_to_save')
file_types_to_save = os.getenv('file_types_to_save')
localhost = os.getenv('lochost')
localport = os.getenv('locport')
f_step = [*map(float, os.getenv('f_step_915').split())]
f_bases = [*map(float, os.getenv('f_bases_915').split())]
f_roofs = [*map(float, os.getenv('f_roofs_915').split())]
signal_length = int(os.getenv('signal_length_915'))
buffer_columns_size = int(os.getenv('buffer_columns_size_915'))
num_of_thinning_iter = int(os.getenv('num_of_thinning_iter_915'))
multiply_factor = float(os.getenv('multiply_factor_915'))
num_for_alarm = int(os.getenv('num_for_alarm_915'))
c_freq = os.getenv('c_freq_915', '915')
path_to_save_medians = os.getenv('path_to_save_medians')
path_to_save_alarms = os.getenv('path_to_save_alarms')
smb_host = os.getenv('smb_host')
smb_port = os.getenv('smb_port')
smb_user = os.getenv('smb_user')
smb_pass = os.getenv('smb_pass')
shared_folder = os.getenv('shared_folder')
the_pc_name = os.getenv('the_pc_name')
remote_pc_name = os.getenv('remote_pc_name')
smb_domain = os.getenv('smb_domain')
freq_endpoint = os.getenv('freq_endpoint')
telemetry_enabled = as_bool(os.getenv('telemetry_enabled', '1'))
telemetry_host = os.getenv('telemetry_host', '127.0.0.1')
telemetry_port = os.getenv('telemetry_port', '5020')
telemetry_endpoint = os.getenv('telemetry_endpoint', 'telemetry')
telemetry_timeout_sec = float(os.getenv('telemetry_timeout_sec', '0.30'))
elems_to_save = elems_to_save.split(',')
file_types_to_save = file_types_to_save.split(',')
tmp_signal = Signal()
tmp_sigs_array = SignalsArray()
multi_channel = MultiChannel(f_step, f_bases, f_roofs)
f = multi_channel.init_f()
multi_channel.fill_DB(
buffer_columns_size,
num_of_thinning_iter,
multiply_factor,
num_for_alarm,
c_freq,
)
if debug_flag:
conn = SMBConnection(smb_user, smb_pass, the_pc_name, remote_pc_name, use_ntlm_v2=True)
conn.connect(smb_host, 139)
filelist = conn.listPath(shared_folder, '/')
print(filelist)
def work(lvl):
f = multi_channel.get_cur_channel()
freq = c_freq
median = tmp_signal.fill_signal(lvl, signal_length)
packet_ts = tmp_signal.get_last_packet_ts()
if median:
try:
num_chs, circle_buffer = multi_channel.check_f(f)
cur_channel, sigs_array, sigs_ts_array = tmp_sigs_array.fill_sig_arr(median, packet_ts=packet_ts, num_chs=num_chs)
if sigs_array:
print('Значения на {0}: {1}'.format(freq, sigs_array))
print('Пороги: ', circle_buffer.get_medians())
alarm = circle_buffer.check_alarm(sigs_array)
if alarm:
print('----ALARM---- ', freq)
multi_channel.db_alarms_zeros(circle_buffer)
elif not is_jammer_active():
circle_buffer.update(sigs_array, packet_timestamps=sigs_ts_array)
if True:
try:
max_idx = max(range(len(sigs_array)), key=lambda idx: sigs_array[idx])
dbfs_current = float(sigs_array[max_idx])
dbfs_threshold = circle_buffer.get_threshold(max_idx)
channel_thresholds = circle_buffer.get_thresholds()
alarm_channels = circle_buffer.get_last_alarm_channels() if alarm else []
send_telemetry(
data={
'freq': str(freq),
'ts': time.time(),
'dbfs_current': dbfs_current,
'dbfs_threshold': dbfs_threshold,
'alarm': bool(alarm),
'channel_idx': int(max_idx),
'channels_total': int(len(sigs_array)),
'channel_values': [float(v) for v in sigs_array],
'channel_thresholds': channel_thresholds,
'alarm_channels': alarm_channels,
},
host=telemetry_host,
port=telemetry_port,
endpoint=telemetry_endpoint,
timeout_sec=telemetry_timeout_sec,
)
except Exception as exc:
if debug_flag:
print(f'telemetry send failed: {exc}')
if send_to_module_flag:
send_data(agregator(freq, alarm), localhost, localport, freq_endpoint)
if save_data_flag:
if not circle_buffer.check_init() and circle_buffer.current_column - 1 == 0:
save_data(path_to_save_medians, freq, 'DateTime', 'ALARM', 'max signal', list(range(num_chs)), list(range(num_chs)))
if circle_buffer.check_init():
save_data(path_to_save_medians, freq, datetime.datetime.now(), alarm, max(sigs_array), sigs_array, circle_buffer.get_medians())
if debug_flag:
single_alarm = circle_buffer.check_single_alarm(median, cur_channel)
print(cur_channel, single_alarm)
if single_alarm:
data = pack_elems(elems_to_save, file_types_to_save, tmp_signal.get_signal())
print('SAVE CURRENT SIGNAL SROCHNO TI MENYA SLISHISH?!?!?!?')
try:
remote_save_data(conn, data, module_name, freq, shared_folder, path_to_save_alarms)
except Exception as e:
print(f'Ошибка: {e}')
else:
print('VSE OKI DOKI SIGNAL SOKHRANYAT NE NUZHNO!!!')
f = multi_channel.change_channel()
except Exception as e:
print(str(e))
print('.', end='')
tmp_signal.clear()
return f

@ -0,0 +1,104 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from gnuradio import blocks
from gnuradio import gr
import signal
import sys
import threading
import time
import osmosdr
import embedded_1200 as my_freq
from common.runtime import load_root_env, resolve_hackrf_index
load_root_env(__file__)
def get_hack_id():
return resolve_hackrf_index('hack_1200', 'src/main_1200.py')
class get_center_freq(gr.top_block):
def __init__(self):
gr.top_block.__init__(self, 'get_center_freq')
self.prob_freq = 0
self.samp_rate = 20e6
self.poll_rate = 10000
self.vector_len = 4096
self.center_freq = my_freq.work(self.prob_freq)
self._prob_freq_thread = None
self.probSigVec = blocks.probe_signal_vc(self.vector_len)
self.rtlsdr_source_0 = osmosdr.source(
args='numchan=' + str(1) + ' ' + 'hackrf=' + get_hack_id()
)
self.rtlsdr_source_0.set_time_unknown_pps(osmosdr.time_spec_t())
self.rtlsdr_source_0.set_sample_rate(self.samp_rate)
self.rtlsdr_source_0.set_center_freq(self.center_freq, 0)
self.rtlsdr_source_0.set_freq_corr(0, 0)
self.rtlsdr_source_0.set_gain(24, 0)
self.rtlsdr_source_0.set_if_gain(24, 0)
self.rtlsdr_source_0.set_bb_gain(100, 0)
self.rtlsdr_source_0.set_antenna('', 0)
self.rtlsdr_source_0.set_bandwidth(0, 0)
self.rtlsdr_source_0.set_min_output_buffer(self.vector_len)
self.blocks_stream_to_vector_1 = blocks.stream_to_vector(gr.sizeof_gr_complex * 1, self.vector_len)
self.connect((self.blocks_stream_to_vector_1, 0), (self.probSigVec, 0))
self.connect((self.rtlsdr_source_0, 0), (self.blocks_stream_to_vector_1, 0))
def _prob_freq_probe():
while True:
val = self.probSigVec.level()
try:
self.set_prob_freq(val)
except AttributeError:
pass
time.sleep(1.0 / self.poll_rate)
self._prob_freq_thread = threading.Thread(target=_prob_freq_probe, daemon=True)
self._prob_freq_thread.start()
def get_prob_freq(self):
return self.prob_freq
def set_prob_freq(self, prob_freq):
self.prob_freq = prob_freq
self.set_center_freq(my_freq.work(self.prob_freq))
def get_center_freq(self):
return self.center_freq
def set_center_freq(self, center_freq):
self.center_freq = center_freq
self.rtlsdr_source_0.set_center_freq(self.center_freq, 0)
def main(top_block_cls=get_center_freq, options=None):
tb = top_block_cls()
def sig_handler(sig=None, frame=None):
tb.stop()
tb.wait()
sys.exit(0)
signal.signal(signal.SIGINT, sig_handler)
signal.signal(signal.SIGTERM, sig_handler)
tb.start()
try:
print('СЕРВИСНАЯ ИНФОРМАЦИЯ: ')
print('debug_flag: ', my_freq.debug_flag)
print('save_data_flag: ', my_freq.save_data_flag)
print('send_to_module_flag: ', my_freq.send_to_module_flag)
except EOFError:
pass
tb.wait()
if __name__ == '__main__':
main()

@ -0,0 +1,104 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from gnuradio import blocks
from gnuradio import gr
import signal
import sys
import threading
import time
import osmosdr
import embedded_2400 as my_freq
from common.runtime import load_root_env, resolve_hackrf_index
load_root_env(__file__)
def get_hack_id():
return resolve_hackrf_index('hack_2400', 'src/main_2400.py')
class get_center_freq(gr.top_block):
def __init__(self):
gr.top_block.__init__(self, 'get_center_freq')
self.prob_freq = 0
self.samp_rate = 20e6
self.poll_rate = 10000
self.vector_len = 4096
self.center_freq = my_freq.work(self.prob_freq)
self._prob_freq_thread = None
self.probSigVec = blocks.probe_signal_vc(self.vector_len)
self.rtlsdr_source_0 = osmosdr.source(
args='numchan=' + str(1) + ' ' + 'hackrf=' + get_hack_id()
)
self.rtlsdr_source_0.set_time_unknown_pps(osmosdr.time_spec_t())
self.rtlsdr_source_0.set_sample_rate(self.samp_rate)
self.rtlsdr_source_0.set_center_freq(self.center_freq, 0)
self.rtlsdr_source_0.set_freq_corr(0, 0)
self.rtlsdr_source_0.set_gain(24, 0)
self.rtlsdr_source_0.set_if_gain(24, 0)
self.rtlsdr_source_0.set_bb_gain(100, 0)
self.rtlsdr_source_0.set_antenna('', 0)
self.rtlsdr_source_0.set_bandwidth(0, 0)
self.rtlsdr_source_0.set_min_output_buffer(self.vector_len)
self.blocks_stream_to_vector_1 = blocks.stream_to_vector(gr.sizeof_gr_complex * 1, self.vector_len)
self.connect((self.blocks_stream_to_vector_1, 0), (self.probSigVec, 0))
self.connect((self.rtlsdr_source_0, 0), (self.blocks_stream_to_vector_1, 0))
def _prob_freq_probe():
while True:
val = self.probSigVec.level()
try:
self.set_prob_freq(val)
except AttributeError:
pass
time.sleep(1.0 / self.poll_rate)
self._prob_freq_thread = threading.Thread(target=_prob_freq_probe, daemon=True)
self._prob_freq_thread.start()
def get_prob_freq(self):
return self.prob_freq
def set_prob_freq(self, prob_freq):
self.prob_freq = prob_freq
self.set_center_freq(my_freq.work(self.prob_freq))
def get_center_freq(self):
return self.center_freq
def set_center_freq(self, center_freq):
self.center_freq = center_freq
self.rtlsdr_source_0.set_center_freq(self.center_freq, 0)
def main(top_block_cls=get_center_freq, options=None):
tb = top_block_cls()
def sig_handler(sig=None, frame=None):
tb.stop()
tb.wait()
sys.exit(0)
signal.signal(signal.SIGINT, sig_handler)
signal.signal(signal.SIGTERM, sig_handler)
tb.start()
try:
print('СЕРВИСНАЯ ИНФОРМАЦИЯ: ')
print('debug_flag: ', my_freq.debug_flag)
print('save_data_flag: ', my_freq.save_data_flag)
print('send_to_module_flag: ', my_freq.send_to_module_flag)
except EOFError:
pass
tb.wait()
if __name__ == '__main__':
main()

@ -0,0 +1,104 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from gnuradio import blocks
from gnuradio import gr
import signal
import sys
import threading
import time
import osmosdr
import embedded_915 as my_freq
from common.runtime import load_root_env, resolve_hackrf_index
load_root_env(__file__)
def get_hack_id():
return resolve_hackrf_index('hack_915', 'src/main_915.py')
class get_center_freq(gr.top_block):
def __init__(self):
gr.top_block.__init__(self, 'get_center_freq')
self.prob_freq = 0
self.samp_rate = 20e6
self.poll_rate = 10000
self.vector_len = 4096
self.center_freq = my_freq.work(self.prob_freq)
self._prob_freq_thread = None
self.probSigVec = blocks.probe_signal_vc(self.vector_len)
self.rtlsdr_source_0 = osmosdr.source(
args='numchan=' + str(1) + ' ' + 'hackrf=' + get_hack_id()
)
self.rtlsdr_source_0.set_time_unknown_pps(osmosdr.time_spec_t())
self.rtlsdr_source_0.set_sample_rate(self.samp_rate)
self.rtlsdr_source_0.set_center_freq(self.center_freq, 0)
self.rtlsdr_source_0.set_freq_corr(0, 0)
self.rtlsdr_source_0.set_gain(24, 0)
self.rtlsdr_source_0.set_if_gain(24, 0)
self.rtlsdr_source_0.set_bb_gain(100, 0)
self.rtlsdr_source_0.set_antenna('', 0)
self.rtlsdr_source_0.set_bandwidth(0, 0)
self.rtlsdr_source_0.set_min_output_buffer(self.vector_len)
self.blocks_stream_to_vector_1 = blocks.stream_to_vector(gr.sizeof_gr_complex * 1, self.vector_len)
self.connect((self.blocks_stream_to_vector_1, 0), (self.probSigVec, 0))
self.connect((self.rtlsdr_source_0, 0), (self.blocks_stream_to_vector_1, 0))
def _prob_freq_probe():
while True:
val = self.probSigVec.level()
try:
self.set_prob_freq(val)
except AttributeError:
pass
time.sleep(1.0 / self.poll_rate)
self._prob_freq_thread = threading.Thread(target=_prob_freq_probe, daemon=True)
self._prob_freq_thread.start()
def get_prob_freq(self):
return self.prob_freq
def set_prob_freq(self, prob_freq):
self.prob_freq = prob_freq
self.set_center_freq(my_freq.work(self.prob_freq))
def get_center_freq(self):
return self.center_freq
def set_center_freq(self, center_freq):
self.center_freq = center_freq
self.rtlsdr_source_0.set_center_freq(self.center_freq, 0)
def main(top_block_cls=get_center_freq, options=None):
tb = top_block_cls()
def sig_handler(sig=None, frame=None):
tb.stop()
tb.wait()
sys.exit(0)
signal.signal(signal.SIGINT, sig_handler)
signal.signal(signal.SIGTERM, sig_handler)
tb.start()
try:
print('СЕРВИСНАЯ ИНФОРМАЦИЯ: ')
print('debug_flag: ', my_freq.debug_flag)
print('save_data_flag: ', my_freq.save_data_flag)
print('send_to_module_flag: ', my_freq.send_to_module_flag)
except EOFError:
pass
tb.wait()
if __name__ == '__main__':
main()

@ -0,0 +1,284 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "4fdb98fc-65bb-467e-be0c-168fee9b0fca",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cuda:0\n"
]
},
{
"data": {
"text/plain": [
"<contextlib.ExitStack at 0x272800ef510>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import time\n",
"import io\n",
"import cv2\n",
"import copy\n",
"import os\n",
"from tqdm import tqdm\n",
"import torch.nn as nn\n",
"import torch\n",
"import torchvision\n",
"from torch.utils.data import Dataset\n",
"from torch import default_generator, randperm\n",
"from PIL import Image\n",
"#from torch._utils import _accumulate\n",
"import csv\n",
"from torch.utils.data.dataset import Subset\n",
"from scipy import ndimage\n",
"device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n",
"print(device)\n",
"batch_size = 16\n",
"momentum=0.9\n",
"lr = 1e-3\n",
"import random\n",
"sub_sample = 0.5\n",
"import matplotlib\n",
"import gc\n",
"import torchsig.utils as u\n",
"import torchsig.transforms.transforms as T\n",
"matplotlib.use('Agg')\n",
"import matplotlib as mpl\n",
"mpl.rcParams['agg.path.chunksize'] = 256*256\n",
"plt.ioff()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "4848b066-2e09-4c1c-b8fa-8e3fa84d907a",
"metadata": {},
"outputs": [],
"source": [
"s = T.Spectrogram(nperseg=1024)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "9267fbe1",
"metadata": {},
"outputs": [],
"source": [
"def sig2pic_with_spec(path_to_data, filename, specT=None,figsize=(16,16), dpi=16, resize = None):\n",
" try:\n",
" if specT is None:\n",
" specT = T.Spectrogram(nperseg=1024)\n",
" with open(path_to_data + filename, 'rb') as file:\n",
" tmp = np.frombuffer(file.read(), dtype=np.complex64)\n",
" signal = tmp\n",
" spectr = np.array(specT(signal)['data']['samples'][:,:figsize[0] * dpi])\n",
" mag = np.abs(signal)\n",
" real = signal.real\n",
"\n",
" fig2 = plt.figure(figsize = figsize)\n",
" plt.axes(ylim=(-1, 1))\n",
"\n",
" plt.plot(real, color='black')\n",
" plt.gca().set_axis_off()\n",
" plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0)\n",
" plt.margins(0,0)\n",
" buf2 = io.BytesIO()\n",
" fig2.savefig(buf2, format=\"png\", dpi=dpi)\n",
" buf2.seek(0)\n",
" img_arr2 = np.frombuffer(buf2.getvalue(), dtype=np.uint8)\n",
" buf2.close()\n",
" img2 = cv2.imdecode(img_arr2, 1)\n",
" img2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" plt.close(fig2)\n",
"\n",
" fig3 = plt.figure(figsize = figsize)\n",
" plt.axes(ylim=(-1, 1))\n",
"\n",
" plt.plot(mag, color='black')\n",
" plt.gca().set_axis_off()\n",
" plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0)\n",
" plt.margins(0,0)\n",
" buf3 = io.BytesIO()\n",
" fig3.savefig(buf3, format=\"png\", dpi=dpi)\n",
" buf3.seek(0)\n",
" img_arr3 = np.frombuffer(buf3.getvalue(), dtype=np.uint8)\n",
" buf3.close()\n",
" img3 = cv2.imdecode(img_arr3, 1)\n",
" img3 = cv2.cvtColor(img3, cv2.COLOR_BGR2GRAY)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" plt.close(fig3)\n",
"\n",
" if resize != None:\n",
" resized_real = cv2.resize(img2, resize)\n",
" resized_mag = cv2.resize(img3, resize)\n",
" resized_spectr = cv2.resize(spectr, resize)\n",
" img = np.asarray([resized_real, resized_mag, resized_spectr], dtype=np.float32)\n",
" return img\n",
" img = np.asarray([img2, img3, spectr], dtype=np.float32)\n",
" return img\n",
" except Exception as e:\n",
" print(str(e))\n",
" return None"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "448da74a-e0ae-44d8-9877-8dd1f257a24f",
"metadata": {},
"outputs": [],
"source": [
"path_to_binaries = '//192.168.11.63/data/DATASETS/Energomash/1200'\n",
"path_to_pictures = '//192.168.11.63/data/DATASETS/Energomash/1200_jpg'"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "ac4945a8-29c4-4da4-945f-08658953e3e5",
"metadata": {},
"outputs": [],
"source": [
"from tqdm import tqdm"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "6f226f86-5d72-4573-8af6-750128b70263",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
" 0%| | 0/963 [00:00<?, ?it/s]C:\\Users\\snytk\\miniconda3\\envs\\python311\\Lib\\site-packages\\scipy\\signal\\_spectral_py.py:1936: RuntimeWarning: overflow encountered in multiply\n",
" result = np.conjugate(result) * result\n",
"C:\\Users\\snytk\\miniconda3\\envs\\python311\\Lib\\site-packages\\scipy\\signal\\_spectral_py.py:1938: RuntimeWarning: invalid value encountered in multiply\n",
" result *= scale\n",
"100%|████████████████████████████████████████████████████████████████████████████████| 963/963 [17:40<00:00, 1.10s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: drone finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|████████████████████████████████████████████████████████████████████████████████| 963/963 [51:41<00:00, 3.22s/it]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: noise finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
}
],
"source": [
"size = (256,256)\n",
"if not os.path.exists(path_to_pictures):\n",
" os.mkdir(path_to_pictures)\n",
"for subdir in os.listdir(path_to_binaries):\n",
" filepath = path_to_binaries + '/' + subdir + '/'\n",
" if not os.path.exists(path_to_pictures +'/' + subdir):\n",
" os.mkdir(path_to_pictures + '/' + subdir)\n",
" files = os.listdir(filepath)\n",
" for file in tqdm(files):\n",
" savepath = path_to_pictures +'/' + subdir + '/' + file + '.npy'\n",
" savepath_real_png = path_to_pictures +'/' + subdir + '/' + file + '_real' + '.png' \n",
" savepath_imag_png = path_to_pictures +'/' + subdir + '/' + file + '_imag' + '.png' \n",
" savepath_spec_png = path_to_pictures +'/' + subdir + '/' + file + '_spec' + '.png'\n",
" if not os.path.exists(savepath):\n",
" img = sig2pic_with_spec(path_to_data=filepath, filename=file, specT=s, resize = size)\n",
" gc.collect()\n",
" try:\n",
" \n",
" plt.imshow(img[0])\n",
" plt.savefig(savepath_real_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" plt.imshow(img[1])\n",
" plt.savefig(savepath_imag_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
"\n",
" plt.imshow(img[2])\n",
" plt.savefig(savepath_spec_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" np.save(savepath, img)\n",
" \n",
" except Exception:\n",
" continue\n",
" print('Dir: ', subdir , ' finished!')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "6f4bf849",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

@ -0,0 +1,270 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "4fdb98fc-65bb-467e-be0c-168fee9b0fca",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cuda:0\n"
]
},
{
"data": {
"text/plain": [
"<contextlib.ExitStack at 0x25775eabcd0>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import time\n",
"import io\n",
"import cv2\n",
"import copy\n",
"import os\n",
"from tqdm import tqdm\n",
"import torch.nn as nn\n",
"import torch\n",
"import torchvision\n",
"from torch.utils.data import Dataset\n",
"from torch import default_generator, randperm\n",
"from PIL import Image\n",
"#from torch._utils import _accumulate\n",
"import csv\n",
"from torch.utils.data.dataset import Subset\n",
"from scipy import ndimage\n",
"device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n",
"print(device)\n",
"batch_size = 16\n",
"momentum=0.9\n",
"lr = 1e-3\n",
"import random\n",
"sub_sample = 0.5\n",
"import matplotlib\n",
"import gc\n",
"import torchsig.utils as u\n",
"import torchsig.transforms.transforms as T\n",
"matplotlib.use('Agg')\n",
"import matplotlib as mpl\n",
"mpl.rcParams['agg.path.chunksize'] = 256*256\n",
"plt.ioff()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "4848b066-2e09-4c1c-b8fa-8e3fa84d907a",
"metadata": {},
"outputs": [],
"source": [
"s = T.Spectrogram(nperseg=256)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "9267fbe1",
"metadata": {},
"outputs": [],
"source": [
"def sig2pic_with_spec(path_to_data, filename, specT=None,figsize=(16,16), dpi=16, resize = None):\n",
" try:\n",
" if specT is None:\n",
" specT = T.Spectrogram(nperseg=256)\n",
" with open(path_to_data + filename, 'rb') as file:\n",
" tmp = np.frombuffer(file.read(), dtype=np.complex64)\n",
" signal = tmp\n",
" spectr = np.array(specT(signal)['data']['samples'][:,:figsize[0] * dpi])\n",
" mag = np.abs(signal)\n",
" real = signal.real\n",
"\n",
" fig2 = plt.figure(figsize = figsize)\n",
" plt.axes(ylim=(-1, 1))\n",
"\n",
" plt.plot(real, color='black')\n",
" plt.gca().set_axis_off()\n",
" plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0)\n",
" plt.margins(0,0)\n",
" buf2 = io.BytesIO()\n",
" fig2.savefig(buf2, format=\"png\", dpi=dpi)\n",
" buf2.seek(0)\n",
" img_arr2 = np.frombuffer(buf2.getvalue(), dtype=np.uint8)\n",
" buf2.close()\n",
" img2 = cv2.imdecode(img_arr2, 1)\n",
" img2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" plt.close(fig2)\n",
"\n",
" fig3 = plt.figure(figsize = figsize)\n",
" plt.axes(ylim=(-1, 1))\n",
"\n",
" plt.plot(mag, color='black')\n",
" plt.gca().set_axis_off()\n",
" plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0)\n",
" plt.margins(0,0)\n",
" buf3 = io.BytesIO()\n",
" fig3.savefig(buf3, format=\"png\", dpi=dpi)\n",
" buf3.seek(0)\n",
" img_arr3 = np.frombuffer(buf3.getvalue(), dtype=np.uint8)\n",
" buf3.close()\n",
" img3 = cv2.imdecode(img_arr3, 1)\n",
" img3 = cv2.cvtColor(img3, cv2.COLOR_BGR2GRAY)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" plt.close(fig3)\n",
"\n",
" if resize != None:\n",
" resized_real = cv2.resize(img2, resize)\n",
" resized_mag = cv2.resize(img3, resize)\n",
" resized_spectr = cv2.resize(spectr, resize)\n",
" img = np.asarray([resized_real, resized_mag, resized_spectr], dtype=np.float32)\n",
" return img\n",
" img = np.asarray([img2, img3, spectr], dtype=np.float32)\n",
" return img\n",
" except Exception as e:\n",
" print(str(e))\n",
" return None"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "448da74a-e0ae-44d8-9877-8dd1f257a24f",
"metadata": {},
"outputs": [],
"source": [
"path_to_binaries = '//192.168.11.63/data/DATASETS/Energomash/2400'\n",
"path_to_pictures = '//192.168.11.63/data/DATASETS/Energomash/2400_jpg'"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "ac4945a8-29c4-4da4-945f-08658953e3e5",
"metadata": {},
"outputs": [],
"source": [
"from tqdm import tqdm"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "6f226f86-5d72-4573-8af6-750128b70263",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
" 0%| | 0/965 [00:00<?, ?it/s]C:\\Users\\snytk\\miniconda3\\envs\\python311\\Lib\\site-packages\\scipy\\signal\\_spectral_py.py:1936: RuntimeWarning: overflow encountered in multiply\n",
" result = np.conjugate(result) * result\n",
"C:\\Users\\snytk\\miniconda3\\envs\\python311\\Lib\\site-packages\\scipy\\signal\\_spectral_py.py:1938: RuntimeWarning: invalid value encountered in multiply\n",
" result *= scale\n",
"100%|████████████████████████████████████████████████████████████████████████████████| 965/965 [28:11<00:00, 1.75s/it]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: noise finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
}
],
"source": [
"size = (256,256)\n",
"if not os.path.exists(path_to_pictures):\n",
" os.mkdir(path_to_pictures)\n",
"for subdir in os.listdir(path_to_binaries):\n",
" filepath = path_to_binaries + '/' + subdir + '/'\n",
" if not os.path.exists(path_to_pictures +'/' + subdir):\n",
" os.mkdir(path_to_pictures + '/' + subdir)\n",
" files = os.listdir(filepath)\n",
" for file in tqdm(files):\n",
" savepath = path_to_pictures +'/' + subdir + '/' + file + '.npy'\n",
" savepath_real_png = path_to_pictures +'/' + subdir + '/' + file + '_real' + '.png' \n",
" savepath_imag_png = path_to_pictures +'/' + subdir + '/' + file + '_imag' + '.png' \n",
" savepath_spec_png = path_to_pictures +'/' + subdir + '/' + file + '_spec' + '.png'\n",
" if not os.path.exists(savepath):\n",
" img = sig2pic_with_spec(path_to_data=filepath, filename=file, specT=s, resize = size)\n",
" gc.collect()\n",
" try:\n",
" \n",
" plt.imshow(img[0])\n",
" plt.savefig(savepath_real_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" plt.imshow(img[1])\n",
" plt.savefig(savepath_imag_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
"\n",
" plt.imshow(img[2])\n",
" plt.savefig(savepath_spec_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" np.save(savepath, img)\n",
" \n",
" except Exception:\n",
" continue\n",
" print('Dir: ', subdir , ' finished!')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "106b1add",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

@ -0,0 +1,270 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "4fdb98fc-65bb-467e-be0c-168fee9b0fca",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cuda:0\n"
]
},
{
"data": {
"text/plain": [
"<contextlib.ExitStack at 0x25775eabcd0>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import time\n",
"import io\n",
"import cv2\n",
"import copy\n",
"import os\n",
"from tqdm import tqdm\n",
"import torch.nn as nn\n",
"import torch\n",
"import torchvision\n",
"from torch.utils.data import Dataset\n",
"from torch import default_generator, randperm\n",
"from PIL import Image\n",
"#from torch._utils import _accumulate\n",
"import csv\n",
"from torch.utils.data.dataset import Subset\n",
"from scipy import ndimage\n",
"device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n",
"print(device)\n",
"batch_size = 16\n",
"momentum=0.9\n",
"lr = 1e-3\n",
"import random\n",
"sub_sample = 0.5\n",
"import matplotlib\n",
"import gc\n",
"import torchsig.utils as u\n",
"import torchsig.transforms.transforms as T\n",
"matplotlib.use('Agg')\n",
"import matplotlib as mpl\n",
"mpl.rcParams['agg.path.chunksize'] = 256*256\n",
"plt.ioff()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "4848b066-2e09-4c1c-b8fa-8e3fa84d907a",
"metadata": {},
"outputs": [],
"source": [
"s = T.Spectrogram(nperseg=256)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "9267fbe1",
"metadata": {},
"outputs": [],
"source": [
"def sig2pic_with_spec(path_to_data, filename, specT=None,figsize=(16,16), dpi=16, resize = None):\n",
" try:\n",
" if specT is None:\n",
" specT = T.Spectrogram(nperseg=256)\n",
" with open(path_to_data + filename, 'rb') as file:\n",
" tmp = np.frombuffer(file.read(), dtype=np.complex64)\n",
" signal = tmp\n",
" spectr = np.array(specT(signal)['data']['samples'][:,:figsize[0] * dpi])\n",
" mag = np.abs(signal)\n",
" real = signal.real\n",
"\n",
" fig2 = plt.figure(figsize = figsize)\n",
" plt.axes(ylim=(-1, 1))\n",
"\n",
" plt.plot(real, color='black')\n",
" plt.gca().set_axis_off()\n",
" plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0)\n",
" plt.margins(0,0)\n",
" buf2 = io.BytesIO()\n",
" fig2.savefig(buf2, format=\"png\", dpi=dpi)\n",
" buf2.seek(0)\n",
" img_arr2 = np.frombuffer(buf2.getvalue(), dtype=np.uint8)\n",
" buf2.close()\n",
" img2 = cv2.imdecode(img_arr2, 1)\n",
" img2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" plt.close(fig2)\n",
"\n",
" fig3 = plt.figure(figsize = figsize)\n",
" plt.axes(ylim=(-1, 1))\n",
"\n",
" plt.plot(mag, color='black')\n",
" plt.gca().set_axis_off()\n",
" plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0)\n",
" plt.margins(0,0)\n",
" buf3 = io.BytesIO()\n",
" fig3.savefig(buf3, format=\"png\", dpi=dpi)\n",
" buf3.seek(0)\n",
" img_arr3 = np.frombuffer(buf3.getvalue(), dtype=np.uint8)\n",
" buf3.close()\n",
" img3 = cv2.imdecode(img_arr3, 1)\n",
" img3 = cv2.cvtColor(img3, cv2.COLOR_BGR2GRAY)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" plt.close(fig3)\n",
"\n",
" if resize != None:\n",
" resized_real = cv2.resize(img2, resize)\n",
" resized_mag = cv2.resize(img3, resize)\n",
" resized_spectr = cv2.resize(spectr, resize)\n",
" img = np.asarray([resized_real, resized_mag, resized_spectr], dtype=np.float32)\n",
" return img\n",
" img = np.asarray([img2, img3, spectr], dtype=np.float32)\n",
" return img\n",
" except Exception as e:\n",
" print(str(e))\n",
" return None"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "448da74a-e0ae-44d8-9877-8dd1f257a24f",
"metadata": {},
"outputs": [],
"source": [
"path_to_binaries = '//192.168.11.63/data/DATASETS/Energomash/2400'\n",
"path_to_pictures = '//192.168.11.63/data/DATASETS/Energomash/2400_jpg'"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "ac4945a8-29c4-4da4-945f-08658953e3e5",
"metadata": {},
"outputs": [],
"source": [
"from tqdm import tqdm"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "6f226f86-5d72-4573-8af6-750128b70263",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
" 0%| | 0/965 [00:00<?, ?it/s]C:\\Users\\snytk\\miniconda3\\envs\\python311\\Lib\\site-packages\\scipy\\signal\\_spectral_py.py:1936: RuntimeWarning: overflow encountered in multiply\n",
" result = np.conjugate(result) * result\n",
"C:\\Users\\snytk\\miniconda3\\envs\\python311\\Lib\\site-packages\\scipy\\signal\\_spectral_py.py:1938: RuntimeWarning: invalid value encountered in multiply\n",
" result *= scale\n",
"100%|████████████████████████████████████████████████████████████████████████████████| 965/965 [28:11<00:00, 1.75s/it]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: noise finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
}
],
"source": [
"size = (256,256)\n",
"if not os.path.exists(path_to_pictures):\n",
" os.mkdir(path_to_pictures)\n",
"for subdir in os.listdir(path_to_binaries):\n",
" filepath = path_to_binaries + '/' + subdir + '/'\n",
" if not os.path.exists(path_to_pictures +'/' + subdir):\n",
" os.mkdir(path_to_pictures + '/' + subdir)\n",
" files = os.listdir(filepath)\n",
" for file in tqdm(files):\n",
" savepath = path_to_pictures +'/' + subdir + '/' + file + '.npy'\n",
" savepath_real_png = path_to_pictures +'/' + subdir + '/' + file + '_real' + '.png' \n",
" savepath_imag_png = path_to_pictures +'/' + subdir + '/' + file + '_imag' + '.png' \n",
" savepath_spec_png = path_to_pictures +'/' + subdir + '/' + file + '_spec' + '.png'\n",
" if not os.path.exists(savepath):\n",
" img = sig2pic_with_spec(path_to_data=filepath, filename=file, specT=s, resize = size)\n",
" gc.collect()\n",
" try:\n",
" \n",
" plt.imshow(img[0])\n",
" plt.savefig(savepath_real_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" plt.imshow(img[1])\n",
" plt.savefig(savepath_imag_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
"\n",
" plt.imshow(img[2])\n",
" plt.savefig(savepath_spec_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" np.save(savepath, img)\n",
" \n",
" except Exception:\n",
" continue\n",
" print('Dir: ', subdir , ' finished!')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "106b1add",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

@ -0,0 +1,428 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "4fdb98fc-65bb-467e-be0c-168fee9b0fca",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cuda:0\n"
]
},
{
"data": {
"text/plain": [
"<contextlib.ExitStack at 0x73285e4f6300>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import time\n",
"import io\n",
"import cv2\n",
"import copy\n",
"import os\n",
"from tqdm import tqdm\n",
"import torch.nn as nn\n",
"import torch\n",
"import torchvision\n",
"from torch.utils.data import Dataset\n",
"from torch import default_generator, randperm\n",
"from PIL import Image\n",
"#from torch._utils import _accumulate\n",
"import csv\n",
"from torch.utils.data.dataset import Subset\n",
"from scipy import ndimage\n",
"device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n",
"print(device)\n",
"batch_size = 16\n",
"momentum=0.9\n",
"lr = 1e-3\n",
"import random\n",
"sub_sample = 0.5\n",
"import matplotlib\n",
"import gc\n",
"import torchsig.utils as u\n",
"import torchsig.transforms.transforms as T\n",
"matplotlib.use('Agg')\n",
"import matplotlib as mpl\n",
"mpl.rcParams['agg.path.chunksize'] = 256*256\n",
"plt.ioff()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "4848b066-2e09-4c1c-b8fa-8e3fa84d907a",
"metadata": {},
"outputs": [],
"source": [
"s = T.Spectrogram(nperseg=256)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "9267fbe1",
"metadata": {},
"outputs": [],
"source": [
"def sig2pic_with_spec(path_to_data, filename, specT=None, figsize=(16,16), dpi=16, resize = None):\n",
" def standartize_signal(signal):\n",
" mean = np.mean(signal)\n",
" std = np.std(signal)\n",
" standardized_signal = (signal - mean) / std\n",
" return standardized_signal\n",
" \n",
" try:\n",
" if specT is None:\n",
" specT = T.Spectrogram(nperseg=256)\n",
" with open(path_to_data + filename, 'rb') as file:\n",
" tmp = np.frombuffer(file.read(), dtype=np.complex64)\n",
" signal = tmp\n",
" print(len(signal))\n",
" spectr = np.array(specT(signal)['data']['samples'][:,:figsize[0] * dpi])\n",
" mag = np.abs(signal)\n",
" mag = standartize_signal(mag)\n",
" real = signal.real\n",
" real = standartize_signal(real)\n",
"\n",
" fig2 = plt.figure(figsize = figsize)\n",
" plt.axes(ylim=(-1, 1))\n",
"\n",
" plt.plot(real, color='black')\n",
" plt.gca().set_axis_off()\n",
" plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0)\n",
" plt.margins(0,0)\n",
" buf2 = io.BytesIO()\n",
" fig2.savefig(buf2, format=\"png\", dpi=dpi)\n",
" buf2.seek(0)\n",
" img_arr2 = np.frombuffer(buf2.getvalue(), dtype=np.uint8)\n",
" buf2.close()\n",
" img2 = cv2.imdecode(img_arr2, 1)\n",
" img2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" plt.close(fig2)\n",
"\n",
" fig3 = plt.figure(figsize = figsize)\n",
" plt.axes(ylim=(-1, 1))\n",
"\n",
" plt.plot(mag, color='black')\n",
" plt.gca().set_axis_off()\n",
" plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0)\n",
" plt.margins(0,0)\n",
" buf3 = io.BytesIO()\n",
" fig3.savefig(buf3, format=\"png\", dpi=dpi)\n",
" buf3.seek(0)\n",
" img_arr3 = np.frombuffer(buf3.getvalue(), dtype=np.uint8)\n",
" buf3.close()\n",
" img3 = cv2.imdecode(img_arr3, 1)\n",
" img3 = cv2.cvtColor(img3, cv2.COLOR_BGR2GRAY)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" plt.close(fig3)\n",
"\n",
" if resize != None:\n",
" resized_real = cv2.resize(img2, resize)\n",
" resized_mag = cv2.resize(img3, resize)\n",
" resized_spectr = cv2.resize(spectr, resize)\n",
" img = np.asarray([resized_real, resized_mag, resized_spectr], dtype=np.float32)\n",
" return img\n",
" img = np.asarray([img2, img3, spectr], dtype=np.float32)\n",
" return img\n",
" except Exception as e:\n",
" print(str(e))\n",
" return None\n",
"\n",
"def plot_signal_and_magnitude(path_to_data, filename, filename_signal):\n",
" def remove_outliers(signal, threshold):\n",
" filtered_signal = np.where(np.abs(signal) <= threshold, signal, np.nan)\n",
" return np.nan_to_num(filtered_signal)\n",
" \n",
" def standartize_signal(signal):\n",
" mean = np.mean(signal)\n",
" std = np.std(signal)\n",
" standardized_signal = (signal - mean) / std\n",
" return standardized_signal\n",
" \n",
" with open(path_to_data + filename, 'rb') as file:\n",
" signal = np.frombuffer(file.read(), dtype=np.complex64)\n",
" print(max(np.real(signal)))\n",
" print(signal[:100])\n",
" plt.figure(figsize=(12, 6))\n",
" plt.subplot(2, 1, 1)\n",
" plt.plot(remove_outliers(standartize_signal(np.real(signal)),1)[10000:], label='Real Part')\n",
" plt.plot(remove_outliers(standartize_signal(np.imag(signal)),1)[10000:], label='Imaginary Part')\n",
" plt.title('QAM Signal')\n",
" plt.legend()\n",
" plt.subplot(2, 1, 2)\n",
" plt.plot(np.abs(signal), label='Magnitude')\n",
" plt.title('Magnitude of QAM Signal')\n",
" plt.legend()\n",
" plt.tight_layout()\n",
" plt.savefig(filename_signal)\n",
" plt.close()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "448da74a-e0ae-44d8-9877-8dd1f257a24f",
"metadata": {},
"outputs": [],
"source": [
"path_to_binaries = '/home/sibscience/Datasets/915_9K'\n",
"path_to_pictures = '/home/sibscience/Datasets/915_9K_jpg'"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "ac4945a8-29c4-4da4-945f-08658953e3e5",
"metadata": {},
"outputs": [],
"source": [
"from tqdm import tqdm"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "6a5f4c51",
"metadata": {},
"outputs": [
{
"ename": "FileNotFoundError",
"evalue": "[Errno 2] No such file or directory: '/home/sibscience/Datasets/915_9K_jpg'",
"output_type": "error",
"traceback": [
"\u001b[31m---------------------------------------------------------------------------\u001b[39m",
"\u001b[31mFileNotFoundError\u001b[39m Traceback (most recent call last)",
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[7]\u001b[39m\u001b[32m, line 3\u001b[39m\n\u001b[32m 1\u001b[39m size = (\u001b[32m256\u001b[39m,\u001b[32m256\u001b[39m)\n\u001b[32m 2\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m os.path.exists(path_to_pictures):\n\u001b[32m----> \u001b[39m\u001b[32m3\u001b[39m \u001b[43mos\u001b[49m\u001b[43m.\u001b[49m\u001b[43mmkdir\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpath_to_pictures\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 4\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m subdir \u001b[38;5;129;01min\u001b[39;00m os.listdir(path_to_binaries):\n\u001b[32m 5\u001b[39m filepath = path_to_binaries + \u001b[33m'\u001b[39m\u001b[33m/\u001b[39m\u001b[33m'\u001b[39m + subdir + \u001b[33m'\u001b[39m\u001b[33m/\u001b[39m\u001b[33m'\u001b[39m\n",
"\u001b[31mFileNotFoundError\u001b[39m: [Errno 2] No such file or directory: '/home/sibscience/Datasets/915_9K_jpg'"
]
}
],
"source": [
"size = (256,256)\n",
"if not os.path.exists(path_to_pictures):\n",
" os.mkdir(path_to_pictures)\n",
"for subdir in os.listdir(path_to_binaries):\n",
" filepath = path_to_binaries + '/' + subdir + '/'\n",
" if not os.path.exists(path_to_pictures +'/' + subdir):\n",
" os.mkdir(path_to_pictures + '/' + subdir)\n",
" files = os.listdir(filepath)\n",
" for file in tqdm(files):\n",
" savepath = path_to_pictures +'/' + subdir + '/' + file + '.npy'\n",
" savepath_real_png = path_to_pictures +'/' + subdir + '/' + file + '.png' \n",
" if not os.path.exists(savepath):\n",
" img = plot_signal_and_magnitude(path_to_data=filepath, filename=file, filename_signal= savepath_real_png)\n",
" gc.collect()\n",
" print('Dir: ', subdir , ' finished!')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "6f226f86-5d72-4573-8af6-750128b70263",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r\n",
" 0%| | 0/565 [00:00<?, ?it/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"800016\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r\n",
" 28%|█████████████████████▉ | 157/565 [00:01<00:02, 145.94it/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"800016\n",
"800016\n",
"800016\n",
"800016\n",
"800016\n",
"800016\n",
"800016\n",
"800016\n",
"800016\n",
"800016\n",
"800016\n",
"800016\n",
"800016\n",
"800016\n",
"800016\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\r\n",
" 30%|████████████████████████▎ | 172/565 [00:15<00:46, 8.38it/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"800016\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 31%|████████████████████████▍ | 173/565 [00:16<00:37, 10.59it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"800016\n"
]
},
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
"Cell \u001b[1;32mIn[10], line 15\u001b[0m\n\u001b[0;32m 13\u001b[0m savepath_spec_png \u001b[38;5;241m=\u001b[39m path_to_pictures \u001b[38;5;241m+\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m/\u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;241m+\u001b[39m subdir \u001b[38;5;241m+\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m/\u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;241m+\u001b[39m file \u001b[38;5;241m+\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m_spec\u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;241m+\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m.png\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[0;32m 14\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mexists(savepath):\n\u001b[1;32m---> 15\u001b[0m img \u001b[38;5;241m=\u001b[39m \u001b[43msig2pic_with_spec\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpath_to_data\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfilepath\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfilename\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfile\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mspecT\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43ms\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mresize\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[43msize\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 16\u001b[0m gc\u001b[38;5;241m.\u001b[39mcollect()\n\u001b[0;32m 17\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n",
"Cell \u001b[1;32mIn[7], line 29\u001b[0m, in \u001b[0;36msig2pic_with_spec\u001b[1;34m(path_to_data, filename, specT, figsize, dpi, resize)\u001b[0m\n\u001b[0;32m 27\u001b[0m plt\u001b[38;5;241m.\u001b[39mmargins(\u001b[38;5;241m0\u001b[39m,\u001b[38;5;241m0\u001b[39m)\n\u001b[0;32m 28\u001b[0m buf2 \u001b[38;5;241m=\u001b[39m io\u001b[38;5;241m.\u001b[39mBytesIO()\n\u001b[1;32m---> 29\u001b[0m \u001b[43mfig2\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msavefig\u001b[49m\u001b[43m(\u001b[49m\u001b[43mbuf2\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mformat\u001b[39;49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mpng\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdpi\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdpi\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 30\u001b[0m buf2\u001b[38;5;241m.\u001b[39mseek(\u001b[38;5;241m0\u001b[39m)\n\u001b[0;32m 31\u001b[0m img_arr2 \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mfrombuffer(buf2\u001b[38;5;241m.\u001b[39mgetvalue(), dtype\u001b[38;5;241m=\u001b[39mnp\u001b[38;5;241m.\u001b[39muint8)\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\matplotlib\\figure.py:3390\u001b[0m, in \u001b[0;36mFigure.savefig\u001b[1;34m(self, fname, transparent, **kwargs)\u001b[0m\n\u001b[0;32m 3388\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m ax \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39maxes:\n\u001b[0;32m 3389\u001b[0m _recursively_make_axes_transparent(stack, ax)\n\u001b[1;32m-> 3390\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcanvas\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mprint_figure\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfname\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\matplotlib\\backend_bases.py:2193\u001b[0m, in \u001b[0;36mFigureCanvasBase.print_figure\u001b[1;34m(self, filename, dpi, facecolor, edgecolor, orientation, format, bbox_inches, pad_inches, bbox_extra_artists, backend, **kwargs)\u001b[0m\n\u001b[0;32m 2189\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m 2190\u001b[0m \u001b[38;5;66;03m# _get_renderer may change the figure dpi (as vector formats\u001b[39;00m\n\u001b[0;32m 2191\u001b[0m \u001b[38;5;66;03m# force the figure dpi to 72), so we need to set it again here.\u001b[39;00m\n\u001b[0;32m 2192\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m cbook\u001b[38;5;241m.\u001b[39m_setattr_cm(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfigure, dpi\u001b[38;5;241m=\u001b[39mdpi):\n\u001b[1;32m-> 2193\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43mprint_method\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 2194\u001b[0m \u001b[43m \u001b[49m\u001b[43mfilename\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 2195\u001b[0m \u001b[43m \u001b[49m\u001b[43mfacecolor\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfacecolor\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 2196\u001b[0m \u001b[43m \u001b[49m\u001b[43medgecolor\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43medgecolor\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 2197\u001b[0m \u001b[43m \u001b[49m\u001b[43morientation\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43morientation\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 2198\u001b[0m \u001b[43m \u001b[49m\u001b[43mbbox_inches_restore\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m_bbox_inches_restore\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 2199\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 2200\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[0;32m 2201\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m bbox_inches \u001b[38;5;129;01mand\u001b[39;00m restore_bbox:\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\matplotlib\\backend_bases.py:2043\u001b[0m, in \u001b[0;36mFigureCanvasBase._switch_canvas_and_return_print_method.<locals>.<lambda>\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 2039\u001b[0m optional_kws \u001b[38;5;241m=\u001b[39m { \u001b[38;5;66;03m# Passed by print_figure for other renderers.\u001b[39;00m\n\u001b[0;32m 2040\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdpi\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mfacecolor\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124medgecolor\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124morientation\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m 2041\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mbbox_inches_restore\u001b[39m\u001b[38;5;124m\"\u001b[39m}\n\u001b[0;32m 2042\u001b[0m skip \u001b[38;5;241m=\u001b[39m optional_kws \u001b[38;5;241m-\u001b[39m {\u001b[38;5;241m*\u001b[39minspect\u001b[38;5;241m.\u001b[39msignature(meth)\u001b[38;5;241m.\u001b[39mparameters}\n\u001b[1;32m-> 2043\u001b[0m print_method \u001b[38;5;241m=\u001b[39m functools\u001b[38;5;241m.\u001b[39mwraps(meth)(\u001b[38;5;28;01mlambda\u001b[39;00m \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: \u001b[43mmeth\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 2044\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m{\u001b[49m\u001b[43mk\u001b[49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mv\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mk\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mv\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mitems\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mk\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mnot\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mskip\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m)\n\u001b[0;32m 2045\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m: \u001b[38;5;66;03m# Let third-parties do as they see fit.\u001b[39;00m\n\u001b[0;32m 2046\u001b[0m print_method \u001b[38;5;241m=\u001b[39m meth\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\matplotlib\\backends\\backend_agg.py:497\u001b[0m, in \u001b[0;36mFigureCanvasAgg.print_png\u001b[1;34m(self, filename_or_obj, metadata, pil_kwargs)\u001b[0m\n\u001b[0;32m 450\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mprint_png\u001b[39m(\u001b[38;5;28mself\u001b[39m, filename_or_obj, \u001b[38;5;241m*\u001b[39m, metadata\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, pil_kwargs\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[0;32m 451\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m 452\u001b[0m \u001b[38;5;124;03m Write the figure to a PNG file.\u001b[39;00m\n\u001b[0;32m 453\u001b[0m \n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 495\u001b[0m \u001b[38;5;124;03m *metadata*, including the default 'Software' key.\u001b[39;00m\n\u001b[0;32m 496\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m--> 497\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_print_pil\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfilename_or_obj\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mpng\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpil_kwargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmetadata\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\matplotlib\\backends\\backend_agg.py:445\u001b[0m, in \u001b[0;36mFigureCanvasAgg._print_pil\u001b[1;34m(self, filename_or_obj, fmt, pil_kwargs, metadata)\u001b[0m\n\u001b[0;32m 440\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_print_pil\u001b[39m(\u001b[38;5;28mself\u001b[39m, filename_or_obj, fmt, pil_kwargs, metadata\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[0;32m 441\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m 442\u001b[0m \u001b[38;5;124;03m Draw the canvas, then save it using `.image.imsave` (to which\u001b[39;00m\n\u001b[0;32m 443\u001b[0m \u001b[38;5;124;03m *pil_kwargs* and *metadata* are forwarded).\u001b[39;00m\n\u001b[0;32m 444\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m--> 445\u001b[0m \u001b[43mFigureCanvasAgg\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdraw\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m 446\u001b[0m mpl\u001b[38;5;241m.\u001b[39mimage\u001b[38;5;241m.\u001b[39mimsave(\n\u001b[0;32m 447\u001b[0m filename_or_obj, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbuffer_rgba(), \u001b[38;5;28mformat\u001b[39m\u001b[38;5;241m=\u001b[39mfmt, origin\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mupper\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m 448\u001b[0m dpi\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfigure\u001b[38;5;241m.\u001b[39mdpi, metadata\u001b[38;5;241m=\u001b[39mmetadata, pil_kwargs\u001b[38;5;241m=\u001b[39mpil_kwargs)\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\matplotlib\\backends\\backend_agg.py:388\u001b[0m, in \u001b[0;36mFigureCanvasAgg.draw\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 385\u001b[0m \u001b[38;5;66;03m# Acquire a lock on the shared font cache.\u001b[39;00m\n\u001b[0;32m 386\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtoolbar\u001b[38;5;241m.\u001b[39m_wait_cursor_for_draw_cm() \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtoolbar\n\u001b[0;32m 387\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m nullcontext()):\n\u001b[1;32m--> 388\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfigure\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdraw\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrenderer\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 389\u001b[0m \u001b[38;5;66;03m# A GUI class may be need to update a window using this draw, so\u001b[39;00m\n\u001b[0;32m 390\u001b[0m \u001b[38;5;66;03m# don't forget to call the superclass.\u001b[39;00m\n\u001b[0;32m 391\u001b[0m \u001b[38;5;28msuper\u001b[39m()\u001b[38;5;241m.\u001b[39mdraw()\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\matplotlib\\artist.py:95\u001b[0m, in \u001b[0;36m_finalize_rasterization.<locals>.draw_wrapper\u001b[1;34m(artist, renderer, *args, **kwargs)\u001b[0m\n\u001b[0;32m 93\u001b[0m \u001b[38;5;129m@wraps\u001b[39m(draw)\n\u001b[0;32m 94\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mdraw_wrapper\u001b[39m(artist, renderer, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m---> 95\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43mdraw\u001b[49m\u001b[43m(\u001b[49m\u001b[43martist\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 96\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m renderer\u001b[38;5;241m.\u001b[39m_rasterizing:\n\u001b[0;32m 97\u001b[0m renderer\u001b[38;5;241m.\u001b[39mstop_rasterizing()\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\matplotlib\\artist.py:72\u001b[0m, in \u001b[0;36mallow_rasterization.<locals>.draw_wrapper\u001b[1;34m(artist, renderer)\u001b[0m\n\u001b[0;32m 69\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m artist\u001b[38;5;241m.\u001b[39mget_agg_filter() \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m 70\u001b[0m renderer\u001b[38;5;241m.\u001b[39mstart_filter()\n\u001b[1;32m---> 72\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mdraw\u001b[49m\u001b[43m(\u001b[49m\u001b[43martist\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 73\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[0;32m 74\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m artist\u001b[38;5;241m.\u001b[39mget_agg_filter() \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\matplotlib\\figure.py:3154\u001b[0m, in \u001b[0;36mFigure.draw\u001b[1;34m(self, renderer)\u001b[0m\n\u001b[0;32m 3151\u001b[0m \u001b[38;5;66;03m# ValueError can occur when resizing a window.\u001b[39;00m\n\u001b[0;32m 3153\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpatch\u001b[38;5;241m.\u001b[39mdraw(renderer)\n\u001b[1;32m-> 3154\u001b[0m \u001b[43mmimage\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_draw_list_compositing_images\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 3155\u001b[0m \u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43martists\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msuppressComposite\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 3157\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m sfig \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msubfigs:\n\u001b[0;32m 3158\u001b[0m sfig\u001b[38;5;241m.\u001b[39mdraw(renderer)\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\matplotlib\\image.py:132\u001b[0m, in \u001b[0;36m_draw_list_compositing_images\u001b[1;34m(renderer, parent, artists, suppress_composite)\u001b[0m\n\u001b[0;32m 130\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m not_composite \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m has_images:\n\u001b[0;32m 131\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m a \u001b[38;5;129;01min\u001b[39;00m artists:\n\u001b[1;32m--> 132\u001b[0m \u001b[43ma\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdraw\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 133\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 134\u001b[0m \u001b[38;5;66;03m# Composite any adjacent images together\u001b[39;00m\n\u001b[0;32m 135\u001b[0m image_group \u001b[38;5;241m=\u001b[39m []\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\matplotlib\\artist.py:72\u001b[0m, in \u001b[0;36mallow_rasterization.<locals>.draw_wrapper\u001b[1;34m(artist, renderer)\u001b[0m\n\u001b[0;32m 69\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m artist\u001b[38;5;241m.\u001b[39mget_agg_filter() \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m 70\u001b[0m renderer\u001b[38;5;241m.\u001b[39mstart_filter()\n\u001b[1;32m---> 72\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mdraw\u001b[49m\u001b[43m(\u001b[49m\u001b[43martist\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 73\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[0;32m 74\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m artist\u001b[38;5;241m.\u001b[39mget_agg_filter() \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\matplotlib\\axes\\_base.py:3070\u001b[0m, in \u001b[0;36m_AxesBase.draw\u001b[1;34m(self, renderer)\u001b[0m\n\u001b[0;32m 3067\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m artists_rasterized:\n\u001b[0;32m 3068\u001b[0m _draw_rasterized(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfigure, artists_rasterized, renderer)\n\u001b[1;32m-> 3070\u001b[0m \u001b[43mmimage\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_draw_list_compositing_images\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 3071\u001b[0m \u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43martists\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfigure\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msuppressComposite\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 3073\u001b[0m renderer\u001b[38;5;241m.\u001b[39mclose_group(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124maxes\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m 3074\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstale \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\matplotlib\\image.py:132\u001b[0m, in \u001b[0;36m_draw_list_compositing_images\u001b[1;34m(renderer, parent, artists, suppress_composite)\u001b[0m\n\u001b[0;32m 130\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m not_composite \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m has_images:\n\u001b[0;32m 131\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m a \u001b[38;5;129;01min\u001b[39;00m artists:\n\u001b[1;32m--> 132\u001b[0m \u001b[43ma\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdraw\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 133\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 134\u001b[0m \u001b[38;5;66;03m# Composite any adjacent images together\u001b[39;00m\n\u001b[0;32m 135\u001b[0m image_group \u001b[38;5;241m=\u001b[39m []\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\matplotlib\\artist.py:72\u001b[0m, in \u001b[0;36mallow_rasterization.<locals>.draw_wrapper\u001b[1;34m(artist, renderer)\u001b[0m\n\u001b[0;32m 69\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m artist\u001b[38;5;241m.\u001b[39mget_agg_filter() \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m 70\u001b[0m renderer\u001b[38;5;241m.\u001b[39mstart_filter()\n\u001b[1;32m---> 72\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mdraw\u001b[49m\u001b[43m(\u001b[49m\u001b[43martist\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 73\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[0;32m 74\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m artist\u001b[38;5;241m.\u001b[39mget_agg_filter() \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\matplotlib\\lines.py:801\u001b[0m, in \u001b[0;36mLine2D.draw\u001b[1;34m(self, renderer)\u001b[0m\n\u001b[0;32m 798\u001b[0m gc\u001b[38;5;241m.\u001b[39mset_foreground(lc_rgba, isRGBA\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[0;32m 800\u001b[0m gc\u001b[38;5;241m.\u001b[39mset_dashes(\u001b[38;5;241m*\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_dash_pattern)\n\u001b[1;32m--> 801\u001b[0m \u001b[43mrenderer\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdraw_path\u001b[49m\u001b[43m(\u001b[49m\u001b[43mgc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtpath\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maffine\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfrozen\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 802\u001b[0m gc\u001b[38;5;241m.\u001b[39mrestore()\n\u001b[0;32m 804\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_marker \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_markersize \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m0\u001b[39m:\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\matplotlib\\backends\\backend_agg.py:117\u001b[0m, in \u001b[0;36mRendererAgg.draw_path\u001b[1;34m(self, gc, path, transform, rgbFace)\u001b[0m\n\u001b[0;32m 115\u001b[0m p\u001b[38;5;241m.\u001b[39msimplify_threshold \u001b[38;5;241m=\u001b[39m path\u001b[38;5;241m.\u001b[39msimplify_threshold\n\u001b[0;32m 116\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m--> 117\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_renderer\u001b[38;5;241m.\u001b[39mdraw_path(gc, p, transform, rgbFace)\n\u001b[0;32m 118\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mOverflowError\u001b[39;00m:\n\u001b[0;32m 119\u001b[0m msg \u001b[38;5;241m=\u001b[39m (\n\u001b[0;32m 120\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mExceeded cell block limit in Agg.\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 121\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mPlease reduce the value of \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 127\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mpath\u001b[38;5;241m.\u001b[39msimplify_threshold\u001b[38;5;132;01m:\u001b[39;00m\u001b[38;5;124m.2f\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m on the input).\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 128\u001b[0m )\n",
"\u001b[1;31mKeyboardInterrupt\u001b[0m: "
]
}
],
"source": [
"size = (256,256)\n",
"if not os.path.exists(path_to_pictures):\n",
" os.mkdir(path_to_pictures)\n",
"for subdir in os.listdir(path_to_binaries):\n",
" filepath = path_to_binaries + '/' + subdir + '/'\n",
" if not os.path.exists(path_to_pictures +'/' + subdir):\n",
" os.mkdir(path_to_pictures + '/' + subdir)\n",
" files = os.listdir(filepath)\n",
" for file in tqdm(files):\n",
" savepath = path_to_pictures +'/' + subdir + '/' + file + '.npy'\n",
" savepath_real_png = path_to_pictures +'/' + subdir + '/' + file + '_real' + '.png' \n",
" savepath_imag_png = path_to_pictures +'/' + subdir + '/' + file + '_imag' + '.png' \n",
" savepath_spec_png = path_to_pictures +'/' + subdir + '/' + file + '_spec' + '.png'\n",
" if not os.path.exists(savepath):\n",
" img = sig2pic_with_spec(path_to_data=filepath, filename=file, specT=s, resize = size)\n",
" gc.collect()\n",
" try:\n",
" \n",
" plt.imshow(img[0])\n",
" plt.savefig(savepath_real_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" plt.imshow(img[1])\n",
" plt.savefig(savepath_imag_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
"\n",
" plt.imshow(img[2])\n",
" plt.savefig(savepath_spec_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" np.save(savepath, img)\n",
" \n",
" except Exception:\n",
" continue\n",
" print('Dir: ', subdir , ' finished!')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "58ff5fbd",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "9f9ad366",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": ".venv-train",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

@ -0,0 +1,564 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"id": "4fdb98fc-65bb-467e-be0c-168fee9b0fca",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cuda:0\n"
]
},
{
"data": {
"text/plain": [
"<contextlib.ExitStack at 0x7d183e4bd220>"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import time\n",
"import io\n",
"import cv2\n",
"import copy\n",
"import os\n",
"from tqdm import tqdm\n",
"import torch.nn as nn\n",
"import torch\n",
"import torchvision\n",
"from torch.utils.data import Dataset\n",
"from torch import default_generator, randperm\n",
"from PIL import Image\n",
"#from torch._utils import _accumulate\n",
"import csv\n",
"from torch.utils.data.dataset import Subset\n",
"from scipy import ndimage\n",
"device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n",
"print(device)\n",
"batch_size = 16\n",
"momentum=0.9\n",
"lr = 1e-3\n",
"import random\n",
"sub_sample = 0.5\n",
"import matplotlib\n",
"import gc\n",
"import torchsig.utils as u\n",
"import torchsig.transforms.transforms as T\n",
"from torchsig.transforms import functional as F\n",
"matplotlib.use('Agg')\n",
"import matplotlib as mpl\n",
"mpl.rcParams['agg.path.chunksize'] = 256*256\n",
"plt.ioff()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "4848b066-2e09-4c1c-b8fa-8e3fa84d907a",
"metadata": {},
"outputs": [],
"source": [
"s = T.Spectrogram(nperseg=1024)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "9267fbe1",
"metadata": {},
"outputs": [],
"source": [
"def sig2pic_with_spec(path_to_data, filename, specT=None,figsize=(16,16), dpi=16, resize = None):\n",
" try:\n",
" if specT is None:\n",
" specT = T.Spectrogram(nperseg=1024)\n",
" with open(path_to_data + filename, 'rb') as file:\n",
" tmp = np.frombuffer(file.read(), dtype=np.complex64)\n",
" signal = tmp\n",
"\n",
" #rint(\"vSE ok\")\n",
"\n",
" spectr = np.array(F.spectrogram(signal, fft_size=specT.fft_size, fft_stride=specT.fft_stride)[:, :figsize[0] * dpi])\n",
" #print(\"VSE OK\")\n",
" mag = np.abs(signal)\n",
" real = signal.real\n",
"\n",
" fig2 = plt.figure(figsize = figsize)\n",
" plt.axes(ylim=(-1, 1))\n",
"\n",
" plt.plot(real, color='black')\n",
" plt.gca().set_axis_off()\n",
" plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0)\n",
" plt.margins(0,0)\n",
" buf2 = io.BytesIO()\n",
" fig2.savefig(buf2, format=\"png\", dpi=dpi)\n",
" buf2.seek(0)\n",
" img_arr2 = np.frombuffer(buf2.getvalue(), dtype=np.uint8)\n",
" buf2.close()\n",
" img2 = cv2.imdecode(img_arr2, 1)\n",
" img2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" plt.close(fig2)\n",
"\n",
" fig3 = plt.figure(figsize = figsize)\n",
" plt.axes(ylim=(-1, 1))\n",
"\n",
" plt.plot(mag, color='black')\n",
" plt.gca().set_axis_off()\n",
" plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0)\n",
" plt.margins(0,0)\n",
" buf3 = io.BytesIO()\n",
" fig3.savefig(buf3, format=\"png\", dpi=dpi)\n",
" buf3.seek(0)\n",
" img_arr3 = np.frombuffer(buf3.getvalue(), dtype=np.uint8)\n",
" buf3.close()\n",
" img3 = cv2.imdecode(img_arr3, 1)\n",
" img3 = cv2.cvtColor(img3, cv2.COLOR_BGR2GRAY)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" plt.close(fig3)\n",
"\n",
" if resize != None:\n",
" resized_real = cv2.resize(img2, resize)\n",
" resized_mag = cv2.resize(img3, resize)\n",
" resized_spectr = cv2.resize(spectr, resize)\n",
" img = np.asarray([resized_real, resized_mag, resized_spectr], dtype=np.float32)\n",
" return img\n",
" img = np.asarray([img2, img3, spectr], dtype=np.float32)\n",
" return img\n",
" except Exception as e:\n",
" print(str(e))\n",
" return None"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "448da74a-e0ae-44d8-9877-8dd1f257a24f",
"metadata": {},
"outputs": [],
"source": [
"selected_freq=750\n",
"\n",
"path_to_binaries = f'/mnt/nvme1/dataset/{selected_freq}'\n",
"path_to_pictures = f'/mnt/nvme1/dataset_img/noise/{selected_freq}_jpg'"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "ac4945a8-29c4-4da4-945f-08658953e3e5",
"metadata": {},
"outputs": [],
"source": [
"from tqdm import tqdm"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "6f226f86-5d72-4573-8af6-750128b70263",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-25_16-59-25: 0%| | 0/40 [00:00<?, ?it/s]"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-25_16-59-25: 100%|██████████| 40/40 [00:47<00:00, 1.18s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-25_16-59-25 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-26_02-59-25: 100%|██████████| 40/40 [00:47<00:00, 1.18s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-26_02-59-25 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-25_14-59-25: 100%|██████████| 40/40 [00:35<00:00, 1.11it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-25_14-59-25 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-26_04-59-26: 100%|██████████| 40/40 [00:49<00:00, 1.23s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-26_04-59-26 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-25_17-59-26: 100%|██████████| 40/40 [00:44<00:00, 1.12s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-25_17-59-26 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-25_20-59-26: 100%|██████████| 40/40 [00:47<00:00, 1.20s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-25_20-59-26 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-25_22-59-25: 100%|██████████| 40/40 [00:45<00:00, 1.13s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-25_22-59-25 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-25_14-56-12: 100%|██████████| 25/25 [00:22<00:00, 1.12it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-25_14-56-12 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-26_00-59-27: 100%|██████████| 40/40 [00:46<00:00, 1.16s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-26_00-59-27 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-25_19-59-25: 100%|██████████| 40/40 [00:44<00:00, 1.11s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-25_19-59-25 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-26_05-59-25: 100%|██████████| 40/40 [00:48<00:00, 1.20s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-26_05-59-25 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-26_08-59-25: 100%|██████████| 40/40 [00:47<00:00, 1.18s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-26_08-59-25 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-26_07-59-25: 100%|██████████| 40/40 [00:46<00:00, 1.16s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-26_07-59-25 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-26_06-59-26: 100%|██████████| 40/40 [00:48<00:00, 1.20s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-26_06-59-26 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-26_01-59-26: 100%|██████████| 40/40 [00:47<00:00, 1.20s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-26_01-59-26 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-25_15-59-26: 100%|██████████| 40/40 [00:45<00:00, 1.14s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-25_15-59-26 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-25_23-59-26: 100%|██████████| 40/40 [00:48<00:00, 1.20s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-25_23-59-26 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-25_21-59-26: 100%|██████████| 40/40 [00:46<00:00, 1.17s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-25_21-59-26 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-25_18-59-25: 100%|██████████| 40/40 [00:47<00:00, 1.19s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-25_18-59-25 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2026-03-26_03-59-26: 100%|██████████| 40/40 [00:47<00:00, 1.19s/it]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: 2026-03-26_03-59-26 finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
}
],
"source": [
"size = (256,256)\n",
"\n",
"if not os.path.exists(path_to_pictures):\n",
" os.mkdir(path_to_pictures)\n",
"\n",
"for subdir in os.listdir(path_to_binaries):\n",
" filepath = path_to_binaries + '/' + subdir + '/'\n",
"\n",
" if not os.path.isdir(filepath):\n",
" continue\n",
"\n",
" files = os.listdir(filepath)\n",
" k = max(1, int(len(files) * 0.04))\n",
" files = random.sample(files, k)\n",
" for file in tqdm(files, desc=subdir):\n",
" full_input_path = filepath + file\n",
"\n",
" if not os.path.isfile(full_input_path):\n",
" continue\n",
"\n",
" if file in ('run.log', 'reading_in_progress'):\n",
" continue\n",
"\n",
" save_base = subdir + '__' + file\n",
"\n",
" savepath = path_to_pictures + '/' + save_base + '.npy'\n",
" savepath_real_png = path_to_pictures + '/' + save_base + '_real' + '.png'\n",
" savepath_imag_png = path_to_pictures + '/' + save_base + '_imag' + '.png'\n",
" savepath_spec_png = path_to_pictures + '/' + save_base + '_spec' + '.png'\n",
"\n",
" if not os.path.exists(savepath):\n",
" img = sig2pic_with_spec(path_to_data=filepath, filename=file, specT=s, resize=size)\n",
" gc.collect()\n",
"\n",
" try:\n",
" plt.imshow(img[0])\n",
" plt.savefig(savepath_real_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
"\n",
" plt.imshow(img[1])\n",
" plt.savefig(savepath_imag_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
"\n",
" plt.imshow(img[2])\n",
" plt.savefig(savepath_spec_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
"\n",
" np.save(savepath, img)\n",
"\n",
" except Exception:\n",
" continue\n",
"\n",
" print('Dir: ', subdir , ' finished!')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "58ff5fbd",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": ".venv-train (3.12.3)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

@ -0,0 +1,222 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "4fdb98fc-65bb-467e-be0c-168fee9b0fca",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cuda:0\n"
]
},
{
"data": {
"text/plain": [
"<contextlib.ExitStack at 0x249d580ff50>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import time\n",
"import io\n",
"import cv2\n",
"import copy\n",
"import os\n",
"from tqdm import tqdm\n",
"import torch.nn as nn\n",
"import torch\n",
"import torchvision\n",
"from torch.utils.data import Dataset\n",
"from torch import default_generator, randperm\n",
"from PIL import Image\n",
"#from torch._utils import _accumulate\n",
"import csv\n",
"from torch.utils.data.dataset import Subset\n",
"from scipy import ndimage\n",
"device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n",
"print(device)\n",
"batch_size = 16\n",
"momentum=0.9\n",
"lr = 1e-3\n",
"import random\n",
"sub_sample = 0.5\n",
"import matplotlib\n",
"import gc\n",
"matplotlib.use('Agg')\n",
"import matplotlib as mpl\n",
"mpl.rcParams['agg.path.chunksize'] = 256*256\n",
"plt.ioff()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "9267fbe1",
"metadata": {},
"outputs": [],
"source": [
"def sig2pic_with_spec(path_to_data, filename, figsize=(16,16), dpi=16, resize = None):\n",
" try:\n",
" array = np.load(path_to_data+filename)\n",
"\n",
" if resize != None:\n",
" resized_real = cv2.resize(array[0], resize)\n",
" resized_mag = cv2.resize(array[1], resize)\n",
" resized_spectr = cv2.resize(array[2], resize)\n",
" img = np.asarray(array, dtype=np.float32)\n",
" return img\n",
" \n",
" img = np.asarray(array, dtype=np.float32)\n",
" return img\n",
" \n",
" except Exception as e:\n",
" print(str(e))\n",
" return None"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "448da74a-e0ae-44d8-9877-8dd1f257a24f",
"metadata": {},
"outputs": [],
"source": [
"path_to_binaries = 'C:/Users/snytk/Lerning_NN_for_work/datasets/2.4_learning'\n",
"path_to_pictures = 'C:/Users/snytk/Lerning_NN_for_work/datasets_jpg/2.4_jpg_learning'"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "ac4945a8-29c4-4da4-945f-08658953e3e5",
"metadata": {},
"outputs": [],
"source": [
"from tqdm import tqdm"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "6f226f86-5d72-4573-8af6-750128b70263",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|████████████████████████████████████████████████████████████████████████████| 8751/8751 [1:01:54<00:00, 2.36it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: drone finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████████████████████████████████████████████████████████████████████| 11202/11202 [1:19:30<00:00, 2.35it/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: noise finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
}
],
"source": [
"size = (256,256)\n",
"if not os.path.exists(path_to_pictures):\n",
" os.mkdir(path_to_pictures)\n",
"for subdir in os.listdir(path_to_binaries):\n",
" filepath = path_to_binaries + '/' + subdir + '/'\n",
" if not os.path.exists(path_to_pictures +'/' + subdir):\n",
" os.mkdir(path_to_pictures + '/' + subdir)\n",
" files = os.listdir(filepath)\n",
" for file in tqdm(files):\n",
" savepath_real_png = path_to_pictures +'/' + subdir + '/' + file + '_real' + '.jpg' \n",
" savepath_imag_png = path_to_pictures +'/' + subdir + '/' + file + '_imag' + '.jpg' \n",
" savepath_spec_png = path_to_pictures +'/' + subdir + '/' + file + '_spec' + '.jpg'\n",
" if not os.path.exists(savepath_real_png):\n",
" img = sig2pic_with_spec(path_to_data=filepath, filename=file, resize = size)\n",
" gc.collect()\n",
" \n",
" try:\n",
" plt.imshow(img[0])\n",
" plt.savefig(savepath_real_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" plt.imshow(img[1])\n",
" plt.savefig(savepath_imag_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
"\n",
" plt.imshow(img[2])\n",
" plt.savefig(savepath_spec_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" except Exception:\n",
" continue\n",
" print('Dir: ', subdir , ' finished!')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "cfbd309d",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

@ -0,0 +1,360 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "4fdb98fc-65bb-467e-be0c-168fee9b0fca",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cuda:0\n"
]
},
{
"data": {
"text/plain": [
"<contextlib.ExitStack at 0x20af0408250>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import time\n",
"import io\n",
"import cv2\n",
"import copy\n",
"import os\n",
"from tqdm import tqdm\n",
"import torch.nn as nn\n",
"import torch\n",
"import torchvision\n",
"from torch.utils.data import Dataset\n",
"from torch import default_generator, randperm\n",
"from PIL import Image\n",
"#from torch._utils import _accumulate\n",
"import csv\n",
"from torch.utils.data.dataset import Subset\n",
"from scipy import ndimage\n",
"device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n",
"print(device)\n",
"batch_size = 16\n",
"momentum=0.9\n",
"lr = 1e-3\n",
"import random\n",
"sub_sample = 0.5\n",
"import matplotlib\n",
"import gc\n",
"matplotlib.use('Agg')\n",
"import matplotlib as mpl\n",
"mpl.rcParams['agg.path.chunksize'] = 256*256\n",
"plt.ioff()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "9267fbe1",
"metadata": {},
"outputs": [],
"source": [
"def sig2pic_with_spec(path_to_data, filename, figsize=(16,16), dpi=16, resize = None):\n",
" try:\n",
" array = np.load(path_to_data+filename)\n",
"\n",
" if resize != None:\n",
" resized_real = cv2.resize(array[0], resize)\n",
" resized_mag = cv2.resize(array[1], resize)\n",
" resized_spectr = cv2.resize(array[2], resize)\n",
" img = np.asarray(array, dtype=np.float32)\n",
" return img\n",
" \n",
" img = np.asarray(array, dtype=np.float32)\n",
" return img\n",
" \n",
" except Exception as e:\n",
" print(str(e))\n",
" return None\n",
" \n",
" \n",
" \n",
"\n",
"def pre_func_ensemble(data=None, src ='', ind_inference=0):\n",
" try:\n",
" import matplotlib.pyplot as plt\n",
" matplotlib.use('Agg')\n",
" plt.ioff()\n",
"\n",
" figsize = (16, 16)\n",
" dpi = 16\n",
"\n",
" signal = np.vectorize(complex)(data[0], data[1])\n",
" #np.save(src + '_inference_2400_' + str(ind_inference) + '.npy', signal)\n",
" spec = transform.Spectrogram(nperseg=256)\n",
" spectr = np.array(spec(signal)[:,:figsize[0] * dpi])\n",
" fig1 = plt.figure(figsize = figsize)\n",
" plt.axes(ylim=(-1, 1))\n",
" sigr = signal.real\n",
" sigi = signal.imag\n",
" \n",
" plt.plot(sigr, color='black')\n",
" plt.gca().set_axis_off()\n",
" plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0)\n",
" plt.margins(0,0)\n",
" buf1 = io.BytesIO()\n",
" fig1.savefig(buf1, format=\"png\", dpi=dpi)\n",
" buf1.seek(0)\n",
" img_arr1 = np.frombuffer(buf1.getvalue(), dtype=np.uint8)\n",
" buf1.close()\n",
" img1 = cv2.imdecode(img_arr1, 1)\n",
" img1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" plt.close(fig1)\n",
"\n",
" fig2 = plt.figure(figsize = figsize)\n",
" plt.axes(ylim=(-1, 1))\n",
" sigr = signal.real\n",
" sigi = signal.imag\n",
" \n",
" plt.plot(sigi, color='black')\n",
" plt.gca().set_axis_off()\n",
" plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0)\n",
" plt.margins(0,0)\n",
" buf = io.BytesIO()\n",
" fig2.savefig(buf, format=\"png\", dpi=dpi)\n",
" buf.seek(0)\n",
" img_arr = np.frombuffer(buf.getvalue(), dtype=np.uint8)\n",
" buf.close()\n",
" img = cv2.imdecode(img_arr, 1)\n",
" img2 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" plt.close(fig2)\n",
"\n",
" img = np.array([img1, img2, spectr])\n",
" \n",
" cv2.destroyAllWindows()\n",
" del signal\n",
" del spec\n",
" del spectr\n",
" del img1\n",
" del img2\n",
" del sigr\n",
" del sigi\n",
" del buf\n",
" del buf1\n",
" del img_arr\n",
" del img_arr1\n",
" cv2.destroyAllWindows()\n",
" gc.collect()\n",
"\n",
" print('Подготовка данных завершена')\n",
" print()\n",
" return img\n",
"\n",
" except Exception as e:\n",
" print(str(e))\n",
" return None\n",
"\n",
"\n",
"def build_func_ensemble(file_model='', file_config='', num_classes=None):\n",
" try:\n",
" import matplotlib.pyplot as plt\n",
" matplotlib.use('Agg')\n",
" plt.ioff()\n",
" torch.cuda.empty_cache()\n",
" model1 = models.resnet18(pretrained=False)\n",
" model2 = models.resnet50(pretrained=False)\n",
" model3 = models.resnet101(pretrained=False)\n",
"\n",
" num_classes = 2\n",
"\n",
" model1.fc = nn.Linear(model1.fc.in_features, num_classes)\n",
" model2.fc = nn.Linear(model2.fc.in_features, num_classes)\n",
" model3.fc = nn.Linear(model3.fc.in_features, num_classes)\n",
"\n",
" class Ensemble(nn.Module):\n",
" def __init__(self, model1, model2, model3):\n",
" super(Ensemble, self).__init__()\n",
" self.model1 = model1\n",
" self.model2 = model2\n",
" self.model3 = model3\n",
" self.fc = nn.Linear(3 * num_classes, num_classes)\n",
"\n",
" def forward(self, x):\n",
" x1 = self.model1(x)\n",
" x2 = self.model2(x)\n",
" x3 = self.model3(x)\n",
" x = torch.cat((x1, x2, x3), dim=1)\n",
" x = self.fc(x)\n",
" return x\n",
"\n",
" model = Ensemble(model1, model2, model3)\n",
"\n",
" device = 'cuda' if torch.cuda.is_available() else 'cpu'\n",
" if device != 'cpu':\n",
" model = model.to(device)\n",
" model.load_state_dict(torch.load(file_model, map_location=device))\n",
" model.eval()\n",
"\n",
" cv2.destroyAllWindows()\n",
" del model1\n",
" del model2\n",
" del model3\n",
" gc.collect()\n",
"\n",
" print('Инициализация модели завершена')\n",
" print()\n",
" return model\n",
"\n",
" except Exception as exc:\n",
" print(str(exc))\n",
" return None\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "448da74a-e0ae-44d8-9877-8dd1f257a24f",
"metadata": {},
"outputs": [],
"source": [
"path_to_binaries = 'C:/Users/snytk/Lerning_NN_for_work/datasets/1.2_learning'\n",
"path_to_pictures = 'C:/Users/snytk/Lerning_NN_for_work/datasets_jpg/1.2_jpg_learning'"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "ac4945a8-29c4-4da4-945f-08658953e3e5",
"metadata": {},
"outputs": [],
"source": [
"from tqdm import tqdm"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "6f226f86-5d72-4573-8af6-750128b70263",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|████████████████████████████████████████████████████████████████████████████████| 963/963 [06:36<00:00, 2.43it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: drone finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████████████████████████████████████████████████████████████████████████| 1724/1724 [11:41<00:00, 2.46it/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: noise finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
}
],
"source": [
"size = (256,256)\n",
"if not os.path.exists(path_to_pictures):\n",
" os.mkdir(path_to_pictures)\n",
"for subdir in os.listdir(path_to_binaries):\n",
" filepath = path_to_binaries + '/' + subdir + '/'\n",
" if not os.path.exists(path_to_pictures +'/' + subdir):\n",
" os.mkdir(path_to_pictures + '/' + subdir)\n",
" files = os.listdir(filepath)\n",
" for file in tqdm(files):\n",
" savepath_real_png = path_to_pictures +'/' + subdir + '/' + file + '_real' + '.jpg' \n",
" savepath_imag_png = path_to_pictures +'/' + subdir + '/' + file + '_imag' + '.jpg' \n",
" savepath_spec_png = path_to_pictures +'/' + subdir + '/' + file + '_spec' + '.jpg'\n",
" if not os.path.exists(savepath_real_png):\n",
" img = sig2pic_with_spec(path_to_data=filepath, filename=file, resize = size)\n",
" gc.collect()\n",
" \n",
" try:\n",
" plt.imshow(img[0])\n",
" plt.savefig(savepath_real_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" plt.imshow(img[1])\n",
" plt.savefig(savepath_imag_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
"\n",
" plt.imshow(img[2])\n",
" plt.savefig(savepath_spec_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" except Exception:\n",
" continue\n",
" print('Dir: ', subdir , ' finished!')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "871d7ab6",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

@ -0,0 +1,194 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "4fdb98fc-65bb-467e-be0c-168fee9b0fca",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cuda:0\n"
]
},
{
"data": {
"text/plain": [
"<contextlib.ExitStack at 0x249d580ff50>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import time\n",
"import io\n",
"import cv2\n",
"import copy\n",
"import os\n",
"from tqdm import tqdm\n",
"import torch.nn as nn\n",
"import torch\n",
"import torchvision\n",
"from torch.utils.data import Dataset\n",
"from torch import default_generator, randperm\n",
"from PIL import Image\n",
"#from torch._utils import _accumulate\n",
"import csv\n",
"from torch.utils.data.dataset import Subset\n",
"from scipy import ndimage\n",
"device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n",
"print(device)\n",
"batch_size = 16\n",
"momentum=0.9\n",
"lr = 1e-3\n",
"import random\n",
"sub_sample = 0.5\n",
"import matplotlib\n",
"import gc\n",
"matplotlib.use('Agg')\n",
"import matplotlib as mpl\n",
"mpl.rcParams['agg.path.chunksize'] = 256*256\n",
"plt.ioff()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "9267fbe1",
"metadata": {},
"outputs": [],
"source": [
"def sig2pic_with_spec(path_to_data, filename, figsize=(16,16), dpi=16, resize = None):\n",
" try:\n",
" array = np.load(path_to_data+filename)\n",
"\n",
" if resize != None:\n",
" resized_real = cv2.resize(array[0], resize)\n",
" resized_mag = cv2.resize(array[1], resize)\n",
" resized_spectr = cv2.resize(array[2], resize)\n",
" img = np.asarray(array, dtype=np.float32)\n",
" return img\n",
" \n",
" img = np.asarray(array, dtype=np.float32)\n",
" return img\n",
" \n",
" except Exception as e:\n",
" print(str(e))\n",
" return None"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "448da74a-e0ae-44d8-9877-8dd1f257a24f",
"metadata": {},
"outputs": [],
"source": [
"path_to_binaries = 'C:/Users/snytk/Lerning_NN_for_work/datasets/2.4_learning'\n",
"path_to_pictures = 'C:/Users/snytk/Lerning_NN_for_work/datasets_jpg/2.4_jpg_learning'"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "ac4945a8-29c4-4da4-945f-08658953e3e5",
"metadata": {},
"outputs": [],
"source": [
"from tqdm import tqdm"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "6f226f86-5d72-4573-8af6-750128b70263",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
" 2%|█▍ | 158/8751 [01:06<1:01:14, 2.34it/s]"
]
}
],
"source": [
"size = (256,256)\n",
"if not os.path.exists(path_to_pictures):\n",
" os.mkdir(path_to_pictures)\n",
"for subdir in os.listdir(path_to_binaries):\n",
" filepath = path_to_binaries + '/' + subdir + '/'\n",
" if not os.path.exists(path_to_pictures +'/' + subdir):\n",
" os.mkdir(path_to_pictures + '/' + subdir)\n",
" files = os.listdir(filepath)\n",
" for file in tqdm(files):\n",
" savepath_real_png = path_to_pictures +'/' + subdir + '/' + file + '_real' + '.jpg' \n",
" savepath_imag_png = path_to_pictures +'/' + subdir + '/' + file + '_imag' + '.jpg' \n",
" savepath_spec_png = path_to_pictures +'/' + subdir + '/' + file + '_spec' + '.jpg'\n",
" if not os.path.exists(savepath_real_png):\n",
" img = sig2pic_with_spec(path_to_data=filepath, filename=file, resize = size)\n",
" gc.collect()\n",
" \n",
" try:\n",
" plt.imshow(img[0])\n",
" plt.savefig(savepath_real_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" plt.imshow(img[1])\n",
" plt.savefig(savepath_imag_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
"\n",
" plt.imshow(img[2])\n",
" plt.savefig(savepath_spec_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" except Exception:\n",
" continue\n",
" print('Dir: ', subdir , ' finished!')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "871d7ab6",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

@ -0,0 +1,194 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "4fdb98fc-65bb-467e-be0c-168fee9b0fca",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cuda:0\n"
]
},
{
"data": {
"text/plain": [
"<contextlib.ExitStack at 0x249d580ff50>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import time\n",
"import io\n",
"import cv2\n",
"import copy\n",
"import os\n",
"from tqdm import tqdm\n",
"import torch.nn as nn\n",
"import torch\n",
"import torchvision\n",
"from torch.utils.data import Dataset\n",
"from torch import default_generator, randperm\n",
"from PIL import Image\n",
"#from torch._utils import _accumulate\n",
"import csv\n",
"from torch.utils.data.dataset import Subset\n",
"from scipy import ndimage\n",
"device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n",
"print(device)\n",
"batch_size = 16\n",
"momentum=0.9\n",
"lr = 1e-3\n",
"import random\n",
"sub_sample = 0.5\n",
"import matplotlib\n",
"import gc\n",
"matplotlib.use('Agg')\n",
"import matplotlib as mpl\n",
"mpl.rcParams['agg.path.chunksize'] = 256*256\n",
"plt.ioff()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "9267fbe1",
"metadata": {},
"outputs": [],
"source": [
"def sig2pic_with_spec(path_to_data, filename, figsize=(16,16), dpi=16, resize = None):\n",
" try:\n",
" array = np.load(path_to_data+filename)\n",
"\n",
" if resize != None:\n",
" resized_real = cv2.resize(array[0], resize)\n",
" resized_mag = cv2.resize(array[1], resize)\n",
" resized_spectr = cv2.resize(array[2], resize)\n",
" img = np.asarray(array, dtype=np.float32)\n",
" return img\n",
" \n",
" img = np.asarray(array, dtype=np.float32)\n",
" return img\n",
" \n",
" except Exception as e:\n",
" print(str(e))\n",
" return None"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "448da74a-e0ae-44d8-9877-8dd1f257a24f",
"metadata": {},
"outputs": [],
"source": [
"path_to_binaries = 'C:/Users/snytk/Lerning_NN_for_work/datasets/2.4_learning'\n",
"path_to_pictures = 'C:/Users/snytk/Lerning_NN_for_work/datasets_jpg/2.4_jpg_learning'"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "ac4945a8-29c4-4da4-945f-08658953e3e5",
"metadata": {},
"outputs": [],
"source": [
"from tqdm import tqdm"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "6f226f86-5d72-4573-8af6-750128b70263",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
" 2%|█▍ | 158/8751 [01:06<1:01:14, 2.34it/s]"
]
}
],
"source": [
"size = (256,256)\n",
"if not os.path.exists(path_to_pictures):\n",
" os.mkdir(path_to_pictures)\n",
"for subdir in os.listdir(path_to_binaries):\n",
" filepath = path_to_binaries + '/' + subdir + '/'\n",
" if not os.path.exists(path_to_pictures +'/' + subdir):\n",
" os.mkdir(path_to_pictures + '/' + subdir)\n",
" files = os.listdir(filepath)\n",
" for file in tqdm(files):\n",
" savepath_real_png = path_to_pictures +'/' + subdir + '/' + file + '_real' + '.jpg' \n",
" savepath_imag_png = path_to_pictures +'/' + subdir + '/' + file + '_imag' + '.jpg' \n",
" savepath_spec_png = path_to_pictures +'/' + subdir + '/' + file + '_spec' + '.jpg'\n",
" if not os.path.exists(savepath_real_png):\n",
" img = sig2pic_with_spec(path_to_data=filepath, filename=file, resize = size)\n",
" gc.collect()\n",
" \n",
" try:\n",
" plt.imshow(img[0])\n",
" plt.savefig(savepath_real_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" plt.imshow(img[1])\n",
" plt.savefig(savepath_imag_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
"\n",
" plt.imshow(img[2])\n",
" plt.savefig(savepath_spec_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" except Exception:\n",
" continue\n",
" print('Dir: ', subdir , ' finished!')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "871d7ab6",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

@ -0,0 +1,236 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "4fdb98fc-65bb-467e-be0c-168fee9b0fca",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cuda:0\n",
"['Solarize_Light2', '_classic_test_patch', '_mpl-gallery', '_mpl-gallery-nogrid', 'bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn-v0_8', 'seaborn-v0_8-bright', 'seaborn-v0_8-colorblind', 'seaborn-v0_8-dark', 'seaborn-v0_8-dark-palette', 'seaborn-v0_8-darkgrid', 'seaborn-v0_8-deep', 'seaborn-v0_8-muted', 'seaborn-v0_8-notebook', 'seaborn-v0_8-paper', 'seaborn-v0_8-pastel', 'seaborn-v0_8-poster', 'seaborn-v0_8-talk', 'seaborn-v0_8-ticks', 'seaborn-v0_8-white', 'seaborn-v0_8-whitegrid', 'tableau-colorblind10']\n"
]
},
{
"data": {
"text/plain": [
"<contextlib.ExitStack at 0x27e4cbae550>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import time\n",
"import io\n",
"import cv2\n",
"import copy\n",
"import os\n",
"from tqdm import tqdm\n",
"import torch.nn as nn\n",
"import torch\n",
"import torchvision\n",
"from torch.utils.data import Dataset\n",
"from torch import default_generator, randperm\n",
"from PIL import Image\n",
"#from torch._utils import _accumulate\n",
"import csv\n",
"from torch.utils.data.dataset import Subset\n",
"from scipy import ndimage\n",
"device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n",
"print(device)\n",
"batch_size = 16\n",
"momentum=0.9\n",
"lr = 1e-3\n",
"import random\n",
"sub_sample = 0.5\n",
"import matplotlib\n",
"import gc\n",
"matplotlib.use('Agg')\n",
"import matplotlib as mpl\n",
"mpl.rcParams['agg.path.chunksize'] = 256*256\n",
"#plt.style.use('mplstyle')\n",
"plt.style.use('ggplot')\n",
"plt.grid(None)\n",
"plt.rcParams[\"axes.grid\"] = False\n",
"print(plt.style.available)\n",
"plt.ioff()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "9267fbe1",
"metadata": {},
"outputs": [],
"source": [
"def sig2pic_with_spec(path_to_data, filename, figsize=(16,16), dpi=16, resize = None):\n",
" try:\n",
" array = np.load(path_to_data+filename)\n",
"\n",
" if resize != None:\n",
" resized_real = cv2.resize(array[0], resize)\n",
" resized_mag = cv2.resize(array[1], resize)\n",
" resized_spectr = cv2.resize(array[2], resize)\n",
" img = np.asarray(array, dtype=np.float32)\n",
" return img\n",
" \n",
" img = np.asarray(array, dtype=np.float32)\n",
" return img\n",
" \n",
" except Exception as e:\n",
" print(str(e))\n",
" return None"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "448da74a-e0ae-44d8-9877-8dd1f257a24f",
"metadata": {},
"outputs": [],
"source": [
"path_to_binaries = 'C:/Users/snytk/Lerning_NN_for_work/datasets/915_learning'\n",
"path_to_pictures = 'C:/Users/snytk/Lerning_NN_for_work/datasets_jpg/915_jpg_learning'"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "ac4945a8-29c4-4da4-945f-08658953e3e5",
"metadata": {},
"outputs": [],
"source": [
"from tqdm import tqdm"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "6f226f86-5d72-4573-8af6-750128b70263",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|████████████████████████████████████████████████████████████████████████████████| 856/856 [10:50<00:00, 1.32it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: drone finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|████████████████████████████████████████████████████████████████████████████████| 627/627 [08:40<00:00, 1.20it/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dir: noise finished!\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
}
],
"source": [
"size = (256,256)\n",
"if not os.path.exists(path_to_pictures):\n",
" os.mkdir(path_to_pictures)\n",
"for subdir in os.listdir(path_to_binaries):\n",
" filepath = path_to_binaries + '/' + subdir + '/'\n",
" if not os.path.exists(path_to_pictures +'/' + subdir):\n",
" os.mkdir(path_to_pictures + '/' + subdir)\n",
" files = os.listdir(filepath)\n",
" for file in tqdm(files):\n",
" savepath_real_png = path_to_pictures +'/' + subdir + '/' + file + '_real' + '.jpg' \n",
" savepath_imag_png = path_to_pictures +'/' + subdir + '/' + file + '_imag' + '.jpg' \n",
" savepath_spec_png = path_to_pictures +'/' + subdir + '/' + file + '_spec' + '.jpg'\n",
" if not os.path.exists(savepath_real_png):\n",
" img = sig2pic_with_spec(path_to_data=filepath, filename=file, resize = size)\n",
" gc.collect()\n",
" \n",
" try:\n",
" plt.imshow(img[0])\n",
" plt.savefig(savepath_real_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" plt.imshow(img[1])\n",
" plt.savefig(savepath_imag_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
"\n",
" plt.imshow(img[2])\n",
" plt.savefig(savepath_spec_png)\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" except Exception:\n",
" continue\n",
" print('Dir: ', subdir , ' finished!')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "871d7ab6",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "e080bb07",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

@ -0,0 +1,7 @@
Для ящика на выставки:
aleksandr@192.168.3.85 19751975
aleksandr@192.168.3.86 19751975
Для ящика на Липецк:
aleksandr@192.168.3.85 19751975
aleksandr@192.168.3.86 19751975

@ -0,0 +1,55 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"id": "a89c0273",
"metadata": {},
"outputs": [],
"source": [
"import torch\n",
"import torchvision\n",
"\n",
"def convert_pth_to_pt(pth_path, pt_path, model_class):\n",
" state_dict = torch.load(pth_path)\n",
" model = model_class()\n",
" model.load_state_dict(state_dict)\n",
" torch.save(model, pt_path)\n",
" print(f'Model saved to {pt_path}')\n",
"\n",
"class ModelClass(torch.nn.Module):\n",
" def __init__(self):\n",
" super(ModelClass, self).__init__()\n",
"\n",
" def forward(self, x):\n",
" pass\n",
"\n",
"pth_path = 'model.pth'\n",
"pt_path = 'model.pt'\n",
"\n",
"convert_pth_to_pt(pth_path, pt_path, ModelClass)\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.8"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

@ -0,0 +1,463 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "5a13ad6b-56c9-4381-b376-1765f6dd7553",
"metadata": {
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"# Импортирование библиотек"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "7311cb4a-5bf3-4268-b431-43eea10e9ed6",
"metadata": {
"slideshow": {
"slide_type": ""
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cuda\n"
]
},
{
"ename": "error",
"evalue": "OpenCV(4.10.0) D:\\a\\opencv-python\\opencv-python\\opencv\\modules\\highgui\\src\\window.cpp:1295: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvDestroyAllWindows'\n",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31merror\u001b[0m Traceback (most recent call last)",
"Cell \u001b[1;32mIn[1], line 37\u001b[0m\n\u001b[0;32m 35\u001b[0m \u001b[38;5;28mprint\u001b[39m(device)\n\u001b[0;32m 36\u001b[0m torch\u001b[38;5;241m.\u001b[39mcuda\u001b[38;5;241m.\u001b[39mempty_cache()\n\u001b[1;32m---> 37\u001b[0m \u001b[43mcv2\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdestroyAllWindows\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 38\u001b[0m gc\u001b[38;5;241m.\u001b[39mcollect()\n",
"\u001b[1;31merror\u001b[0m: OpenCV(4.10.0) D:\\a\\opencv-python\\opencv-python\\opencv\\modules\\highgui\\src\\window.cpp:1295: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvDestroyAllWindows'\n"
]
}
],
"source": [
"from sklearn.model_selection import train_test_split\n",
"from torch.utils.data import Dataset, DataLoader\n",
"from torch import default_generator, randperm\n",
"from torch.utils.data.dataset import Subset\n",
"import torchvision.transforms as transforms\n",
"from torchvision.io import read_image\n",
"from importlib import import_module\n",
"import matplotlib.pyplot as plt\n",
"from torchvision import models\n",
"import torch, torchvision\n",
"from pathlib import Path\n",
"from PIL import Image\n",
"import torch.nn as nn\n",
"from tqdm import tqdm\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib\n",
"import os, shutil\n",
"import mlconfig\n",
"import random\n",
"import shutil\n",
"import timeit\n",
"import copy\n",
"import time\n",
"import cv2\n",
"import csv\n",
"import sys\n",
"import io\n",
"import gc\n",
"\n",
"plt.rcParams[\"savefig.bbox\"] = 'tight'\n",
"torch.manual_seed(1)\n",
"#matplotlib.use('Agg')\n",
"device = 'cuda' if torch.cuda.is_available() else 'cpu'\n",
"print(device)\n",
"torch.cuda.empty_cache()\n",
"cv2.destroyAllWindows()\n",
"gc.collect()"
]
},
{
"cell_type": "markdown",
"id": "384de097-82c6-41f5-bda9-b2f54bc99593",
"metadata": {
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"# Подготовка и обучение детектирование"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "46e4dc99-6994-4fee-a32e-f3983bd991bd",
"metadata": {},
"outputs": [],
"source": [
"def prepare_and_learning_detection(num_classes, num_samples, path_dataset, model_name, config_name, model):\n",
" num_samples_per_class = num_samples // num_classes\n",
"\n",
" #----------Создаём папку для сохранения результатов обучения--------------\n",
" \n",
" ind = 1\n",
" while True:\n",
" if os.path.exists(\"models/\" + model_name + str(ind)):\n",
" ind += 1\n",
" else:\n",
" os.mkdir(\"models/\" + model_name + str(ind))\n",
" path_res = \"models/\" + model_name + str(ind) + '/'\n",
" break\n",
" \n",
" #----------Создаём файл dataset.csv для обучения--------------\n",
" \n",
" pd_columns = ['file_name']\n",
" df = pd.DataFrame(columns=pd_columns)\n",
" \n",
" subdirs = os.listdir(path_dataset)\n",
" for subdir in subdirs:\n",
" files = os.listdir(path_dataset + subdir + '/')\n",
" num_samples_per_class = min(num_samples_per_class, len(files))\n",
" for subdir in subdirs:\n",
" files = os.listdir(path_dataset + subdir + '/')\n",
" random.shuffle(files)\n",
" files_to_process = files[:num_samples_per_class]\n",
" for file in files_to_process:\n",
" row = pd.DataFrame({pd_columns[0]: [str(path_dataset + subdir + '/' + file)]})\n",
" df = pd.concat([df, row], ignore_index=True)\n",
" \n",
" df.to_csv(path_res + 'dataset.csv', index=False)\n",
" \n",
" #----------Импортируем параметры для обучения--------------\n",
" \n",
" def load_function(attr):\n",
" module_, func = attr.rsplit('.', maxsplit=1)\n",
" return getattr(import_module(module_), func)\n",
" \n",
" config = mlconfig.load('config_' + config_name + '.yaml')\n",
" \n",
" #----------Создаём класс датасета--------------\n",
" \n",
" class MyDataset(Dataset):\n",
" def __init__(self, path_dataset, csv_file):\n",
" data=[]\n",
" with open(path_dataset + csv_file, newline='') as csvfile:\n",
" reader = csv.reader(csvfile, delimiter=' ', quotechar='|')\n",
" for row in list(reader)[1:]:\n",
" row = str(row)\n",
" data.append(row[2: len(row)-2])\n",
" self.sig_filenames = data\n",
" self.path_dataset = path_dataset\n",
" \n",
" def __len__(self):\n",
" return len(self.sig_filenames)\n",
" \n",
" def __getitem__(self, idx):\n",
" data_file = np.asarray(np.load(self.sig_filenames[idx], 'r+'), dtype=np.float32)\n",
" if 'drone' in list(self.sig_filenames[idx].split('/')):\n",
" label = torch.tensor(0)\n",
" if 'noise' in list(self.sig_filenames[idx].split('/')):\n",
" label = torch.tensor(1)\n",
" return data_file, label\n",
" \n",
" #----------Создаём датасет--------------\n",
" \n",
" dataset = MyDataset(path_dataset=path_res, csv_file='dataset.csv')\n",
" train_set, valid_set = torch.utils.data.random_split(dataset, [0.7, 0.3], generator=torch.Generator().manual_seed(42))\n",
" batch_size = config.batch_size\n",
" train_dataloader = torch.utils.data.DataLoader(train_set, batch_size=batch_size, shuffle=True, drop_last=True)\n",
" valid_dataloader = torch.utils.data.DataLoader(valid_set, batch_size=batch_size, shuffle=True, drop_last=True)\n",
" \n",
" dataloaders = {}\n",
" dataloaders['train'] = train_dataloader\n",
" dataloaders['val'] = valid_dataloader\n",
" dataset_sizes = {}\n",
" dataset_sizes['train'] = len(train_set)\n",
" dataset_sizes['val'] = len(valid_set)\n",
"\n",
" #----------Обучаем модель--------------\n",
"\n",
" val_loss = []\n",
" val_acc = []\n",
" train_loss = []\n",
" train_acc = []\n",
" epochs = config.epoch\n",
" \n",
" best_acc = 0.0\n",
" best_model = copy.deepcopy(model.state_dict())\n",
" limit = config.limit\n",
" epoch_limit = epochs\n",
" \n",
" start = timeit.default_timer()\n",
" for epoch in range(1, epochs+1):\n",
" print(f\"Epoch : {epoch}\\n\")\n",
" dataloader = None\n",
" \n",
" for phase in ['train', 'val']:\n",
" running_loss = 0.0\n",
" running_corrects = 0\n",
" \n",
" for (img, label) in tqdm(dataloaders[phase]):\n",
" img, label = img.to(device), label.to(device)\n",
" optimizer.zero_grad()\n",
" \n",
" with torch.set_grad_enabled(phase == 'train'):\n",
" output = model(img)\n",
" _, pred = torch.max(output.data, 1)\n",
" loss = criterion(output, label)\n",
" if phase=='train' :\n",
" loss.backward()\n",
" optimizer.step()\n",
" \n",
" running_loss += loss.item() * img.size(0)\n",
" running_corrects += torch.sum(pred == label.data)\n",
" \n",
" epoch_loss = running_loss / dataset_sizes[phase]\n",
" epoch_acc = running_corrects.double() / dataset_sizes[phase]\n",
" \n",
" print('{} Loss: {:.4f} Acc: {:.4f}'.format(phase, epoch_loss, epoch_acc))\n",
" \n",
" if phase=='train' :\n",
" train_loss.append(epoch_loss)\n",
" train_acc.append(epoch_acc)\n",
" else :\n",
" val_loss.append(epoch_loss)\n",
" val_acc.append(epoch_acc)\n",
" if val_acc[-1] > best_acc :\n",
" ind_limit = 0\n",
" best_acc = val_acc[-1]\n",
" best_model = copy.deepcopy(model.state_dict())\n",
" torch.save(best_model, path_res + model_name + '.pth')\n",
" else:\n",
" ind_limit += 1\n",
" \n",
" if ind_limit >= limit:\n",
" break\n",
" \n",
" if ind_limit >= limit:\n",
" epoch_limit = epoch\n",
" break\n",
" \n",
" print()\n",
" \n",
" end = timeit.default_timer()\n",
" print(f\"Total time elapsed = {end - start} seconds\")\n",
" epoch_limit += 1\n",
" \n",
" #----------Вывод графиков и сохранение результатов обучения--------------\n",
" \n",
" train_acc = np.asarray(list(map(lambda x: x.item(), train_acc)))\n",
" val_acc = np.asarray(list(map(lambda x: x.item(), val_acc)))\n",
" \n",
" np.save(path_res+'train_acc.npy', train_acc)\n",
" np.save(path_res+'val_acc.npy', val_acc)\n",
" np.save(path_res+'train_loss.npy', train_loss)\n",
" np.save(path_res+'val_loss.npy', val_loss)\n",
" \n",
" plt.figure()\n",
" plt.plot(range(1,epoch_limit), train_loss, color='blue')\n",
" plt.plot(range(1,epoch_limit), val_loss, color='red')\n",
" plt.xlabel('Epoch')\n",
" plt.ylabel('Loss')\n",
" plt.title('Loss Curve')\n",
" plt.legend(['Train Loss', 'Validation Loss'])\n",
" plt.show()\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" plt.figure()\n",
" plt.plot(range(1,epoch_limit), train_acc, color='blue')\n",
" plt.plot(range(1,epoch_limit), val_acc, color='red')\n",
" plt.xlabel('Epoch')\n",
" plt.ylabel('Accuracy')\n",
" plt.title('Accuracy Curve')\n",
" plt.legend(['Train Accuracy', 'Validation Accuracy'])\n",
" plt.show()\n",
" \n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" torch.cuda.empty_cache()\n",
" cv2.destroyAllWindows()\n",
" del model\n",
" gc.collect()\n",
"\n",
" return path_res, model_name"
]
},
{
"cell_type": "markdown",
"id": "93c136ee",
"metadata": {},
"source": [
"### Ensemble"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "52e8d4c5",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\snytk\\miniconda3\\envs\\python311\\Lib\\site-packages\\torchvision\\models\\_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the future, please use 'weights' instead.\n",
" warnings.warn(\n",
"C:\\Users\\snytk\\miniconda3\\envs\\python311\\Lib\\site-packages\\torchvision\\models\\_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=None`.\n",
" warnings.warn(msg)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch : 1\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|████████████████████████████████████████████████████████████████████████████████| 437/437 [23:49<00:00, 3.27s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"train Loss: 0.0884 Acc: 0.9634\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|████████████████████████████████████████████████████████████████████████████████| 187/187 [09:15<00:00, 2.97s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"val Loss: 0.0342 Acc: 0.9873\n",
"\n",
"Epoch : 2\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 84%|██████████████████████████████████████████████████████████████████▊ | 365/437 [19:28<04:18, 3.59s/it]"
]
}
],
"source": [
"#----------Инициализируем модель и параметры обучения--------------\n",
"\n",
"torch.cuda.empty_cache()\n",
"cv2.destroyAllWindows()\n",
"gc.collect()\n",
"\n",
"num_classes = 3\n",
"config_name = \"ensemble\"\n",
" \n",
"def load_function(attr):\n",
" module_, func = attr.rsplit('.', maxsplit=1)\n",
" return getattr(import_module(module_), func)\n",
" \n",
"config = mlconfig.load('config_' + config_name + '.yaml')\n",
"\n",
"model1 = models.resnet18(pretrained=False)\n",
"model2 = models.resnet50(pretrained=False)\n",
"model3 = models.resnet101(pretrained=False)\n",
"\n",
"num_classes = 2\n",
"\n",
"model1.fc = nn.Linear(model1.fc.in_features, num_classes)\n",
"model2.fc = nn.Linear(model2.fc.in_features, num_classes)\n",
"model3.fc = nn.Linear(model3.fc.in_features, num_classes)\n",
"\n",
"class Ensemble(nn.Module):\n",
" def __init__(self, model1, model2, model3):\n",
" super(Ensemble, self).__init__()\n",
" self.model1 = model1\n",
" self.model2 = model2\n",
" self.model3 = model3\n",
" self.fc = nn.Linear(3 * num_classes, num_classes)\n",
"\n",
" def forward(self, x):\n",
" x1 = self.model1(x)\n",
" x2 = self.model2(x)\n",
" x3 = self.model3(x)\n",
" x = torch.cat((x1, x2, x3), dim=1)\n",
" x = self.fc(x)\n",
" return x\n",
"\n",
"model = Ensemble(model1, model2, model3)\n",
"\n",
"optimizer = load_function(config.optimizer.name)(model.parameters(), lr=config.optimizer.lr)\n",
"criterion = load_function(config.loss_function.name)()\n",
"scheduler = load_function(config.scheduler.name)(optimizer, step_size=config.scheduler.step_size, gamma=config.scheduler.gamma)\n",
"\n",
"if device != 'cpu':\n",
" model = model.to(device)\n",
"\n",
"#----------Создания датасета и обучение модели--------------\n",
"\n",
"path_res, model_name = prepare_and_learning_detection(num_classes = num_classes, num_samples = 10000, path_dataset = \"//192.168.1.64/data/DATASETS/2.4/2.4_learning/\", \n",
" model_name = config_name+\"_2.4_\", config_name = config_name, model=model)\n",
"\n",
"\n",
"torch.cuda.empty_cache()\n",
"cv2.destroyAllWindows()\n",
"del model\n",
"gc.collect()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "57d18676",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"celltoolbar": "Отсутствует",
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,465 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "5a13ad6b-56c9-4381-b376-1765f6dd7553",
"metadata": {
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"# Импортирование библиотек"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "7311cb4a-5bf3-4268-b431-43eea10e9ed6",
"metadata": {
"slideshow": {
"slide_type": ""
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cuda\n"
]
},
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.model_selection import train_test_split\n",
"from torch.utils.data import Dataset, DataLoader\n",
"from torch import default_generator, randperm\n",
"from torch.utils.data.dataset import Subset\n",
"import torchvision.transforms as transforms\n",
"from torchvision.io import read_image\n",
"from importlib import import_module\n",
"import matplotlib.pyplot as plt\n",
"from torchvision import models\n",
"import torch, torchvision\n",
"from pathlib import Path\n",
"from PIL import Image\n",
"import torch.nn as nn\n",
"from tqdm import tqdm\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib\n",
"import os, shutil\n",
"import mlconfig\n",
"import random\n",
"import shutil\n",
"import timeit\n",
"import copy\n",
"import time\n",
"import cv2\n",
"import csv\n",
"import sys\n",
"import io\n",
"import gc\n",
"\n",
"plt.rcParams[\"savefig.bbox\"] = 'tight'\n",
"torch.manual_seed(1)\n",
"#matplotlib.use('Agg')\n",
"device = 'cuda' if torch.cuda.is_available() else 'cpu'\n",
"print(device)\n",
"torch.cuda.empty_cache()\n",
"cv2.destroyAllWindows()\n",
"gc.collect()"
]
},
{
"cell_type": "markdown",
"id": "384de097-82c6-41f5-bda9-b2f54bc99593",
"metadata": {
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"# Подготовка и обучение детектирование"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "46e4dc99-6994-4fee-a32e-f3983bd991bd",
"metadata": {},
"outputs": [],
"source": [
"def prepare_and_learning_detection(num_classes, num_samples, path_dataset, model_name, config_name, model):\n",
" num_samples_per_class = num_samples // num_classes\n",
"\n",
" #----------Создаём папку для сохранения результатов обучения--------------\n",
" \n",
" ind = 1\n",
" while True:\n",
" if os.path.exists(\"models/\" + model_name + str(ind)):\n",
" ind += 1\n",
" else:\n",
" os.mkdir(\"models/\" + model_name + str(ind))\n",
" path_res = \"models/\" + model_name + str(ind) + '/'\n",
" break\n",
" \n",
" #----------Создаём файл dataset.csv для обучения--------------\n",
" \n",
" pd_columns = ['file_name']\n",
" df = pd.DataFrame(columns=pd_columns)\n",
" \n",
" subdirs = os.listdir(path_dataset)\n",
" for subdir in subdirs:\n",
" files = os.listdir(path_dataset + subdir + '/')\n",
" num_samples_per_class = min(num_samples_per_class, len(files))\n",
" for subdir in subdirs:\n",
" files = os.listdir(path_dataset + subdir + '/')\n",
" random.shuffle(files)\n",
" files_to_process = files[:num_samples_per_class]\n",
" for file in files_to_process:\n",
" row = pd.DataFrame({pd_columns[0]: [str(path_dataset + subdir + '/' + file)]})\n",
" df = pd.concat([df, row], ignore_index=True)\n",
" \n",
" df.to_csv(path_res + 'dataset.csv', index=False)\n",
" \n",
" #----------Импортируем параметры для обучения--------------\n",
" \n",
" def load_function(attr):\n",
" module_, func = attr.rsplit('.', maxsplit=1)\n",
" return getattr(import_module(module_), func)\n",
" \n",
" config = mlconfig.load('config_' + config_name + '.yaml')\n",
" \n",
" #----------Создаём класс датасета--------------\n",
" \n",
" class MyDataset(Dataset):\n",
" def __init__(self, path_dataset, csv_file):\n",
" data=[]\n",
" with open(path_dataset + csv_file, newline='') as csvfile:\n",
" reader = csv.reader(csvfile, delimiter=' ', quotechar='|')\n",
" for row in list(reader)[1:]:\n",
" row = str(row)\n",
" data.append(row[2: len(row)-2])\n",
" self.sig_filenames = data\n",
" self.path_dataset = path_dataset\n",
" \n",
" def __len__(self):\n",
" return len(self.sig_filenames)\n",
" \n",
" def __getitem__(self, idx):\n",
" image_real = np.asarray(cv2.split(cv2.imread(self.sig_filenames[idx][:-8]+'real.jpg')), dtype=np.float32)\n",
" if 'drone' in list(self.sig_filenames[idx].split('/')):\n",
" label = torch.tensor(0)\n",
" if 'noise' in list(self.sig_filenames[idx].split('/')):\n",
" label = torch.tensor(1)\n",
" return image_real, label\n",
" \n",
" #----------Создаём датасет--------------\n",
" \n",
" dataset = MyDataset(path_dataset=path_res, csv_file='dataset.csv')\n",
" train_set, valid_set = torch.utils.data.random_split(dataset, [0.7, 0.3], generator=torch.Generator().manual_seed(42))\n",
" batch_size = config.batch_size\n",
" train_dataloader = torch.utils.data.DataLoader(train_set, batch_size=batch_size, shuffle=True, drop_last=True)\n",
" valid_dataloader = torch.utils.data.DataLoader(valid_set, batch_size=batch_size, shuffle=True, drop_last=True)\n",
" \n",
" dataloaders = {}\n",
" dataloaders['train'] = train_dataloader\n",
" dataloaders['val'] = valid_dataloader\n",
" dataset_sizes = {}\n",
" dataset_sizes['train'] = len(train_set)\n",
" dataset_sizes['val'] = len(valid_set)\n",
"\n",
" #----------Обучаем модель--------------\n",
"\n",
" val_loss = []\n",
" val_acc = []\n",
" train_loss = []\n",
" train_acc = []\n",
" epochs = config.epoch\n",
" \n",
" best_acc = 0.0\n",
" best_model = copy.deepcopy(model.state_dict())\n",
" limit = config.limit\n",
" epoch_limit = epochs\n",
" \n",
" start = timeit.default_timer()\n",
" for epoch in range(1, epochs+1):\n",
" print(f\"Epoch : {epoch}\\n\")\n",
" dataloader = None\n",
" \n",
" for phase in ['train', 'val']:\n",
" running_loss = 0.0\n",
" running_corrects = 0\n",
" \n",
" for (img, label) in tqdm(dataloaders[phase]):\n",
" img, label = img.to(device), label.to(device)\n",
" optimizer.zero_grad()\n",
" \n",
" with torch.set_grad_enabled(phase == 'train'):\n",
" output = model(img)\n",
" _, pred = torch.max(output.data, 1)\n",
" loss = criterion(output, label)\n",
" if phase=='train' :\n",
" loss.backward()\n",
" optimizer.step()\n",
" \n",
" running_loss += loss.item() * img.size(0)\n",
" running_corrects += torch.sum(pred == label.data)\n",
" \n",
" epoch_loss = running_loss / dataset_sizes[phase]\n",
" epoch_acc = running_corrects.double() / dataset_sizes[phase]\n",
" \n",
" print('{} Loss: {:.4f} Acc: {:.4f}'.format(phase, epoch_loss, epoch_acc))\n",
" \n",
" if phase=='train' :\n",
" train_loss.append(epoch_loss)\n",
" train_acc.append(epoch_acc)\n",
" else :\n",
" val_loss.append(epoch_loss)\n",
" val_acc.append(epoch_acc)\n",
" if val_acc[-1] > best_acc :\n",
" ind_limit = 0\n",
" best_acc = val_acc[-1]\n",
" best_model = copy.deepcopy(model.state_dict())\n",
" torch.save(best_model, path_res + model_name + '.pth')\n",
" else:\n",
" ind_limit += 1\n",
" \n",
" if ind_limit >= limit:\n",
" break\n",
" \n",
" if ind_limit >= limit:\n",
" epoch_limit = epoch\n",
" break\n",
" \n",
" print()\n",
" \n",
" end = timeit.default_timer()\n",
" print(f\"Total time elapsed = {end - start} seconds\")\n",
" epoch_limit += 1\n",
" \n",
" #----------Вывод графиков и сохранение результатов обучения--------------\n",
" \n",
" train_acc = np.asarray(list(map(lambda x: x.item(), train_acc)))\n",
" val_acc = np.asarray(list(map(lambda x: x.item(), val_acc)))\n",
" \n",
" np.save(path_res+'train_acc.npy', train_acc)\n",
" np.save(path_res+'val_acc.npy', val_acc)\n",
" np.save(path_res+'train_loss.npy', train_loss)\n",
" np.save(path_res+'val_loss.npy', val_loss)\n",
" \n",
" plt.figure()\n",
" plt.plot(range(1,epoch_limit), train_loss, color='blue')\n",
" plt.plot(range(1,epoch_limit), val_loss, color='red')\n",
" plt.xlabel('Epoch')\n",
" plt.ylabel('Loss')\n",
" plt.title('Loss Curve')\n",
" plt.legend(['Train Loss', 'Validation Loss'])\n",
" plt.show()\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" plt.figure()\n",
" plt.plot(range(1,epoch_limit), train_acc, color='blue')\n",
" plt.plot(range(1,epoch_limit), val_acc, color='red')\n",
" plt.xlabel('Epoch')\n",
" plt.ylabel('Accuracy')\n",
" plt.title('Accuracy Curve')\n",
" plt.legend(['Train Accuracy', 'Validation Accuracy'])\n",
" plt.show()\n",
" \n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" torch.cuda.empty_cache()\n",
" cv2.destroyAllWindows()\n",
" del model\n",
" gc.collect()\n",
"\n",
" return path_res, model_name"
]
},
{
"cell_type": "markdown",
"id": "93c136ee",
"metadata": {},
"source": [
"### Ensemble"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "52e8d4c5",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\snytk\\miniconda3\\envs\\python311\\Lib\\site-packages\\torchvision\\models\\_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the future, please use 'weights' instead.\n",
" warnings.warn(\n",
"C:\\Users\\snytk\\miniconda3\\envs\\python311\\Lib\\site-packages\\torchvision\\models\\_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=ResNet18_Weights.IMAGENET1K_V1`. You can also use `weights=ResNet18_Weights.DEFAULT` to get the most up-to-date weights.\n",
" warnings.warn(msg)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch : 1\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 0%| | 0/337 [00:00<?, ?it/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"tensor([], device='cuda:0', size=(4, 0))\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
},
{
"ename": "RuntimeError",
"evalue": "Expected 3D (unbatched) or 4D (batched) input to conv2d, but got input of size: [4, 0]",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mRuntimeError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[1;32mIn[10], line 42\u001b[0m\n\u001b[0;32m 38\u001b[0m model \u001b[38;5;241m=\u001b[39m model\u001b[38;5;241m.\u001b[39mto(device)\n\u001b[0;32m 40\u001b[0m \u001b[38;5;66;03m#----------Создания датасета и обучение модели--------------\u001b[39;00m\n\u001b[1;32m---> 42\u001b[0m path_res, model_name \u001b[38;5;241m=\u001b[39m \u001b[43mprepare_and_learning_detection\u001b[49m\u001b[43m(\u001b[49m\u001b[43mnum_classes\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mnum_classes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnum_samples\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m20000\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpath_dataset\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m//192.168.11.63/data/DATASETS/Energomash/2400_learning/\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\n\u001b[0;32m 43\u001b[0m \u001b[43m \u001b[49m\u001b[43mmodel_name\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mconfig_name\u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m_2.4_jpg_\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mconfig_name\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mconfig_name\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmodel\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmodel\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 46\u001b[0m torch\u001b[38;5;241m.\u001b[39mcuda\u001b[38;5;241m.\u001b[39mempty_cache()\n\u001b[0;32m 47\u001b[0m cv2\u001b[38;5;241m.\u001b[39mdestroyAllWindows()\n",
"Cell \u001b[1;32mIn[2], line 108\u001b[0m, in \u001b[0;36mprepare_and_learning_detection\u001b[1;34m(num_classes, num_samples, path_dataset, model_name, config_name, model)\u001b[0m\n\u001b[0;32m 105\u001b[0m optimizer\u001b[38;5;241m.\u001b[39mzero_grad()\n\u001b[0;32m 107\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m torch\u001b[38;5;241m.\u001b[39mset_grad_enabled(phase \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mtrain\u001b[39m\u001b[38;5;124m'\u001b[39m):\n\u001b[1;32m--> 108\u001b[0m output \u001b[38;5;241m=\u001b[39m \u001b[43mmodel\u001b[49m\u001b[43m(\u001b[49m\u001b[43mimg\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 109\u001b[0m _, pred \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mmax(output\u001b[38;5;241m.\u001b[39mdata, \u001b[38;5;241m1\u001b[39m)\n\u001b[0;32m 110\u001b[0m loss \u001b[38;5;241m=\u001b[39m criterion(output, label)\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torch\\nn\\modules\\module.py:1553\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1551\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compiled_call_impl(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[0;32m 1552\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m-> 1553\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torch\\nn\\modules\\module.py:1562\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1557\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[0;32m 1558\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[0;32m 1559\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks\n\u001b[0;32m 1560\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[0;32m 1561\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[1;32m-> 1562\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1564\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m 1565\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n",
"Cell \u001b[1;32mIn[10], line 28\u001b[0m, in \u001b[0;36mModel.forward\u001b[1;34m(self, x)\u001b[0m\n\u001b[0;32m 26\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mforward\u001b[39m(\u001b[38;5;28mself\u001b[39m, x):\n\u001b[0;32m 27\u001b[0m \u001b[38;5;28mprint\u001b[39m(x)\n\u001b[1;32m---> 28\u001b[0m x \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodel\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 29\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m x\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torch\\nn\\modules\\module.py:1553\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1551\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compiled_call_impl(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[0;32m 1552\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m-> 1553\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torch\\nn\\modules\\module.py:1562\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1557\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[0;32m 1558\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[0;32m 1559\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks\n\u001b[0;32m 1560\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[0;32m 1561\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[1;32m-> 1562\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1564\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m 1565\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torchvision\\models\\resnet.py:285\u001b[0m, in \u001b[0;36mResNet.forward\u001b[1;34m(self, x)\u001b[0m\n\u001b[0;32m 284\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mforward\u001b[39m(\u001b[38;5;28mself\u001b[39m, x: Tensor) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Tensor:\n\u001b[1;32m--> 285\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_forward_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torchvision\\models\\resnet.py:268\u001b[0m, in \u001b[0;36mResNet._forward_impl\u001b[1;34m(self, x)\u001b[0m\n\u001b[0;32m 266\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_forward_impl\u001b[39m(\u001b[38;5;28mself\u001b[39m, x: Tensor) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Tensor:\n\u001b[0;32m 267\u001b[0m \u001b[38;5;66;03m# See note [TorchScript super()]\u001b[39;00m\n\u001b[1;32m--> 268\u001b[0m x \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconv1\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 269\u001b[0m x \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbn1(x)\n\u001b[0;32m 270\u001b[0m x \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mrelu(x)\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torch\\nn\\modules\\module.py:1553\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1551\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compiled_call_impl(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[0;32m 1552\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m-> 1553\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torch\\nn\\modules\\module.py:1562\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1557\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[0;32m 1558\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[0;32m 1559\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks\n\u001b[0;32m 1560\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[0;32m 1561\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[1;32m-> 1562\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1564\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m 1565\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torch\\nn\\modules\\conv.py:458\u001b[0m, in \u001b[0;36mConv2d.forward\u001b[1;34m(self, input)\u001b[0m\n\u001b[0;32m 457\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mforward\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;28minput\u001b[39m: Tensor) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Tensor:\n\u001b[1;32m--> 458\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_conv_forward\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mweight\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbias\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torch\\nn\\modules\\conv.py:454\u001b[0m, in \u001b[0;36mConv2d._conv_forward\u001b[1;34m(self, input, weight, bias)\u001b[0m\n\u001b[0;32m 450\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpadding_mode \u001b[38;5;241m!=\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mzeros\u001b[39m\u001b[38;5;124m'\u001b[39m:\n\u001b[0;32m 451\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m F\u001b[38;5;241m.\u001b[39mconv2d(F\u001b[38;5;241m.\u001b[39mpad(\u001b[38;5;28minput\u001b[39m, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_reversed_padding_repeated_twice, mode\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpadding_mode),\n\u001b[0;32m 452\u001b[0m weight, bias, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstride,\n\u001b[0;32m 453\u001b[0m _pair(\u001b[38;5;241m0\u001b[39m), \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdilation, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mgroups)\n\u001b[1;32m--> 454\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mF\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconv2d\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mweight\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbias\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstride\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 455\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpadding\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdilation\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgroups\u001b[49m\u001b[43m)\u001b[49m\n",
"\u001b[1;31mRuntimeError\u001b[0m: Expected 3D (unbatched) or 4D (batched) input to conv2d, but got input of size: [4, 0]"
]
}
],
"source": [
"#----------Инициализируем модель и параметры обучения--------------\n",
"\n",
"torch.cuda.empty_cache()\n",
"cv2.destroyAllWindows()\n",
"gc.collect()\n",
"\n",
"config_name = \"ensemble\"\n",
" \n",
"def load_function(attr):\n",
" module_, func = attr.rsplit('.', maxsplit=1)\n",
" return getattr(import_module(module_), func)\n",
" \n",
"config = mlconfig.load('config_' + config_name + '.yaml')\n",
"\n",
"model = models.resnet18(pretrained=True)\n",
"\n",
"num_classes = 2\n",
"\n",
"model.fc = nn.Linear(model.fc.in_features, num_classes)\n",
"\n",
"class Model(nn.Module):\n",
" def __init__(self, model):\n",
" super(Model, self).__init__()\n",
" self.model = model\n",
"\n",
" def forward(self, x):\n",
" print(x)\n",
" x = self.model(x)\n",
" return x\n",
"\n",
"model = Model(model)\n",
"\n",
"optimizer = load_function(config.optimizer.name)(model.parameters(), lr=config.optimizer.lr)\n",
"criterion = load_function(config.loss_function.name)()\n",
"scheduler = load_function(config.scheduler.name)(optimizer, step_size=config.scheduler.step_size, gamma=config.scheduler.gamma)\n",
"\n",
"if device != 'cpu':\n",
" model = model.to(device)\n",
"\n",
"#----------Создания датасета и обучение модели--------------\n",
"\n",
"path_res, model_name = prepare_and_learning_detection(num_classes = num_classes, num_samples = 20000, path_dataset = \"//192.168.11.63/data/DATASETS/Energomash/2400_learning/\", \n",
" model_name = config_name+\"_2.4_jpg_\", config_name = config_name, model=model)\n",
"\n",
"\n",
"torch.cuda.empty_cache()\n",
"cv2.destroyAllWindows()\n",
"del model\n",
"gc.collect()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "57d18676",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "c10afb29",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"celltoolbar": "Отсутствует",
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

File diff suppressed because one or more lines are too long

@ -0,0 +1,465 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "5a13ad6b-56c9-4381-b376-1765f6dd7553",
"metadata": {
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"# Импортирование библиотек"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "7311cb4a-5bf3-4268-b431-43eea10e9ed6",
"metadata": {
"slideshow": {
"slide_type": ""
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cuda\n"
]
},
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.model_selection import train_test_split\n",
"from torch.utils.data import Dataset, DataLoader\n",
"from torch import default_generator, randperm\n",
"from torch.utils.data.dataset import Subset\n",
"import torchvision.transforms as transforms\n",
"from torchvision.io import read_image\n",
"from importlib import import_module\n",
"import matplotlib.pyplot as plt\n",
"from torchvision import models\n",
"import torch, torchvision\n",
"from pathlib import Path\n",
"from PIL import Image\n",
"import torch.nn as nn\n",
"from tqdm import tqdm\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib\n",
"import os, shutil\n",
"import mlconfig\n",
"import random\n",
"import shutil\n",
"import timeit\n",
"import copy\n",
"import time\n",
"import cv2\n",
"import csv\n",
"import sys\n",
"import io\n",
"import gc\n",
"\n",
"plt.rcParams[\"savefig.bbox\"] = 'tight'\n",
"torch.manual_seed(1)\n",
"#matplotlib.use('Agg')\n",
"device = 'cuda' if torch.cuda.is_available() else 'cpu'\n",
"print(device)\n",
"torch.cuda.empty_cache()\n",
"cv2.destroyAllWindows()\n",
"gc.collect()"
]
},
{
"cell_type": "markdown",
"id": "384de097-82c6-41f5-bda9-b2f54bc99593",
"metadata": {
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"# Подготовка и обучение детектирование"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "46e4dc99-6994-4fee-a32e-f3983bd991bd",
"metadata": {},
"outputs": [],
"source": [
"def prepare_and_learning_detection(num_classes, num_samples, path_dataset, model_name, config_name, model):\n",
" num_samples_per_class = num_samples // num_classes\n",
"\n",
" #----------Создаём папку для сохранения результатов обучения--------------\n",
" \n",
" ind = 1\n",
" while True:\n",
" if os.path.exists(\"models/\" + model_name + str(ind)):\n",
" ind += 1\n",
" else:\n",
" os.mkdir(\"models/\" + model_name + str(ind))\n",
" path_res = \"models/\" + model_name + str(ind) + '/'\n",
" break\n",
" \n",
" #----------Создаём файл dataset.csv для обучения--------------\n",
" \n",
" pd_columns = ['file_name']\n",
" df = pd.DataFrame(columns=pd_columns)\n",
" \n",
" subdirs = os.listdir(path_dataset)\n",
" for subdir in subdirs:\n",
" files = os.listdir(path_dataset + subdir + '/')\n",
" num_samples_per_class = min(num_samples_per_class, len(files))\n",
" for subdir in subdirs:\n",
" files = os.listdir(path_dataset + subdir + '/')\n",
" random.shuffle(files)\n",
" files_to_process = files[:num_samples_per_class]\n",
" for file in files_to_process:\n",
" row = pd.DataFrame({pd_columns[0]: [str(path_dataset + subdir + '/' + file)]})\n",
" df = pd.concat([df, row], ignore_index=True)\n",
" \n",
" df.to_csv(path_res + 'dataset.csv', index=False)\n",
" \n",
" #----------Импортируем параметры для обучения--------------\n",
" \n",
" def load_function(attr):\n",
" module_, func = attr.rsplit('.', maxsplit=1)\n",
" return getattr(import_module(module_), func)\n",
" \n",
" config = mlconfig.load('config_' + config_name + '.yaml')\n",
" \n",
" #----------Создаём класс датасета--------------\n",
" \n",
" class MyDataset(Dataset):\n",
" def __init__(self, path_dataset, csv_file):\n",
" data=[]\n",
" with open(path_dataset + csv_file, newline='') as csvfile:\n",
" reader = csv.reader(csvfile, delimiter=' ', quotechar='|')\n",
" for row in list(reader)[1:]:\n",
" row = str(row)\n",
" data.append(row[2: len(row)-2])\n",
" self.sig_filenames = data\n",
" self.path_dataset = path_dataset\n",
" \n",
" def __len__(self):\n",
" return len(self.sig_filenames)\n",
" \n",
" def __getitem__(self, idx):\n",
" image_real = np.asarray(cv2.split(cv2.imread(self.sig_filenames[idx][:-8]+'real.jpg')), dtype=np.float32)\n",
" if 'drone' in list(self.sig_filenames[idx].split('/')):\n",
" label = torch.tensor(0)\n",
" if 'noise' in list(self.sig_filenames[idx].split('/')):\n",
" label = torch.tensor(1)\n",
" return image_real, label\n",
" \n",
" #----------Создаём датасет--------------\n",
" \n",
" dataset = MyDataset(path_dataset=path_res, csv_file='dataset.csv')\n",
" train_set, valid_set = torch.utils.data.random_split(dataset, [0.7, 0.3], generator=torch.Generator().manual_seed(42))\n",
" batch_size = config.batch_size\n",
" train_dataloader = torch.utils.data.DataLoader(train_set, batch_size=batch_size, shuffle=True, drop_last=True)\n",
" valid_dataloader = torch.utils.data.DataLoader(valid_set, batch_size=batch_size, shuffle=True, drop_last=True)\n",
" \n",
" dataloaders = {}\n",
" dataloaders['train'] = train_dataloader\n",
" dataloaders['val'] = valid_dataloader\n",
" dataset_sizes = {}\n",
" dataset_sizes['train'] = len(train_set)\n",
" dataset_sizes['val'] = len(valid_set)\n",
"\n",
" #----------Обучаем модель--------------\n",
"\n",
" val_loss = []\n",
" val_acc = []\n",
" train_loss = []\n",
" train_acc = []\n",
" epochs = config.epoch\n",
" \n",
" best_acc = 0.0\n",
" best_model = copy.deepcopy(model.state_dict())\n",
" limit = config.limit\n",
" epoch_limit = epochs\n",
" \n",
" start = timeit.default_timer()\n",
" for epoch in range(1, epochs+1):\n",
" print(f\"Epoch : {epoch}\\n\")\n",
" dataloader = None\n",
" \n",
" for phase in ['train', 'val']:\n",
" running_loss = 0.0\n",
" running_corrects = 0\n",
" \n",
" for (img, label) in tqdm(dataloaders[phase]):\n",
" img, label = img.to(device), label.to(device)\n",
" optimizer.zero_grad()\n",
" \n",
" with torch.set_grad_enabled(phase == 'train'):\n",
" output = model(img)\n",
" _, pred = torch.max(output.data, 1)\n",
" loss = criterion(output, label)\n",
" if phase=='train' :\n",
" loss.backward()\n",
" optimizer.step()\n",
" \n",
" running_loss += loss.item() * img.size(0)\n",
" running_corrects += torch.sum(pred == label.data)\n",
" \n",
" epoch_loss = running_loss / dataset_sizes[phase]\n",
" epoch_acc = running_corrects.double() / dataset_sizes[phase]\n",
" \n",
" print('{} Loss: {:.4f} Acc: {:.4f}'.format(phase, epoch_loss, epoch_acc))\n",
" \n",
" if phase=='train' :\n",
" train_loss.append(epoch_loss)\n",
" train_acc.append(epoch_acc)\n",
" else :\n",
" val_loss.append(epoch_loss)\n",
" val_acc.append(epoch_acc)\n",
" if val_acc[-1] > best_acc :\n",
" ind_limit = 0\n",
" best_acc = val_acc[-1]\n",
" best_model = copy.deepcopy(model.state_dict())\n",
" torch.save(best_model, path_res + model_name + '.pth')\n",
" else:\n",
" ind_limit += 1\n",
" \n",
" if ind_limit >= limit:\n",
" break\n",
" \n",
" if ind_limit >= limit:\n",
" epoch_limit = epoch\n",
" break\n",
" \n",
" print()\n",
" \n",
" end = timeit.default_timer()\n",
" print(f\"Total time elapsed = {end - start} seconds\")\n",
" epoch_limit += 1\n",
" \n",
" #----------Вывод графиков и сохранение результатов обучения--------------\n",
" \n",
" train_acc = np.asarray(list(map(lambda x: x.item(), train_acc)))\n",
" val_acc = np.asarray(list(map(lambda x: x.item(), val_acc)))\n",
" \n",
" np.save(path_res+'train_acc.npy', train_acc)\n",
" np.save(path_res+'val_acc.npy', val_acc)\n",
" np.save(path_res+'train_loss.npy', train_loss)\n",
" np.save(path_res+'val_loss.npy', val_loss)\n",
" \n",
" plt.figure()\n",
" plt.plot(range(1,epoch_limit), train_loss, color='blue')\n",
" plt.plot(range(1,epoch_limit), val_loss, color='red')\n",
" plt.xlabel('Epoch')\n",
" plt.ylabel('Loss')\n",
" plt.title('Loss Curve')\n",
" plt.legend(['Train Loss', 'Validation Loss'])\n",
" plt.show()\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" plt.figure()\n",
" plt.plot(range(1,epoch_limit), train_acc, color='blue')\n",
" plt.plot(range(1,epoch_limit), val_acc, color='red')\n",
" plt.xlabel('Epoch')\n",
" plt.ylabel('Accuracy')\n",
" plt.title('Accuracy Curve')\n",
" plt.legend(['Train Accuracy', 'Validation Accuracy'])\n",
" plt.show()\n",
" \n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" torch.cuda.empty_cache()\n",
" cv2.destroyAllWindows()\n",
" del model\n",
" gc.collect()\n",
"\n",
" return path_res, model_name"
]
},
{
"cell_type": "markdown",
"id": "93c136ee",
"metadata": {},
"source": [
"### Ensemble"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "52e8d4c5",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\snytk\\miniconda3\\envs\\python311\\Lib\\site-packages\\torchvision\\models\\_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the future, please use 'weights' instead.\n",
" warnings.warn(\n",
"C:\\Users\\snytk\\miniconda3\\envs\\python311\\Lib\\site-packages\\torchvision\\models\\_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=ResNet18_Weights.IMAGENET1K_V1`. You can also use `weights=ResNet18_Weights.DEFAULT` to get the most up-to-date weights.\n",
" warnings.warn(msg)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch : 1\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 0%| | 0/337 [00:00<?, ?it/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"tensor([], device='cuda:0', size=(4, 0))\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
},
{
"ename": "RuntimeError",
"evalue": "Expected 3D (unbatched) or 4D (batched) input to conv2d, but got input of size: [4, 0]",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mRuntimeError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[1;32mIn[10], line 42\u001b[0m\n\u001b[0;32m 38\u001b[0m model \u001b[38;5;241m=\u001b[39m model\u001b[38;5;241m.\u001b[39mto(device)\n\u001b[0;32m 40\u001b[0m \u001b[38;5;66;03m#----------Создания датасета и обучение модели--------------\u001b[39;00m\n\u001b[1;32m---> 42\u001b[0m path_res, model_name \u001b[38;5;241m=\u001b[39m \u001b[43mprepare_and_learning_detection\u001b[49m\u001b[43m(\u001b[49m\u001b[43mnum_classes\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mnum_classes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnum_samples\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m20000\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpath_dataset\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m//192.168.11.63/data/DATASETS/Energomash/2400_learning/\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\n\u001b[0;32m 43\u001b[0m \u001b[43m \u001b[49m\u001b[43mmodel_name\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mconfig_name\u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m_2.4_jpg_\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mconfig_name\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mconfig_name\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmodel\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmodel\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 46\u001b[0m torch\u001b[38;5;241m.\u001b[39mcuda\u001b[38;5;241m.\u001b[39mempty_cache()\n\u001b[0;32m 47\u001b[0m cv2\u001b[38;5;241m.\u001b[39mdestroyAllWindows()\n",
"Cell \u001b[1;32mIn[2], line 108\u001b[0m, in \u001b[0;36mprepare_and_learning_detection\u001b[1;34m(num_classes, num_samples, path_dataset, model_name, config_name, model)\u001b[0m\n\u001b[0;32m 105\u001b[0m optimizer\u001b[38;5;241m.\u001b[39mzero_grad()\n\u001b[0;32m 107\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m torch\u001b[38;5;241m.\u001b[39mset_grad_enabled(phase \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mtrain\u001b[39m\u001b[38;5;124m'\u001b[39m):\n\u001b[1;32m--> 108\u001b[0m output \u001b[38;5;241m=\u001b[39m \u001b[43mmodel\u001b[49m\u001b[43m(\u001b[49m\u001b[43mimg\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 109\u001b[0m _, pred \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mmax(output\u001b[38;5;241m.\u001b[39mdata, \u001b[38;5;241m1\u001b[39m)\n\u001b[0;32m 110\u001b[0m loss \u001b[38;5;241m=\u001b[39m criterion(output, label)\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torch\\nn\\modules\\module.py:1553\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1551\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compiled_call_impl(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[0;32m 1552\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m-> 1553\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torch\\nn\\modules\\module.py:1562\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1557\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[0;32m 1558\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[0;32m 1559\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks\n\u001b[0;32m 1560\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[0;32m 1561\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[1;32m-> 1562\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1564\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m 1565\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n",
"Cell \u001b[1;32mIn[10], line 28\u001b[0m, in \u001b[0;36mModel.forward\u001b[1;34m(self, x)\u001b[0m\n\u001b[0;32m 26\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mforward\u001b[39m(\u001b[38;5;28mself\u001b[39m, x):\n\u001b[0;32m 27\u001b[0m \u001b[38;5;28mprint\u001b[39m(x)\n\u001b[1;32m---> 28\u001b[0m x \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodel\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 29\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m x\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torch\\nn\\modules\\module.py:1553\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1551\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compiled_call_impl(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[0;32m 1552\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m-> 1553\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torch\\nn\\modules\\module.py:1562\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1557\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[0;32m 1558\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[0;32m 1559\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks\n\u001b[0;32m 1560\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[0;32m 1561\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[1;32m-> 1562\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1564\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m 1565\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torchvision\\models\\resnet.py:285\u001b[0m, in \u001b[0;36mResNet.forward\u001b[1;34m(self, x)\u001b[0m\n\u001b[0;32m 284\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mforward\u001b[39m(\u001b[38;5;28mself\u001b[39m, x: Tensor) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Tensor:\n\u001b[1;32m--> 285\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_forward_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torchvision\\models\\resnet.py:268\u001b[0m, in \u001b[0;36mResNet._forward_impl\u001b[1;34m(self, x)\u001b[0m\n\u001b[0;32m 266\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_forward_impl\u001b[39m(\u001b[38;5;28mself\u001b[39m, x: Tensor) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Tensor:\n\u001b[0;32m 267\u001b[0m \u001b[38;5;66;03m# See note [TorchScript super()]\u001b[39;00m\n\u001b[1;32m--> 268\u001b[0m x \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconv1\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 269\u001b[0m x \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbn1(x)\n\u001b[0;32m 270\u001b[0m x \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mrelu(x)\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torch\\nn\\modules\\module.py:1553\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1551\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compiled_call_impl(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;66;03m# type: ignore[misc]\u001b[39;00m\n\u001b[0;32m 1552\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m-> 1553\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_impl\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torch\\nn\\modules\\module.py:1562\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1557\u001b[0m \u001b[38;5;66;03m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[0;32m 1558\u001b[0m \u001b[38;5;66;03m# this function, and just call forward.\u001b[39;00m\n\u001b[0;32m 1559\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_forward_pre_hooks\n\u001b[0;32m 1560\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_backward_pre_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_backward_hooks\n\u001b[0;32m 1561\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m _global_forward_hooks \u001b[38;5;129;01mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[1;32m-> 1562\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mforward_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1564\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m 1565\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torch\\nn\\modules\\conv.py:458\u001b[0m, in \u001b[0;36mConv2d.forward\u001b[1;34m(self, input)\u001b[0m\n\u001b[0;32m 457\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mforward\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;28minput\u001b[39m: Tensor) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Tensor:\n\u001b[1;32m--> 458\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_conv_forward\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mweight\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbias\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[1;32m~\\miniconda3\\envs\\python311\\Lib\\site-packages\\torch\\nn\\modules\\conv.py:454\u001b[0m, in \u001b[0;36mConv2d._conv_forward\u001b[1;34m(self, input, weight, bias)\u001b[0m\n\u001b[0;32m 450\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpadding_mode \u001b[38;5;241m!=\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mzeros\u001b[39m\u001b[38;5;124m'\u001b[39m:\n\u001b[0;32m 451\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m F\u001b[38;5;241m.\u001b[39mconv2d(F\u001b[38;5;241m.\u001b[39mpad(\u001b[38;5;28minput\u001b[39m, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_reversed_padding_repeated_twice, mode\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpadding_mode),\n\u001b[0;32m 452\u001b[0m weight, bias, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstride,\n\u001b[0;32m 453\u001b[0m _pair(\u001b[38;5;241m0\u001b[39m), \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdilation, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mgroups)\n\u001b[1;32m--> 454\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mF\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconv2d\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mweight\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbias\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstride\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 455\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpadding\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdilation\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgroups\u001b[49m\u001b[43m)\u001b[49m\n",
"\u001b[1;31mRuntimeError\u001b[0m: Expected 3D (unbatched) or 4D (batched) input to conv2d, but got input of size: [4, 0]"
]
}
],
"source": [
"#----------Инициализируем модель и параметры обучения--------------\n",
"\n",
"torch.cuda.empty_cache()\n",
"cv2.destroyAllWindows()\n",
"gc.collect()\n",
"\n",
"config_name = \"ensemble\"\n",
" \n",
"def load_function(attr):\n",
" module_, func = attr.rsplit('.', maxsplit=1)\n",
" return getattr(import_module(module_), func)\n",
" \n",
"config = mlconfig.load('config_' + config_name + '.yaml')\n",
"\n",
"model = models.resnet18(pretrained=True)\n",
"\n",
"num_classes = 2\n",
"\n",
"model.fc = nn.Linear(model.fc.in_features, num_classes)\n",
"\n",
"class Model(nn.Module):\n",
" def __init__(self, model):\n",
" super(Model, self).__init__()\n",
" self.model = model\n",
"\n",
" def forward(self, x):\n",
" print(x)\n",
" x = self.model(x)\n",
" return x\n",
"\n",
"model = Model(model)\n",
"\n",
"optimizer = load_function(config.optimizer.name)(model.parameters(), lr=config.optimizer.lr)\n",
"criterion = load_function(config.loss_function.name)()\n",
"scheduler = load_function(config.scheduler.name)(optimizer, step_size=config.scheduler.step_size, gamma=config.scheduler.gamma)\n",
"\n",
"if device != 'cpu':\n",
" model = model.to(device)\n",
"\n",
"#----------Создания датасета и обучение модели--------------\n",
"\n",
"path_res, model_name = prepare_and_learning_detection(num_classes = num_classes, num_samples = 20000, path_dataset = \"//192.168.11.63/data/DATASETS/Energomash/2400_learning/\", \n",
" model_name = config_name+\"_2.4_jpg_\", config_name = config_name, model=model)\n",
"\n",
"\n",
"torch.cuda.empty_cache()\n",
"cv2.destroyAllWindows()\n",
"del model\n",
"gc.collect()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "57d18676",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "c10afb29",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"celltoolbar": "Отсутствует",
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,503 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "5a13ad6b-56c9-4381-b376-1765f6dd7553",
"metadata": {
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"# Импортирование библиотек"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "7311cb4a-5bf3-4268-b431-43eea10e9ed6",
"metadata": {
"slideshow": {
"slide_type": ""
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cuda\n"
]
},
{
"data": {
"text/plain": [
"12"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.model_selection import train_test_split\n",
"from torch.utils.data import Dataset, DataLoader\n",
"from torch import default_generator, randperm\n",
"from torch.utils.data.dataset import Subset\n",
"import torchvision.transforms as transforms\n",
"from torchvision.io import read_image\n",
"from importlib import import_module\n",
"import matplotlib.pyplot as plt\n",
"from torchvision import models\n",
"import torch, torchvision\n",
"from pathlib import Path\n",
"from PIL import Image\n",
"import torch.nn as nn\n",
"from tqdm import tqdm\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib\n",
"import os, shutil\n",
"import mlconfig\n",
"import random\n",
"import shutil\n",
"import timeit\n",
"import copy\n",
"import time\n",
"import cv2\n",
"import csv\n",
"import sys\n",
"import io\n",
"import gc\n",
"\n",
"plt.rcParams[\"savefig.bbox\"] = 'tight'\n",
"torch.manual_seed(1)\n",
"#matplotlib.use('Agg')\n",
"device = 'cuda' if torch.cuda.is_available() else 'cpu'\n",
"print(device)\n",
"torch.cuda.empty_cache()\n",
"cv2.destroyAllWindows()\n",
"gc.collect()"
]
},
{
"cell_type": "markdown",
"id": "384de097-82c6-41f5-bda9-b2f54bc99593",
"metadata": {
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"# Подготовка и обучение детектирование"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "46e4dc99-6994-4fee-a32e-f3983bd991bd",
"metadata": {},
"outputs": [],
"source": [
"def prepare_and_learning_detection(num_classes, num_samples, path_dataset, model_name, config_name, model):\n",
" num_samples_per_class = num_samples // num_classes\n",
"\n",
" #----------Создаём папку для сохранения результатов обучения--------------\n",
" \n",
" ind = 1\n",
" while True:\n",
" if os.path.exists(\"models/\" + model_name + str(ind)):\n",
" ind += 1\n",
" else:\n",
" os.mkdir(\"models/\" + model_name + str(ind))\n",
" path_res = \"models/\" + model_name + str(ind) + '/'\n",
" break\n",
" \n",
" #----------Создаём файл dataset.csv для обучения--------------\n",
" \n",
" pd_columns = ['file_name']\n",
" df = pd.DataFrame(columns=pd_columns)\n",
" \n",
" subdirs = os.listdir(path_dataset)\n",
" for subdir in subdirs:\n",
" files = os.listdir(path_dataset + subdir + '/')\n",
" num_samples_per_class = min(num_samples_per_class, len(files))\n",
" for subdir in subdirs:\n",
" files = os.listdir(path_dataset + subdir + '/')\n",
" random.shuffle(files)\n",
" files_to_process = files[:num_samples_per_class]\n",
" for file in files_to_process:\n",
" row = pd.DataFrame({pd_columns[0]: [str(path_dataset + subdir + '/' + file)]})\n",
" df = pd.concat([df, row], ignore_index=True)\n",
" \n",
" df.to_csv(path_res + 'dataset.csv', index=False)\n",
" \n",
" #----------Импортируем параметры для обучения--------------\n",
" \n",
" def load_function(attr):\n",
" module_, func = attr.rsplit('.', maxsplit=1)\n",
" return getattr(import_module(module_), func)\n",
" \n",
" config = mlconfig.load('config_' + config_name + '.yaml')\n",
" \n",
" #----------Создаём класс датасета--------------\n",
" \n",
" class MyDataset(Dataset):\n",
" def __init__(self, path_dataset, csv_file):\n",
" data=[]\n",
" with open(path_dataset + csv_file, newline='') as csvfile:\n",
" reader = csv.reader(csvfile, delimiter=' ', quotechar='|')\n",
" for row in list(reader)[1:]:\n",
" row = str(row)\n",
" data.append(row[2: len(row)-2])\n",
" self.sig_filenames = data\n",
" self.path_dataset = path_dataset\n",
" \n",
" def __len__(self):\n",
" return len(self.sig_filenames)\n",
" \n",
" def __getitem__(self, idx):\n",
" image_real = np.asarray(cv2.split(cv2.imread(self.sig_filenames[idx][:-8]+'real.jpg')), dtype=np.float32)\n",
" image_imag = np.asarray(cv2.split(cv2.imread(self.sig_filenames[idx][:-8]+'imag.jpg')), dtype=np.float32)\n",
" image_spec = np.asarray(cv2.split(cv2.imread(self.sig_filenames[idx][:-8]+'spec.jpg')), dtype=np.float32)\n",
" if 'drone' in list(self.sig_filenames[idx].split('/')):\n",
" label = torch.tensor(0)\n",
" if 'noise' in list(self.sig_filenames[idx].split('/')):\n",
" label = torch.tensor(1)\n",
" return image_real, image_imag, image_spec, label\n",
" \n",
" #----------Создаём датасет--------------\n",
" \n",
" dataset = MyDataset(path_dataset=path_res, csv_file='dataset.csv')\n",
" train_set, valid_set = torch.utils.data.random_split(dataset, [0.7, 0.3], generator=torch.Generator().manual_seed(42))\n",
" batch_size = config.batch_size\n",
" train_dataloader = torch.utils.data.DataLoader(train_set, batch_size=batch_size, shuffle=True, drop_last=True)\n",
" valid_dataloader = torch.utils.data.DataLoader(valid_set, batch_size=batch_size, shuffle=True, drop_last=True)\n",
" \n",
" dataloaders = {}\n",
" dataloaders['train'] = train_dataloader\n",
" dataloaders['val'] = valid_dataloader\n",
" dataset_sizes = {}\n",
" dataset_sizes['train'] = len(train_set)\n",
" dataset_sizes['val'] = len(valid_set)\n",
"\n",
" #----------Обучаем модель--------------\n",
"\n",
" val_loss = []\n",
" val_acc = []\n",
" train_loss = []\n",
" train_acc = []\n",
" epochs = config.epoch\n",
" \n",
" best_acc = 0.0\n",
" best_model = copy.deepcopy(model.state_dict())\n",
" limit = config.limit\n",
" epoch_limit = epochs\n",
" \n",
" start = timeit.default_timer()\n",
" for epoch in range(1, epochs+1):\n",
" print(f\"Epoch : {epoch}\\n\")\n",
" dataloader = None\n",
" \n",
" for phase in ['train', 'val']:\n",
" running_loss = 0.0\n",
" running_corrects = 0\n",
" \n",
" for (img1, img2, img3, label) in tqdm(dataloaders[phase]):\n",
" img1, img2, img3, label = img1.to(device), img2.to(device), img3.to(device), label.to(device)\n",
" optimizer.zero_grad()\n",
" \n",
" with torch.set_grad_enabled(phase == 'train'):\n",
" output = model([img1, img2, img3])\n",
" _, pred = torch.max(output.data, 1)\n",
" loss = criterion(output, label)\n",
" if phase=='train' :\n",
" loss.backward()\n",
" optimizer.step()\n",
" \n",
" running_loss += loss.item() * 3 * img1.size(0)\n",
" running_corrects += torch.sum(pred == label.data)\n",
" \n",
" epoch_loss = running_loss / dataset_sizes[phase]\n",
" epoch_acc = running_corrects.double() / dataset_sizes[phase]\n",
" \n",
" print('{} Loss: {:.4f} Acc: {:.4f}'.format(phase, epoch_loss, epoch_acc))\n",
" \n",
" if phase=='train' :\n",
" train_loss.append(epoch_loss)\n",
" train_acc.append(epoch_acc)\n",
" else :\n",
" val_loss.append(epoch_loss)\n",
" val_acc.append(epoch_acc)\n",
" if val_acc[-1] > best_acc :\n",
" ind_limit = 0\n",
" best_acc = val_acc[-1]\n",
" best_model = copy.deepcopy(model.state_dict())\n",
" torch.save(best_model, path_res + model_name + '.pth')\n",
" else:\n",
" ind_limit += 1\n",
" \n",
" if ind_limit >= limit:\n",
" break\n",
" \n",
" if ind_limit >= limit:\n",
" epoch_limit = epoch\n",
" break\n",
" \n",
" print()\n",
" \n",
" end = timeit.default_timer()\n",
" print(f\"Total time elapsed = {end - start} seconds\")\n",
" epoch_limit += 1\n",
" \n",
" #----------Вывод графиков и сохранение результатов обучения--------------\n",
" \n",
" train_acc = np.asarray(list(map(lambda x: x.item(), train_acc)))\n",
" val_acc = np.asarray(list(map(lambda x: x.item(), val_acc)))\n",
" \n",
" np.save(path_res+'train_acc.npy', train_acc)\n",
" np.save(path_res+'val_acc.npy', val_acc)\n",
" np.save(path_res+'train_loss.npy', train_loss)\n",
" np.save(path_res+'val_loss.npy', val_loss)\n",
" \n",
" plt.figure()\n",
" plt.plot(range(1,epoch_limit), train_loss, color='blue')\n",
" plt.plot(range(1,epoch_limit), val_loss, color='red')\n",
" plt.xlabel('Epoch')\n",
" plt.ylabel('Loss')\n",
" plt.title('Loss Curve')\n",
" plt.legend(['Train Loss', 'Validation Loss'])\n",
" plt.show()\n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" \n",
" plt.figure()\n",
" plt.plot(range(1,epoch_limit), train_acc, color='blue')\n",
" plt.plot(range(1,epoch_limit), val_acc, color='red')\n",
" plt.xlabel('Epoch')\n",
" plt.ylabel('Accuracy')\n",
" plt.title('Accuracy Curve')\n",
" plt.legend(['Train Accuracy', 'Validation Accuracy'])\n",
" plt.show()\n",
" \n",
" plt.clf()\n",
" plt.cla()\n",
" plt.close()\n",
" torch.cuda.empty_cache()\n",
" cv2.destroyAllWindows()\n",
" del model\n",
" gc.collect()\n",
"\n",
" return path_res, model_name"
]
},
{
"cell_type": "markdown",
"id": "93c136ee",
"metadata": {},
"source": [
"### Ensemble"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "52e8d4c5",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\snytk\\miniconda3\\envs\\python311\\Lib\\site-packages\\torchvision\\models\\_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the future, please use 'weights' instead.\n",
" warnings.warn(\n",
"C:\\Users\\snytk\\miniconda3\\envs\\python311\\Lib\\site-packages\\torchvision\\models\\_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=None`.\n",
" warnings.warn(msg)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch : 1\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████████████████████████████████████████████████████████████████████████| 658/658 [1:00:26<00:00, 5.51s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"train Loss: 0.6663 Acc: 0.9241\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|████████████████████████████████████████████████████████████████████████████████| 282/282 [02:45<00:00, 1.71it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"val Loss: 0.4023 Acc: 0.9557\n",
"\n",
"Epoch : 2\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|████████████████████████████████████████████████████████████████████████████████| 658/658 [43:11<00:00, 3.94s/it]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"train Loss: 0.4096 Acc: 0.9514\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|████████████████████████████████████████████████████████████████████████████████| 282/282 [00:47<00:00, 5.98it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"val Loss: 0.3390 Acc: 0.9574\n",
"\n",
"Epoch : 3\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 8%|██████▍ | 52/658 [04:26<51:43, 5.12s/it]"
]
}
],
"source": [
"#----------Инициализируем модель и параметры обучения--------------\n",
"\n",
"torch.cuda.empty_cache()\n",
"cv2.destroyAllWindows()\n",
"gc.collect()\n",
"\n",
"num_classes = 3\n",
"config_name = \"ensemble\"\n",
" \n",
"def load_function(attr):\n",
" module_, func = attr.rsplit('.', maxsplit=1)\n",
" return getattr(import_module(module_), func)\n",
" \n",
"config = mlconfig.load('config_' + config_name + '.yaml')\n",
"\n",
"model1 = models.resnet18(pretrained=False)\n",
"model2 = models.resnet50(pretrained=False)\n",
"model3 = models.resnet101(pretrained=False)\n",
"\n",
"num_classes = 2\n",
"\n",
"model1.fc = nn.Linear(model1.fc.in_features, num_classes)\n",
"model2.fc = nn.Linear(model2.fc.in_features, num_classes)\n",
"model3.fc = nn.Linear(model3.fc.in_features, num_classes)\n",
"\n",
"class Ensemble(nn.Module):\n",
" def __init__(self, model1, model2, model3):\n",
" super(Ensemble, self).__init__()\n",
" self.model1 = model1\n",
" self.model2 = model2\n",
" self.model3 = model3\n",
" self.fc = nn.Linear(3 * num_classes, num_classes)\n",
"\n",
" def forward(self, x):\n",
" x1 = self.model1(x[0])\n",
" x2 = self.model2(x[1])\n",
" x3 = self.model3(x[2])\n",
" x = torch.cat((x1, x2, x3), dim=1)\n",
" x = self.fc(x)\n",
" return x\n",
"\n",
"model = Ensemble(model1, model2, model3)\n",
"\n",
"optimizer = load_function(config.optimizer.name)(model.parameters(), lr=config.optimizer.lr)\n",
"criterion = load_function(config.loss_function.name)()\n",
"scheduler = load_function(config.scheduler.name)(optimizer, step_size=config.scheduler.step_size, gamma=config.scheduler.gamma)\n",
"\n",
"if device != 'cpu':\n",
" model = model.to(device)\n",
"\n",
"#----------Создания датасета и обучение модели--------------\n",
"\n",
"path_res, model_name = prepare_and_learning_detection(num_classes = num_classes, num_samples = 5000, path_dataset = \"C:/Users/snytk/Lerning_NN_for_work/datasets_jpg/915_jpg_learning/\", \n",
" model_name = config_name+\"_915_jpg_\", config_name = config_name, model=model)\n",
"\n",
"\n",
"torch.cuda.empty_cache()\n",
"cv2.destroyAllWindows()\n",
"del model\n",
"gc.collect()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "57d18676",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "eab69324",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"celltoolbar": "Отсутствует",
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

@ -0,0 +1,370 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 13,
"id": "c1b1a484",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['id', 'module_id', 'createdAt', 'registeredAt', 'data', 'createdBy', 'type']\n",
"['291725', '1', '2025-02-14 13:58:03', '2025-02-14 13:58:01', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291722', '1', '2025-02-14 13:57:32', '2025-02-14 13:57:30', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291721', '1', '2025-02-14 13:57:29', '2025-02-14 13:57:27', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291718', '1', '2025-02-14 13:56:58', '2025-02-14 13:56:55', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291715', '1', '2025-02-14 13:56:26', '2025-02-14 13:56:24', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291711', '1', '2025-02-14 13:55:53', '2025-02-14 13:55:51', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291710', '1', '2025-02-14 13:55:50', '2025-02-14 13:55:48', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291706', '1', '2025-02-14 13:55:17', '2025-02-14 13:55:15', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291700', '1', '2025-02-14 13:54:15', '2025-02-14 13:54:13', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291697', '1', '2025-02-14 13:53:44', '2025-02-14 13:53:42', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291696', '1', '2025-02-14 13:53:41', '2025-02-14 13:53:39', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291693', '1', '2025-02-14 13:53:10', '2025-02-14 13:53:07', '[{\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291692', '1', '2025-02-14 13:53:07', '2025-02-14 13:53:05', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291688', '1', '2025-02-14 13:52:34', '2025-02-14 13:52:32', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291685', '1', '2025-02-14 13:52:03', '2025-02-14 13:52:01', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291684', '1', '2025-02-14 13:52:01', '2025-02-14 13:51:59', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291681', '1', '2025-02-14 13:51:30', '2025-02-14 13:51:28', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291677', '1', '2025-02-14 13:50:57', '2025-02-14 13:50:55', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291676', '1', '2025-02-14 13:50:53', '2025-02-14 13:50:51', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291673', '1', '2025-02-14 13:50:21', '2025-02-14 13:50:19', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291672', '1', '2025-02-14 13:50:18', '2025-02-14 13:50:16', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291669', '1', '2025-02-14 13:49:47', '2025-02-14 13:49:45', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291668', '1', '2025-02-14 13:49:36', '2025-02-14 13:49:34', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291665', '1', '2025-02-14 13:49:05', '2025-02-14 13:49:03', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291664', '1', '2025-02-14 13:49:03', '2025-02-14 13:49:01', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291661', '1', '2025-02-14 13:48:32', '2025-02-14 13:48:30', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291657', '1', '2025-02-14 13:47:59', '2025-02-14 13:47:57', '[{\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291656', '1', '2025-02-14 13:47:56', '2025-02-14 13:47:54', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291653', '1', '2025-02-14 13:47:24', '2025-02-14 13:47:22', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291621', '1', '2025-02-14 13:15:52', '2025-02-14 13:15:50', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291615', '1', '2025-02-14 13:14:50', '2025-02-14 13:14:48', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291614', '1', '2025-02-14 13:14:45', '2025-02-14 13:14:43', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291611', '1', '2025-02-14 13:14:14', '2025-02-14 13:14:12', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291607', '1', '2025-02-14 13:13:38', '2025-02-14 13:13:36', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291551', '1', '2025-02-14 12:17:59', '2025-02-14 12:17:57', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291548', '1', '2025-02-14 12:17:28', '2025-02-14 12:17:26', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291547', '1', '2025-02-14 12:17:26', '2025-02-14 12:17:24', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291544', '1', '2025-02-14 12:16:55', '2025-02-14 12:16:53', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291543', '1', '2025-02-14 12:16:51', '2025-02-14 12:16:49', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291540', '1', '2025-02-14 12:16:20', '2025-02-14 12:16:18', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291335', '1', '2025-02-14 08:51:24', '2025-02-14 08:51:22', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291332', '1', '2025-02-14 08:50:53', '2025-02-14 08:50:51', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291331', '1', '2025-02-14 08:50:48', '2025-02-14 08:50:46', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291328', '1', '2025-02-14 08:50:17', '2025-02-14 08:50:14', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291327', '1', '2025-02-14 08:50:11', '2025-02-14 08:50:09', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291324', '1', '2025-02-14 08:49:40', '2025-02-14 08:49:38', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291323', '1', '2025-02-14 08:49:36', '2025-02-14 08:49:34', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291320', '1', '2025-02-14 08:49:05', '2025-02-14 08:49:03', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291317', '1', '2025-02-14 08:48:34', '2025-02-14 08:48:32', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291316', '1', '2025-02-14 08:48:32', '2025-02-14 08:48:30', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291313', '1', '2025-02-14 08:48:01', '2025-02-14 08:47:59', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291312', '1', '2025-02-14 08:47:46', '2025-02-14 08:47:44', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291309', '1', '2025-02-14 08:47:15', '2025-02-14 08:47:13', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291308', '1', '2025-02-14 08:47:13', '2025-02-14 08:47:11', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291305', '1', '2025-02-14 08:46:41', '2025-02-14 08:46:39', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291304', '1', '2025-02-14 08:46:25', '2025-02-14 08:46:23', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291301', '1', '2025-02-14 08:45:54', '2025-02-14 08:45:52', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291300', '1', '2025-02-14 08:45:52', '2025-02-14 08:45:50', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291297', '1', '2025-02-14 08:45:21', '2025-02-14 08:45:19', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291296', '1', '2025-02-14 08:45:17', '2025-02-14 08:45:15', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291293', '1', '2025-02-14 08:44:46', '2025-02-14 08:44:44', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291292', '1', '2025-02-14 08:44:33', '2025-02-14 08:44:31', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291289', '1', '2025-02-14 08:44:02', '2025-02-14 08:44:00', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291288', '1', '2025-02-14 08:43:53', '2025-02-14 08:43:50', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291285', '1', '2025-02-14 08:43:21', '2025-02-14 08:43:19', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291284', '1', '2025-02-14 08:43:19', '2025-02-14 08:43:17', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291281', '1', '2025-02-14 08:42:48', '2025-02-14 08:42:46', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291280', '1', '2025-02-14 08:42:32', '2025-02-14 08:42:30', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291277', '1', '2025-02-14 08:42:01', '2025-02-14 08:41:59', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291276', '1', '2025-02-14 08:41:57', '2025-02-14 08:41:55', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291269', '1', '2025-02-14 08:40:52', '2025-02-14 08:40:50', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['291265', '1', '2025-02-14 08:40:19', '2025-02-14 08:40:17', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290775', '1', '2025-02-14 00:29:43', '2025-02-14 00:29:41', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290772', '1', '2025-02-14 00:29:12', '2025-02-14 00:29:10', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290768', '1', '2025-02-14 00:28:38', '2025-02-14 00:28:36', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290767', '1', '2025-02-14 00:28:27', '2025-02-14 00:28:25', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290764', '1', '2025-02-14 00:27:56', '2025-02-14 00:27:54', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290763', '1', '2025-02-14 00:27:46', '2025-02-14 00:27:44', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290760', '1', '2025-02-14 00:27:15', '2025-02-14 00:27:13', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290756', '1', '2025-02-14 00:26:42', '2025-02-14 00:26:40', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290752', '1', '2025-02-14 00:25:59', '2025-02-14 00:25:57', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290748', '1', '2025-02-14 00:25:26', '2025-02-14 00:25:24', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290744', '1', '2025-02-14 00:24:51', '2025-02-14 00:24:49', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290743', '1', '2025-02-14 00:24:41', '2025-02-14 00:24:39', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290740', '1', '2025-02-14 00:24:10', '2025-02-14 00:24:08', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290739', '1', '2025-02-14 00:24:00', '2025-02-14 00:23:58', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290736', '1', '2025-02-14 00:23:29', '2025-02-14 00:23:27', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290735', '1', '2025-02-14 00:23:24', '2025-02-14 00:23:22', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290732', '1', '2025-02-14 00:22:53', '2025-02-14 00:22:51', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290728', '1', '2025-02-14 00:22:20', '2025-02-14 00:22:18', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290727', '1', '2025-02-14 00:22:17', '2025-02-14 00:22:15', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290724', '1', '2025-02-14 00:21:46', '2025-02-14 00:21:44', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290721', '1', '2025-02-14 00:21:15', '2025-02-14 00:21:13', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290720', '1', '2025-02-14 00:21:10', '2025-02-14 00:21:08', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290717', '1', '2025-02-14 00:20:39', '2025-02-14 00:20:37', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290716', '1', '2025-02-14 00:20:34', '2025-02-14 00:20:32', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290713', '1', '2025-02-14 00:20:02', '2025-02-14 00:20:00', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290712', '1', '2025-02-14 00:20:00', '2025-02-14 00:19:58', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290709', '1', '2025-02-14 00:19:29', '2025-02-14 00:19:27', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290705', '1', '2025-02-14 00:18:56', '2025-02-14 00:18:54', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290704', '1', '2025-02-14 00:18:48', '2025-02-14 00:18:46', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290701', '1', '2025-02-14 00:18:17', '2025-02-14 00:18:15', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290700', '1', '2025-02-14 00:18:12', '2025-02-14 00:18:10', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290697', '1', '2025-02-14 00:17:41', '2025-02-14 00:17:39', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290693', '1', '2025-02-14 00:17:08', '2025-02-14 00:17:06', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290692', '1', '2025-02-14 00:17:06', '2025-02-14 00:17:03', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290689', '1', '2025-02-14 00:16:34', '2025-02-14 00:16:32', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290685', '1', '2025-02-14 00:16:01', '2025-02-14 00:15:59', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290682', '1', '2025-02-14 00:15:30', '2025-02-14 00:15:28', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290676', '1', '2025-02-14 00:09:52', '2025-02-14 00:09:50', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290673', '1', '2025-02-14 00:09:21', '2025-02-14 00:09:19', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290672', '1', '2025-02-14 00:09:19', '2025-02-14 00:09:17', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290669', '1', '2025-02-14 00:08:48', '2025-02-14 00:08:46', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290661', '1', '2025-02-14 00:00:53', '2025-02-14 00:00:51', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290658', '1', '2025-02-14 00:00:22', '2025-02-14 00:00:19', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290654', '1', '2025-02-13 23:59:45', '2025-02-13 23:59:43', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290650', '1', '2025-02-13 23:59:12', '2025-02-13 23:59:10', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290649', '1', '2025-02-13 23:59:08', '2025-02-13 23:59:06', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290646', '1', '2025-02-13 23:58:37', '2025-02-13 23:58:35', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290645', '1', '2025-02-13 23:58:28', '2025-02-13 23:58:26', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290642', '1', '2025-02-13 23:57:57', '2025-02-13 23:57:55', '[{\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290641', '1', '2025-02-13 23:57:55', '2025-02-13 23:57:53', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290638', '1', '2025-02-13 23:57:24', '2025-02-13 23:57:22', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290637', '1', '2025-02-13 23:57:22', '2025-02-13 23:57:20', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290634', '1', '2025-02-13 23:56:51', '2025-02-13 23:56:49', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290633', '1', '2025-02-13 23:56:47', '2025-02-13 23:56:45', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290630', '1', '2025-02-13 23:56:15', '2025-02-13 23:56:13', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290629', '1', '2025-02-13 23:56:10', '2025-02-13 23:56:08', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290626', '1', '2025-02-13 23:55:39', '2025-02-13 23:55:37', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290625', '1', '2025-02-13 23:55:30', '2025-02-13 23:55:28', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290622', '1', '2025-02-13 23:54:59', '2025-02-13 23:54:57', '[{\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290621', '1', '2025-02-13 23:54:57', '2025-02-13 23:54:55', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290618', '1', '2025-02-13 23:54:26', '2025-02-13 23:54:24', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290617', '1', '2025-02-13 23:54:23', '2025-02-13 23:54:21', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290614', '1', '2025-02-13 23:53:52', '2025-02-13 23:53:50', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290613', '1', '2025-02-13 23:53:41', '2025-02-13 23:53:39', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290610', '1', '2025-02-13 23:53:09', '2025-02-13 23:53:07', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290441', '1', '2025-02-13 21:04:20', '2025-02-13 21:04:18', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290438', '1', '2025-02-13 21:03:49', '2025-02-13 21:03:47', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290431', '1', '2025-02-13 21:02:44', '2025-02-13 21:02:42', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290427', '1', '2025-02-13 21:02:04', '2025-02-13 21:02:02', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290423', '1', '2025-02-13 21:01:31', '2025-02-13 21:01:29', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290419', '1', '2025-02-13 21:00:56', '2025-02-13 21:00:54', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290418', '1', '2025-02-13 21:00:46', '2025-02-13 21:00:44', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290415', '1', '2025-02-13 21:00:15', '2025-02-13 21:00:13', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290414', '1', '2025-02-13 21:00:06', '2025-02-13 21:00:04', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290411', '1', '2025-02-13 20:59:35', '2025-02-13 20:59:33', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290407', '1', '2025-02-13 20:59:02', '2025-02-13 20:59:00', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290406', '1', '2025-02-13 20:58:54', '2025-02-13 20:58:51', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290403', '1', '2025-02-13 20:58:22', '2025-02-13 20:58:20', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290399', '1', '2025-02-13 20:57:48', '2025-02-13 20:57:46', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290398', '1', '2025-02-13 20:57:41', '2025-02-13 20:57:39', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290395', '1', '2025-02-13 20:57:10', '2025-02-13 20:57:08', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290394', '1', '2025-02-13 20:57:06', '2025-02-13 20:57:04', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290390', '1', '2025-02-13 20:56:32', '2025-02-13 20:56:30', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290387', '1', '2025-02-13 20:56:01', '2025-02-13 20:55:59', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290386', '1', '2025-02-13 20:55:59', '2025-02-13 20:55:57', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290383', '1', '2025-02-13 20:55:28', '2025-02-13 20:55:26', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290382', '1', '2025-02-13 20:55:26', '2025-02-13 20:55:24', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290379', '1', '2025-02-13 20:54:55', '2025-02-13 20:54:53', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290378', '1', '2025-02-13 20:54:44', '2025-02-13 20:54:42', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290375', '1', '2025-02-13 20:54:13', '2025-02-13 20:54:11', '[{\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290374', '1', '2025-02-13 20:54:11', '2025-02-13 20:54:09', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290371', '1', '2025-02-13 20:53:40', '2025-02-13 20:53:38', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290370', '1', '2025-02-13 20:53:37', '2025-02-13 20:53:34', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290363', '1', '2025-02-13 20:52:32', '2025-02-13 20:52:30', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290299', '1', '2025-02-13 19:48:43', '2025-02-13 19:48:41', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290296', '1', '2025-02-13 19:48:12', '2025-02-13 19:48:10', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290295', '1', '2025-02-13 19:48:07', '2025-02-13 19:48:05', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290292', '1', '2025-02-13 19:47:36', '2025-02-13 19:47:34', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290291', '1', '2025-02-13 19:47:34', '2025-02-13 19:47:32', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290288', '1', '2025-02-13 19:47:03', '2025-02-13 19:47:01', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290287', '1', '2025-02-13 19:46:59', '2025-02-13 19:46:56', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290280', '1', '2025-02-13 19:45:54', '2025-02-13 19:45:52', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290229', '1', '2025-02-13 18:55:16', '2025-02-13 18:55:14', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290226', '1', '2025-02-13 18:54:45', '2025-02-13 18:54:43', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290225', '1', '2025-02-13 18:54:43', '2025-02-13 18:54:41', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290222', '1', '2025-02-13 18:54:12', '2025-02-13 18:54:10', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290221', '1', '2025-02-13 18:53:52', '2025-02-13 18:53:50', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290218', '1', '2025-02-13 18:53:21', '2025-02-13 18:53:19', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290089', '1', '2025-02-13 16:44:59', '2025-02-13 16:44:57', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290086', '1', '2025-02-13 16:44:28', '2025-02-13 16:44:26', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290085', '1', '2025-02-13 16:44:19', '2025-02-13 16:44:17', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290082', '1', '2025-02-13 16:43:48', '2025-02-13 16:43:45', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290078', '1', '2025-02-13 16:43:14', '2025-02-13 16:43:12', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290074', '1', '2025-02-13 16:42:40', '2025-02-13 16:42:38', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290073', '1', '2025-02-13 16:42:29', '2025-02-13 16:42:27', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290070', '1', '2025-02-13 16:41:58', '2025-02-13 16:41:56', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290069', '1', '2025-02-13 16:41:55', '2025-02-13 16:41:53', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290066', '1', '2025-02-13 16:41:24', '2025-02-13 16:41:22', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290063', '1', '2025-02-13 16:40:53', '2025-02-13 16:40:51', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290062', '1', '2025-02-13 16:40:49', '2025-02-13 16:40:47', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290058', '1', '2025-02-13 16:40:16', '2025-02-13 16:40:13', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290055', '1', '2025-02-13 16:39:44', '2025-02-13 16:39:42', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290054', '1', '2025-02-13 16:39:41', '2025-02-13 16:39:39', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290048', '1', '2025-02-13 16:38:39', '2025-02-13 16:38:37', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290047', '1', '2025-02-13 16:38:37', '2025-02-13 16:38:35', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290044', '1', '2025-02-13 16:38:06', '2025-02-13 16:38:04', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290043', '1', '2025-02-13 16:37:58', '2025-02-13 16:37:56', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290040', '1', '2025-02-13 16:37:27', '2025-02-13 16:37:25', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290039', '1', '2025-02-13 16:37:25', '2025-02-13 16:37:23', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290036', '1', '2025-02-13 16:36:54', '2025-02-13 16:36:52', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290028', '1', '2025-02-13 16:35:46', '2025-02-13 16:35:44', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290027', '1', '2025-02-13 16:35:36', '2025-02-13 16:35:34', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290024', '1', '2025-02-13 16:35:05', '2025-02-13 16:35:03', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290023', '1', '2025-02-13 16:35:00', '2025-02-13 16:34:58', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290020', '1', '2025-02-13 16:34:29', '2025-02-13 16:34:27', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290019', '1', '2025-02-13 16:34:26', '2025-02-13 16:34:24', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['290016', '1', '2025-02-13 16:33:55', '2025-02-13 16:33:53', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289835', '1', '2025-02-13 13:32:33', '2025-02-13 13:32:31', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289832', '1', '2025-02-13 13:32:02', '2025-02-13 13:31:59', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289831', '1', '2025-02-13 13:31:25', '2025-02-13 13:31:23', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289828', '1', '2025-02-13 13:30:54', '2025-02-13 13:30:52', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289827', '1', '2025-02-13 13:30:52', '2025-02-13 13:30:50', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289824', '1', '2025-02-13 13:30:21', '2025-02-13 13:30:19', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289823', '1', '2025-02-13 13:30:16', '2025-02-13 13:30:14', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289820', '1', '2025-02-13 13:29:45', '2025-02-13 13:29:43', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289819', '1', '2025-02-13 13:29:41', '2025-02-13 13:29:39', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289816', '1', '2025-02-13 13:29:10', '2025-02-13 13:29:08', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289815', '1', '2025-02-13 13:29:03', '2025-02-13 13:29:01', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289812', '1', '2025-02-13 13:28:32', '2025-02-13 13:28:30', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289811', '1', '2025-02-13 13:28:30', '2025-02-13 13:28:27', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289808', '1', '2025-02-13 13:27:58', '2025-02-13 13:27:56', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289807', '1', '2025-02-13 13:27:38', '2025-02-13 13:27:36', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289804', '1', '2025-02-13 13:27:07', '2025-02-13 13:27:05', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289749', '1', '2025-02-13 12:34:53', '2025-02-13 12:34:51', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289745', '1', '2025-02-13 12:34:20', '2025-02-13 12:34:18', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289741', '1', '2025-02-13 12:33:44', '2025-02-13 12:33:42', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289737', '1', '2025-02-13 12:33:11', '2025-02-13 12:33:09', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289736', '1', '2025-02-13 12:33:06', '2025-02-13 12:33:04', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289733', '1', '2025-02-13 12:32:35', '2025-02-13 12:32:33', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289729', '1', '2025-02-13 12:32:02', '2025-02-13 12:32:00', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289728', '1', '2025-02-13 12:31:57', '2025-02-13 12:31:54', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289725', '1', '2025-02-13 12:31:25', '2025-02-13 12:31:23', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289721', '1', '2025-02-13 12:30:52', '2025-02-13 12:30:50', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289720', '1', '2025-02-13 12:30:47', '2025-02-13 12:30:45', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289717', '1', '2025-02-13 12:30:16', '2025-02-13 12:30:14', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289713', '1', '2025-02-13 12:29:43', '2025-02-13 12:29:41', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289712', '1', '2025-02-13 12:29:38', '2025-02-13 12:29:36', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289709', '1', '2025-02-13 12:29:07', '2025-02-13 12:29:05', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289705', '1', '2025-02-13 12:28:34', '2025-02-13 12:28:31', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289704', '1', '2025-02-13 12:28:28', '2025-02-13 12:28:26', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289701', '1', '2025-02-13 12:27:57', '2025-02-13 12:27:55', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289697', '1', '2025-02-13 12:27:24', '2025-02-13 12:27:22', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289693', '1', '2025-02-13 12:26:50', '2025-02-13 12:26:48', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289692', '1', '2025-02-13 12:26:46', '2025-02-13 12:26:44', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289689', '1', '2025-02-13 12:26:15', '2025-02-13 12:26:13', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289685', '1', '2025-02-13 12:25:41', '2025-02-13 12:25:39', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289684', '1', '2025-02-13 12:25:37', '2025-02-13 12:25:34', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 8, \"light_len\": 8, \"triggered\": true}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289681', '1', '2025-02-13 12:25:05', '2025-02-13 12:25:03', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289680', '1', '2025-02-13 12:25:00', '2025-02-13 12:24:58', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289677', '1', '2025-02-13 12:24:29', '2025-02-13 12:24:27', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289673', '1', '2025-02-13 12:23:56', '2025-02-13 12:23:54', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289669', '1', '2025-02-13 12:23:22', '2025-02-13 12:23:20', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289665', '1', '2025-02-13 12:22:48', '2025-02-13 12:22:46', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289664', '1', '2025-02-13 12:22:42', '2025-02-13 12:22:40', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289661', '1', '2025-02-13 12:22:11', '2025-02-13 12:22:08', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289657', '1', '2025-02-13 12:21:37', '2025-02-13 12:21:35', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289656', '1', '2025-02-13 12:21:34', '2025-02-13 12:21:32', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289653', '1', '2025-02-13 12:21:03', '2025-02-13 12:21:01', '[{\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289652', '1', '2025-02-13 12:21:00', '2025-02-13 12:20:58', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289649', '1', '2025-02-13 12:20:29', '2025-02-13 12:20:27', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289648', '1', '2025-02-13 12:20:23', '2025-02-13 12:20:21', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289645', '1', '2025-02-13 12:19:52', '2025-02-13 12:19:50', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289644', '1', '2025-02-13 12:19:50', '2025-02-13 12:19:48', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289641', '1', '2025-02-13 12:19:19', '2025-02-13 12:19:17', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289640', '1', '2025-02-13 12:19:16', '2025-02-13 12:19:13', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289637', '1', '2025-02-13 12:18:44', '2025-02-13 12:18:42', '[{\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289636', '1', '2025-02-13 12:18:41', '2025-02-13 12:18:39', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289633', '1', '2025-02-13 12:18:10', '2025-02-13 12:18:08', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289632', '1', '2025-02-13 12:18:04', '2025-02-13 12:18:02', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289629', '1', '2025-02-13 12:17:33', '2025-02-13 12:17:31', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289628', '1', '2025-02-13 12:17:31', '2025-02-13 12:17:29', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289625', '1', '2025-02-13 12:17:00', '2025-02-13 12:16:58', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289624', '1', '2025-02-13 12:16:58', '2025-02-13 12:16:56', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289621', '1', '2025-02-13 12:16:27', '2025-02-13 12:16:25', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289620', '1', '2025-02-13 12:16:24', '2025-02-13 12:16:22', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289617', '1', '2025-02-13 12:15:53', '2025-02-13 12:15:50', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289616', '1', '2025-02-13 12:15:45', '2025-02-13 12:15:43', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289613', '1', '2025-02-13 12:15:14', '2025-02-13 12:15:12', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289612', '1', '2025-02-13 12:15:11', '2025-02-13 12:15:09', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289609', '1', '2025-02-13 12:14:40', '2025-02-13 12:14:38', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289606', '1', '2025-02-13 12:14:09', '2025-02-13 12:14:07', '[{\"freq\": 433, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289605', '1', '2025-02-13 12:14:05', '2025-02-13 12:14:03', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['289602', '1', '2025-02-13 12:13:34', '2025-02-13 12:13:32', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 868, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"['287824', '1', '2025-02-12 04:41:04', '2025-02-12 04:41:02', '[{\"freq\": 433, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 700, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 868, \"amplitude\": 9, \"triggered\": true}, {\"freq\": 915, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 1200, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 2400, \"amplitude\": 0, \"light_len\": 0, \"triggered\": false}, {\"freq\": 5200, \"amplitude\": 0, \"triggered\": false}, {\"freq\": 5800, \"amplitude\": 0, \"triggered\": false}]', 'NULL', 'freq']\n",
"Данные успешно обработаны и сохранены в History_change_1.csv\n"
]
}
],
"source": [
"import csv\n",
"\n",
"# Путь к входному CSV-файлу\n",
"input_file = 'History_1.csv'\n",
"\n",
"# Путь к выходному CSV-файлу (с правильно разделёнными данными)\n",
"output_file = 'History_change_1.csv'\n",
"\n",
"# Открываем исходный файл для чтения и новый файл для записи\n",
"with open(input_file, mode='r', encoding='utf-8') as infile:\n",
" with open(output_file, mode='w', encoding='utf-8-sig', newline='') as outfile:\n",
"\n",
" # Создаем объект reader для чтения CSV с учетом кавычек\n",
" reader = csv.reader(infile, delimiter=',', quotechar='\"')\n",
"\n",
" # Создаем объект writer для записи в новый CSV-файл\n",
" writer = csv.writer(outfile, delimiter=';', quotechar=\"'\", quoting=csv.QUOTE_MINIMAL)\n",
"\n",
" # Проходимся по каждой строке в исходном файле\n",
" for row in reader:\n",
" # Записываем строку в выходной файл\n",
" print(row)\n",
" writer.writerow(row)\n",
"\n",
"print(f\"Данные успешно обработаны и сохранены в {output_file}\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "caf7679f",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "97cfbd11",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

@ -0,0 +1,20 @@
# Training params
epoch : 10
batch_size : 4
num_workers: 8
limit : 5
# Optimizer
optimizer :
name : torch.optim.Adam
lr : 0.0001
# Criterion
loss_function :
name : torch.nn.CrossEntropyLoss
# Scheduler
scheduler :
name : torch.optim.lr_scheduler.StepLR
gamma : 0.01
step_size : 10

@ -0,0 +1,964 @@
file_name
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1261.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_333.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_53.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_933.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_81.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_193.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_419.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1440.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_501.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_475.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_981.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_837.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_880.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_150.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1802.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_363.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_360.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_161.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_199.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_43.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1275.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_54.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_833.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_459.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1814.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_338.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_451.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_414.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_968.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_328.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1243.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_64.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_8.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1826.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_444.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_842.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_779.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_847.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1250.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_903.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_455.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_406.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_778.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1341.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_751.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_44.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_511.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_743.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_888.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_497.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1805.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1821.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_194.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_875.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1279.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_25.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_366.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_885.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_912.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_473.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_828.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_740.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_492.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1455.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_97.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1357.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_135.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1292.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1778.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_483.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_493.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_21.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_498.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_973.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_373.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_907.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1380.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1329.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_958.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_860.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_179.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1818.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_49.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_780.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_314.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_951.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1427.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_756.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_400.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_307.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_99.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_89.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1255.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1378.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_389.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_770.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_446.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_437.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_937.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_369.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_883.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_499.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_515.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1372.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_128.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_476.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_915.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1286.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_959.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_61.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_832.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_836.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1823.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1807.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1409.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1245.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_929.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_336.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_433.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1320.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1825.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_935.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1801.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_500.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1309.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_480.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_442.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1267.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_965.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_412.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1405.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1343.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_416.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1411.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_417.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_384.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_116.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_491.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1434.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_733.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1448.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_471.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1780.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1340.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_144.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_126.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_140.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_859.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1333.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_784.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1824.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_5.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_4.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_36.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_908.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_477.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_801.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_466.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_109.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_824.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_825.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_16.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_771.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1373.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1314.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_900.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_404.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_808.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_441.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_435.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_881.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1235.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1306.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_797.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_851.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1307.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_130.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_330.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_826.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_159.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1244.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_149.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_66.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_760.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1812.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1797.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1226.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_308.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1330.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_465.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_753.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_931.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_821.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_205.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_69.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_90.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1442.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1392.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1410.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1456.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_35.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_168.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1257.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_479.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_869.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1384.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_458.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_754.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_984.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_979.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_735.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_325.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1272.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_985.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_834.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1280.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_85.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_884.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1241.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_42.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1274.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1349.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_827.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1396.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_502.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1789.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_899.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1297.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_142.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1352.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1772.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1435.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_844.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_153.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_70.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1777.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1326.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_909.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_157.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1438.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_349.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_204.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_403.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_347.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_861.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1385.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_20.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1822.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_310.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_505.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_858.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_344.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1322.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_445.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_134.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1381.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_852.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_391.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_341.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_960.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_901.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_758.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_831.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_507.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1429.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_486.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1783.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_878.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_132.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_450.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_164.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_320.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_434.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_197.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1369.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_350.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_854.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_12.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_358.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1779.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_313.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_790.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1315.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1360.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_795.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_469.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_764.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1334.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_916.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_38.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_440.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_383.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_180.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1398.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_169.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1449.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_773.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_430.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_806.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_815.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_729.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1236.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_864.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_346.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_944.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_72.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1366.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1246.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_156.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_22.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_182.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_68.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_882.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_106.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_186.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_810.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_436.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_27.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_478.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_848.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1231.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1337.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1324.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_845.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_387.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_438.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_129.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_814.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1239.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_332.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1294.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1444.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_902.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1224.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_18.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_28.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_474.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_971.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1412.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_23.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1262.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_335.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1785.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_898.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1356.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_362.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1443.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_396.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_381.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_13.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_58.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_408.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_51.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_811.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_393.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_65.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1281.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_407.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_490.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1273.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1424.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1269.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1259.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_983.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1790.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1339.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_9.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_113.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_425.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_146.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1225.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1445.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_356.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_399.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1287.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1342.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1382.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_829.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_772.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_865.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_187.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_46.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1348.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1303.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_203.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_911.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_122.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_482.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1419.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_942.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1408.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_820.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_105.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1828.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1436.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_120.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_736.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_429.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1403.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1452.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_467.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1251.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_422.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_319.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_495.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_956.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1776.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_83.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_966.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_781.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_428.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_452.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_37.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_755.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_757.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_30.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_155.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_786.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1389.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_78.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_111.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_809.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_131.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_361.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_782.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1371.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_962.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_928.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1407.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_930.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_463.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1361.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_424.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_394.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1390.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1377.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_472.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_411.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1454.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1238.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1282.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_886.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_812.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1256.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_862.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_787.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1794.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1325.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1432.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1363.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_67.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_76.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1800.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_410.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1816.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_817.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_785.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1304.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_2.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1283.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_59.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_950.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1817.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1295.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_379.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_374.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_192.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_342.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_974.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_73.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_800.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1317.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1383.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1331.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_167.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_891.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_3.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_160.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_201.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1347.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1323.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_513.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_481.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_162.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_896.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_439.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_367.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_506.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_166.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1827.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_206.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1387.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1299.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_910.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_395.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_124.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1451.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_352.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_29.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_857.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_94.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_747.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_202.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_62.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_165.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_955.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_40.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1417.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_10.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_200.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_863.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_151.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_462.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_39.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_976.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_895.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1811.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_55.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_110.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1351.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1300.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1426.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_485.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_34.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1254.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_893.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_191.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_849.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_431.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1242.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_121.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_101.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1420.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_60.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_207.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_119.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_783.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_92.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_748.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_823.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_334.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1370.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_957.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1284.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1365.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1368.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_329.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_514.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_98.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_830.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1804.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_954.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1264.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1414.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_376.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_775.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_388.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_163.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_324.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1327.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1318.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_917.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1290.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_972.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1437.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_26.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_876.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_759.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_918.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_835.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_850.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_32.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_802.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1277.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_74.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_734.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_742.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_977.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_923.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_108.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_327.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_807.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_114.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1319.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_91.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_198.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_813.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_368.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_461.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_796.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_426.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_326.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1421.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1311.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_749.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_19.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1379.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1397.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_453.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_96.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_33.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1271.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_402.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_311.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1345.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_970.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_93.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1815.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_88.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_371.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_767.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_975.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_372.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_938.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_853.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_894.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_79.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_752.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1404.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1353.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_732.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_184.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_323.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_961.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1258.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_792.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_777.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_765.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1316.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_107.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_147.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_804.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_304.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_978.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_762.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_840.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1228.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1232.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1302.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_148.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1792.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_351.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_154.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1313.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_949.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1268.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1781.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_185.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_731.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_741.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1293.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1233.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_138.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_737.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1346.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_488.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1394.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_7.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_927.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_871.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_943.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_941.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_868.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_45.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_468.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_774.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_48.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_919.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1820.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1431.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_504.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1796.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1810.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_353.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_738.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_322.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_82.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1237.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_136.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_87.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_380.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_897.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1400.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_17.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_95.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_143.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_791.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1799.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_924.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_343.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_867.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_872.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_370.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1375.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1247.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1344.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_123.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1406.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_139.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_24.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_874.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1782.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_822.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_102.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1386.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_302.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_0.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_71.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_856.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1321.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_421.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1775.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1430.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_460.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1332.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_873.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1355.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_409.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_397.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_905.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_727.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_117.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_805.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1788.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_398.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1359.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1301.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1252.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1362.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_57.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_420.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_382.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_793.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_127.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1803.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_103.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_879.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_945.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1308.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_798.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_789.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_359.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1358.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1374.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_63.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1376.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_510.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_969.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_494.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_11.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_50.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_375.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1266.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_77.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1447.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1441.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1336.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_443.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_390.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1270.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_803.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_385.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_321.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1439.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_354.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_470.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1401.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_337.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_746.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1248.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_305.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_115.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_75.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_904.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_769.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1457.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_183.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1263.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_331.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_345.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_952.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1249.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_6.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_889.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_31.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1305.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_315.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_750.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_301.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1422.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_137.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1298.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1253.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1230.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_866.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_982.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_364.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_763.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_418.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_348.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_449.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1354.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1388.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1819.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1415.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1291.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_340.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1791.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_925.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_14.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_15.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_41.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_766.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_892.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_788.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_312.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_355.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1829.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1278.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1260.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_946.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1350.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_84.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_306.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_100.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_118.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_52.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_196.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_303.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_181.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1786.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_739.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_309.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1798.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_508.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_152.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_489.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_887.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_794.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_86.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1806.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_843.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_457.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_819.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_768.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1402.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_934.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_838.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_339.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_378.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1335.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_914.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1453.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1425.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1240.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_940.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_846.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_456.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_920.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1423.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_906.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_744.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1793.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_145.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_936.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1310.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1229.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1446.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_487.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_405.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1338.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1393.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1413.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_503.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_730.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_454.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_377.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_728.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_818.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_415.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1328.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_980.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1265.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_447.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_496.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_855.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_745.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_316.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_401.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_816.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_932.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_509.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1296.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1433.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1774.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1809.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_158.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_464.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_761.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1288.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_922.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_413.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_392.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1289.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_141.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_133.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1450.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_967.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_877.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1773.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_125.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_365.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_318.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1367.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_841.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_776.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_178.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1813.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_512.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_953.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1787.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_47.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_926.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1808.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_317.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_484.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_357.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_947.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_839.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1285.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1234.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_799.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1784.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_432.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_56.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1395.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_104.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_870.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_963.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_427.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_423.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1428.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_386.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_913.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1364.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_939.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1416.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1418.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_948.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_112.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_195.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1391.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1795.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_921.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_80.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1312.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1276.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1227.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1399.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_448.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_964.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_890.npy.npy
1 file_name
2 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1261.npy.npy
3 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_333.npy.npy
4 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_53.npy.npy
5 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_933.npy.npy
6 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_81.npy.npy
7 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_193.npy.npy
8 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_419.npy.npy
9 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1440.npy.npy
10 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_501.npy.npy
11 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_475.npy.npy
12 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_981.npy.npy
13 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_837.npy.npy
14 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_880.npy.npy
15 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_150.npy.npy
16 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1802.npy.npy
17 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_363.npy.npy
18 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_360.npy.npy
19 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_161.npy.npy
20 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_199.npy.npy
21 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_43.npy.npy
22 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1275.npy.npy
23 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_54.npy.npy
24 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_833.npy.npy
25 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_459.npy.npy
26 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1814.npy.npy
27 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_338.npy.npy
28 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_451.npy.npy
29 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_414.npy.npy
30 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_968.npy.npy
31 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_328.npy.npy
32 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1243.npy.npy
33 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_64.npy.npy
34 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_8.npy.npy
35 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1826.npy.npy
36 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_444.npy.npy
37 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_842.npy.npy
38 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_779.npy.npy
39 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_847.npy.npy
40 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1250.npy.npy
41 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_903.npy.npy
42 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_455.npy.npy
43 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_406.npy.npy
44 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_778.npy.npy
45 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1341.npy.npy
46 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_751.npy.npy
47 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_44.npy.npy
48 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_511.npy.npy
49 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_743.npy.npy
50 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_888.npy.npy
51 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_497.npy.npy
52 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1805.npy.npy
53 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1821.npy.npy
54 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_194.npy.npy
55 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_875.npy.npy
56 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1279.npy.npy
57 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_25.npy.npy
58 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_366.npy.npy
59 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_885.npy.npy
60 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_912.npy.npy
61 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_473.npy.npy
62 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_828.npy.npy
63 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_740.npy.npy
64 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_492.npy.npy
65 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1455.npy.npy
66 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_97.npy.npy
67 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1357.npy.npy
68 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_135.npy.npy
69 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1292.npy.npy
70 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1778.npy.npy
71 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_483.npy.npy
72 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_493.npy.npy
73 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_21.npy.npy
74 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_498.npy.npy
75 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_973.npy.npy
76 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_373.npy.npy
77 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_907.npy.npy
78 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1380.npy.npy
79 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1329.npy.npy
80 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_958.npy.npy
81 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_860.npy.npy
82 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_179.npy.npy
83 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1818.npy.npy
84 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_49.npy.npy
85 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_780.npy.npy
86 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_314.npy.npy
87 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_951.npy.npy
88 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1427.npy.npy
89 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_756.npy.npy
90 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_400.npy.npy
91 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_307.npy.npy
92 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_99.npy.npy
93 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_89.npy.npy
94 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1255.npy.npy
95 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1378.npy.npy
96 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_389.npy.npy
97 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_770.npy.npy
98 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_446.npy.npy
99 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_437.npy.npy
100 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_937.npy.npy
101 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_369.npy.npy
102 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_883.npy.npy
103 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_499.npy.npy
104 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_515.npy.npy
105 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1372.npy.npy
106 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_128.npy.npy
107 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_476.npy.npy
108 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_915.npy.npy
109 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1286.npy.npy
110 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_959.npy.npy
111 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_61.npy.npy
112 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_832.npy.npy
113 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_836.npy.npy
114 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1823.npy.npy
115 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1807.npy.npy
116 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1409.npy.npy
117 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1245.npy.npy
118 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_929.npy.npy
119 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_336.npy.npy
120 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_433.npy.npy
121 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1320.npy.npy
122 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1825.npy.npy
123 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_935.npy.npy
124 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1801.npy.npy
125 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_500.npy.npy
126 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1309.npy.npy
127 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_480.npy.npy
128 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_442.npy.npy
129 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1267.npy.npy
130 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_965.npy.npy
131 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_412.npy.npy
132 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1405.npy.npy
133 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1343.npy.npy
134 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_416.npy.npy
135 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1411.npy.npy
136 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_417.npy.npy
137 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_384.npy.npy
138 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_116.npy.npy
139 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_491.npy.npy
140 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1434.npy.npy
141 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_733.npy.npy
142 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1448.npy.npy
143 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_471.npy.npy
144 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1780.npy.npy
145 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1340.npy.npy
146 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_144.npy.npy
147 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_126.npy.npy
148 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_140.npy.npy
149 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_859.npy.npy
150 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1333.npy.npy
151 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_784.npy.npy
152 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1824.npy.npy
153 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_5.npy.npy
154 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_4.npy.npy
155 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_36.npy.npy
156 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_908.npy.npy
157 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_477.npy.npy
158 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_801.npy.npy
159 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_466.npy.npy
160 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_109.npy.npy
161 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_824.npy.npy
162 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_825.npy.npy
163 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_16.npy.npy
164 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_771.npy.npy
165 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1373.npy.npy
166 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1314.npy.npy
167 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_900.npy.npy
168 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_404.npy.npy
169 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_808.npy.npy
170 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_441.npy.npy
171 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_435.npy.npy
172 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_881.npy.npy
173 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1235.npy.npy
174 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1306.npy.npy
175 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_797.npy.npy
176 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_851.npy.npy
177 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1307.npy.npy
178 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_130.npy.npy
179 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_330.npy.npy
180 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_826.npy.npy
181 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_159.npy.npy
182 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1244.npy.npy
183 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_149.npy.npy
184 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_66.npy.npy
185 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_760.npy.npy
186 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1812.npy.npy
187 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1797.npy.npy
188 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1226.npy.npy
189 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_308.npy.npy
190 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1330.npy.npy
191 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_465.npy.npy
192 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_753.npy.npy
193 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_931.npy.npy
194 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_821.npy.npy
195 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_205.npy.npy
196 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_69.npy.npy
197 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_90.npy.npy
198 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1442.npy.npy
199 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1392.npy.npy
200 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1410.npy.npy
201 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1456.npy.npy
202 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_35.npy.npy
203 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_168.npy.npy
204 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1257.npy.npy
205 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_479.npy.npy
206 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_869.npy.npy
207 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1384.npy.npy
208 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_458.npy.npy
209 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_754.npy.npy
210 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_984.npy.npy
211 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_979.npy.npy
212 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_735.npy.npy
213 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_325.npy.npy
214 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1272.npy.npy
215 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_985.npy.npy
216 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_834.npy.npy
217 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1280.npy.npy
218 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_85.npy.npy
219 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_884.npy.npy
220 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1241.npy.npy
221 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_42.npy.npy
222 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1274.npy.npy
223 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1349.npy.npy
224 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_827.npy.npy
225 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1396.npy.npy
226 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_502.npy.npy
227 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1789.npy.npy
228 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_899.npy.npy
229 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1297.npy.npy
230 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_142.npy.npy
231 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1352.npy.npy
232 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1772.npy.npy
233 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1435.npy.npy
234 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_844.npy.npy
235 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_153.npy.npy
236 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_70.npy.npy
237 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1777.npy.npy
238 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1326.npy.npy
239 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_909.npy.npy
240 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_157.npy.npy
241 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1438.npy.npy
242 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_349.npy.npy
243 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_204.npy.npy
244 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_403.npy.npy
245 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_347.npy.npy
246 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_861.npy.npy
247 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1385.npy.npy
248 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_20.npy.npy
249 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1822.npy.npy
250 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_310.npy.npy
251 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_505.npy.npy
252 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_858.npy.npy
253 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_344.npy.npy
254 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1322.npy.npy
255 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_445.npy.npy
256 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_134.npy.npy
257 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1381.npy.npy
258 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_852.npy.npy
259 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_391.npy.npy
260 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_341.npy.npy
261 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_960.npy.npy
262 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_901.npy.npy
263 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_758.npy.npy
264 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_831.npy.npy
265 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_507.npy.npy
266 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1429.npy.npy
267 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_486.npy.npy
268 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1783.npy.npy
269 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_878.npy.npy
270 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_132.npy.npy
271 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_450.npy.npy
272 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_164.npy.npy
273 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_320.npy.npy
274 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_434.npy.npy
275 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_197.npy.npy
276 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1369.npy.npy
277 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_350.npy.npy
278 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_854.npy.npy
279 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_12.npy.npy
280 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_358.npy.npy
281 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1779.npy.npy
282 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_313.npy.npy
283 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_790.npy.npy
284 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1315.npy.npy
285 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1360.npy.npy
286 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_795.npy.npy
287 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_469.npy.npy
288 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_764.npy.npy
289 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1334.npy.npy
290 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_916.npy.npy
291 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_38.npy.npy
292 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_440.npy.npy
293 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_383.npy.npy
294 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_180.npy.npy
295 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1398.npy.npy
296 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_169.npy.npy
297 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1449.npy.npy
298 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_773.npy.npy
299 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_430.npy.npy
300 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_806.npy.npy
301 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_815.npy.npy
302 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_729.npy.npy
303 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1236.npy.npy
304 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_864.npy.npy
305 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_346.npy.npy
306 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_944.npy.npy
307 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_72.npy.npy
308 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1366.npy.npy
309 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1246.npy.npy
310 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_156.npy.npy
311 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_22.npy.npy
312 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_182.npy.npy
313 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_68.npy.npy
314 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_882.npy.npy
315 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_106.npy.npy
316 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_186.npy.npy
317 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_810.npy.npy
318 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_436.npy.npy
319 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_27.npy.npy
320 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_478.npy.npy
321 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_848.npy.npy
322 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1231.npy.npy
323 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1337.npy.npy
324 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1324.npy.npy
325 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_845.npy.npy
326 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_387.npy.npy
327 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_438.npy.npy
328 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_129.npy.npy
329 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_814.npy.npy
330 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1239.npy.npy
331 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_332.npy.npy
332 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1294.npy.npy
333 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1444.npy.npy
334 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_902.npy.npy
335 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1224.npy.npy
336 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_18.npy.npy
337 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_28.npy.npy
338 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_474.npy.npy
339 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_971.npy.npy
340 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1412.npy.npy
341 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_23.npy.npy
342 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1262.npy.npy
343 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_335.npy.npy
344 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1785.npy.npy
345 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_898.npy.npy
346 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1356.npy.npy
347 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_362.npy.npy
348 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1443.npy.npy
349 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_396.npy.npy
350 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_381.npy.npy
351 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_13.npy.npy
352 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_58.npy.npy
353 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_408.npy.npy
354 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_51.npy.npy
355 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_811.npy.npy
356 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_393.npy.npy
357 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_65.npy.npy
358 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1281.npy.npy
359 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_407.npy.npy
360 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_490.npy.npy
361 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1273.npy.npy
362 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1424.npy.npy
363 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1269.npy.npy
364 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1259.npy.npy
365 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_983.npy.npy
366 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1790.npy.npy
367 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1339.npy.npy
368 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_9.npy.npy
369 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_113.npy.npy
370 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_425.npy.npy
371 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_146.npy.npy
372 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1225.npy.npy
373 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1445.npy.npy
374 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_356.npy.npy
375 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_399.npy.npy
376 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1287.npy.npy
377 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1342.npy.npy
378 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1382.npy.npy
379 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_829.npy.npy
380 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_772.npy.npy
381 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_865.npy.npy
382 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_187.npy.npy
383 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_46.npy.npy
384 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1348.npy.npy
385 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1303.npy.npy
386 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_203.npy.npy
387 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_911.npy.npy
388 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_122.npy.npy
389 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_482.npy.npy
390 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1419.npy.npy
391 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_942.npy.npy
392 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1408.npy.npy
393 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_820.npy.npy
394 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_105.npy.npy
395 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1828.npy.npy
396 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1436.npy.npy
397 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_120.npy.npy
398 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_736.npy.npy
399 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_429.npy.npy
400 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1403.npy.npy
401 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1452.npy.npy
402 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_467.npy.npy
403 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1251.npy.npy
404 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_422.npy.npy
405 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_319.npy.npy
406 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_495.npy.npy
407 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_956.npy.npy
408 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1776.npy.npy
409 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_83.npy.npy
410 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_966.npy.npy
411 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_781.npy.npy
412 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_428.npy.npy
413 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_452.npy.npy
414 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_37.npy.npy
415 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_755.npy.npy
416 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_757.npy.npy
417 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_30.npy.npy
418 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_155.npy.npy
419 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_786.npy.npy
420 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1389.npy.npy
421 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_78.npy.npy
422 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_111.npy.npy
423 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_809.npy.npy
424 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_131.npy.npy
425 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_361.npy.npy
426 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_782.npy.npy
427 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1371.npy.npy
428 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_962.npy.npy
429 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_928.npy.npy
430 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1407.npy.npy
431 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_930.npy.npy
432 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_463.npy.npy
433 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1361.npy.npy
434 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_424.npy.npy
435 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_394.npy.npy
436 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1390.npy.npy
437 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1377.npy.npy
438 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_472.npy.npy
439 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_411.npy.npy
440 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1454.npy.npy
441 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1238.npy.npy
442 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1282.npy.npy
443 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_886.npy.npy
444 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_812.npy.npy
445 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1256.npy.npy
446 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_862.npy.npy
447 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_787.npy.npy
448 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1794.npy.npy
449 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1325.npy.npy
450 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1432.npy.npy
451 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1363.npy.npy
452 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_67.npy.npy
453 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_76.npy.npy
454 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1800.npy.npy
455 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_410.npy.npy
456 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1816.npy.npy
457 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_817.npy.npy
458 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_785.npy.npy
459 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1304.npy.npy
460 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_2.npy.npy
461 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1283.npy.npy
462 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_59.npy.npy
463 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_950.npy.npy
464 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1817.npy.npy
465 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1295.npy.npy
466 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_379.npy.npy
467 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_374.npy.npy
468 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_192.npy.npy
469 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_342.npy.npy
470 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_974.npy.npy
471 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_73.npy.npy
472 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_800.npy.npy
473 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1317.npy.npy
474 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1383.npy.npy
475 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1331.npy.npy
476 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_167.npy.npy
477 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_891.npy.npy
478 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_3.npy.npy
479 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_160.npy.npy
480 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_201.npy.npy
481 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1347.npy.npy
482 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1323.npy.npy
483 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_513.npy.npy
484 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_481.npy.npy
485 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_162.npy.npy
486 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_896.npy.npy
487 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_439.npy.npy
488 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_367.npy.npy
489 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_506.npy.npy
490 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_166.npy.npy
491 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1827.npy.npy
492 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_206.npy.npy
493 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1387.npy.npy
494 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1299.npy.npy
495 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_910.npy.npy
496 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_395.npy.npy
497 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_124.npy.npy
498 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1451.npy.npy
499 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_352.npy.npy
500 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_29.npy.npy
501 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_857.npy.npy
502 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_94.npy.npy
503 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_747.npy.npy
504 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_202.npy.npy
505 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_62.npy.npy
506 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_165.npy.npy
507 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_955.npy.npy
508 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_40.npy.npy
509 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1417.npy.npy
510 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_10.npy.npy
511 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_200.npy.npy
512 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_863.npy.npy
513 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_151.npy.npy
514 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_462.npy.npy
515 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_39.npy.npy
516 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_976.npy.npy
517 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_895.npy.npy
518 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1811.npy.npy
519 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_55.npy.npy
520 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_110.npy.npy
521 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1351.npy.npy
522 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1300.npy.npy
523 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1426.npy.npy
524 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_485.npy.npy
525 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_34.npy.npy
526 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1254.npy.npy
527 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_893.npy.npy
528 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_191.npy.npy
529 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_849.npy.npy
530 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_431.npy.npy
531 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1242.npy.npy
532 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_121.npy.npy
533 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_101.npy.npy
534 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1420.npy.npy
535 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_60.npy.npy
536 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_207.npy.npy
537 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_119.npy.npy
538 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_783.npy.npy
539 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_92.npy.npy
540 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_748.npy.npy
541 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_823.npy.npy
542 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_334.npy.npy
543 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1370.npy.npy
544 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_957.npy.npy
545 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1284.npy.npy
546 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1365.npy.npy
547 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1368.npy.npy
548 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_329.npy.npy
549 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_514.npy.npy
550 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_98.npy.npy
551 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_830.npy.npy
552 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1804.npy.npy
553 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_954.npy.npy
554 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1264.npy.npy
555 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1414.npy.npy
556 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_376.npy.npy
557 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_775.npy.npy
558 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_388.npy.npy
559 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_163.npy.npy
560 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_324.npy.npy
561 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1327.npy.npy
562 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1318.npy.npy
563 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_917.npy.npy
564 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1290.npy.npy
565 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_972.npy.npy
566 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1437.npy.npy
567 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_26.npy.npy
568 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_876.npy.npy
569 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_759.npy.npy
570 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_918.npy.npy
571 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_835.npy.npy
572 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_850.npy.npy
573 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_32.npy.npy
574 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_802.npy.npy
575 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1277.npy.npy
576 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_74.npy.npy
577 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_734.npy.npy
578 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_742.npy.npy
579 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_977.npy.npy
580 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_923.npy.npy
581 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_108.npy.npy
582 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_327.npy.npy
583 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_807.npy.npy
584 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_114.npy.npy
585 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1319.npy.npy
586 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_91.npy.npy
587 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_198.npy.npy
588 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_813.npy.npy
589 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_368.npy.npy
590 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_461.npy.npy
591 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_796.npy.npy
592 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_426.npy.npy
593 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_326.npy.npy
594 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1421.npy.npy
595 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1311.npy.npy
596 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_749.npy.npy
597 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_19.npy.npy
598 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1379.npy.npy
599 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1397.npy.npy
600 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_453.npy.npy
601 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_96.npy.npy
602 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_33.npy.npy
603 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1271.npy.npy
604 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_402.npy.npy
605 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_311.npy.npy
606 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1345.npy.npy
607 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_970.npy.npy
608 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_93.npy.npy
609 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1815.npy.npy
610 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_88.npy.npy
611 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_371.npy.npy
612 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_767.npy.npy
613 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_975.npy.npy
614 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_372.npy.npy
615 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_938.npy.npy
616 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_853.npy.npy
617 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_894.npy.npy
618 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_79.npy.npy
619 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_752.npy.npy
620 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1404.npy.npy
621 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1353.npy.npy
622 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_732.npy.npy
623 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_184.npy.npy
624 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_323.npy.npy
625 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_961.npy.npy
626 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1258.npy.npy
627 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_792.npy.npy
628 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_777.npy.npy
629 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_765.npy.npy
630 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1316.npy.npy
631 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_107.npy.npy
632 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_147.npy.npy
633 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_804.npy.npy
634 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_304.npy.npy
635 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_978.npy.npy
636 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_762.npy.npy
637 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_840.npy.npy
638 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1228.npy.npy
639 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1232.npy.npy
640 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1302.npy.npy
641 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_148.npy.npy
642 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1792.npy.npy
643 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_351.npy.npy
644 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_154.npy.npy
645 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1313.npy.npy
646 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_949.npy.npy
647 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1268.npy.npy
648 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1781.npy.npy
649 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_185.npy.npy
650 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_731.npy.npy
651 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_741.npy.npy
652 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1293.npy.npy
653 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1233.npy.npy
654 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_138.npy.npy
655 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_737.npy.npy
656 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1346.npy.npy
657 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_488.npy.npy
658 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1394.npy.npy
659 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_7.npy.npy
660 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_927.npy.npy
661 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_871.npy.npy
662 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_943.npy.npy
663 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_941.npy.npy
664 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_868.npy.npy
665 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_45.npy.npy
666 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_468.npy.npy
667 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_774.npy.npy
668 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_48.npy.npy
669 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_919.npy.npy
670 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1820.npy.npy
671 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1431.npy.npy
672 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_504.npy.npy
673 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1796.npy.npy
674 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1810.npy.npy
675 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_353.npy.npy
676 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_738.npy.npy
677 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_322.npy.npy
678 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_82.npy.npy
679 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1237.npy.npy
680 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_136.npy.npy
681 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_87.npy.npy
682 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_380.npy.npy
683 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_897.npy.npy
684 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1400.npy.npy
685 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_17.npy.npy
686 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_95.npy.npy
687 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_143.npy.npy
688 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_791.npy.npy
689 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1799.npy.npy
690 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_924.npy.npy
691 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_343.npy.npy
692 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_867.npy.npy
693 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_872.npy.npy
694 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_370.npy.npy
695 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1375.npy.npy
696 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1247.npy.npy
697 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1344.npy.npy
698 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_123.npy.npy
699 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1406.npy.npy
700 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_139.npy.npy
701 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_24.npy.npy
702 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_874.npy.npy
703 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1782.npy.npy
704 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_822.npy.npy
705 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_102.npy.npy
706 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1386.npy.npy
707 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_302.npy.npy
708 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_0.npy.npy
709 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_71.npy.npy
710 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_856.npy.npy
711 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1321.npy.npy
712 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_421.npy.npy
713 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1775.npy.npy
714 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1430.npy.npy
715 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_460.npy.npy
716 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1332.npy.npy
717 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_873.npy.npy
718 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1355.npy.npy
719 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_409.npy.npy
720 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_397.npy.npy
721 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_905.npy.npy
722 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_727.npy.npy
723 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_117.npy.npy
724 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_805.npy.npy
725 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1788.npy.npy
726 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_398.npy.npy
727 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1359.npy.npy
728 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1301.npy.npy
729 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1252.npy.npy
730 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1362.npy.npy
731 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_57.npy.npy
732 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_420.npy.npy
733 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_382.npy.npy
734 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_793.npy.npy
735 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_127.npy.npy
736 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1803.npy.npy
737 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_103.npy.npy
738 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_879.npy.npy
739 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_945.npy.npy
740 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1308.npy.npy
741 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_798.npy.npy
742 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_789.npy.npy
743 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_359.npy.npy
744 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1358.npy.npy
745 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1374.npy.npy
746 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_63.npy.npy
747 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1376.npy.npy
748 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_510.npy.npy
749 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_969.npy.npy
750 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_494.npy.npy
751 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_11.npy.npy
752 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_50.npy.npy
753 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_375.npy.npy
754 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1266.npy.npy
755 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_77.npy.npy
756 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1447.npy.npy
757 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1441.npy.npy
758 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1336.npy.npy
759 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_443.npy.npy
760 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_390.npy.npy
761 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1270.npy.npy
762 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_803.npy.npy
763 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_385.npy.npy
764 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_321.npy.npy
765 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1439.npy.npy
766 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_354.npy.npy
767 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_470.npy.npy
768 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1401.npy.npy
769 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_337.npy.npy
770 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_746.npy.npy
771 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1248.npy.npy
772 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_305.npy.npy
773 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_115.npy.npy
774 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_75.npy.npy
775 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_904.npy.npy
776 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_769.npy.npy
777 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1457.npy.npy
778 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_183.npy.npy
779 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1263.npy.npy
780 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_331.npy.npy
781 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_345.npy.npy
782 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_952.npy.npy
783 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1249.npy.npy
784 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_6.npy.npy
785 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_889.npy.npy
786 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_31.npy.npy
787 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1305.npy.npy
788 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_315.npy.npy
789 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_750.npy.npy
790 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_301.npy.npy
791 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1422.npy.npy
792 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_137.npy.npy
793 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1298.npy.npy
794 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1253.npy.npy
795 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1230.npy.npy
796 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_866.npy.npy
797 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_982.npy.npy
798 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_364.npy.npy
799 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_763.npy.npy
800 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_418.npy.npy
801 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1.npy.npy
802 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_348.npy.npy
803 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_449.npy.npy
804 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1354.npy.npy
805 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1388.npy.npy
806 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1819.npy.npy
807 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1415.npy.npy
808 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1291.npy.npy
809 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_340.npy.npy
810 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1791.npy.npy
811 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_925.npy.npy
812 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_14.npy.npy
813 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_15.npy.npy
814 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_41.npy.npy
815 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_766.npy.npy
816 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_892.npy.npy
817 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_788.npy.npy
818 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_312.npy.npy
819 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_355.npy.npy
820 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1829.npy.npy
821 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1278.npy.npy
822 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1260.npy.npy
823 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_946.npy.npy
824 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1350.npy.npy
825 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_84.npy.npy
826 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_306.npy.npy
827 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_100.npy.npy
828 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_118.npy.npy
829 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_52.npy.npy
830 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_196.npy.npy
831 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_303.npy.npy
832 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_181.npy.npy
833 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1786.npy.npy
834 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_739.npy.npy
835 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_309.npy.npy
836 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1798.npy.npy
837 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_508.npy.npy
838 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_152.npy.npy
839 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_489.npy.npy
840 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_887.npy.npy
841 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_794.npy.npy
842 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_86.npy.npy
843 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1806.npy.npy
844 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_843.npy.npy
845 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_457.npy.npy
846 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_819.npy.npy
847 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_768.npy.npy
848 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1402.npy.npy
849 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_934.npy.npy
850 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_838.npy.npy
851 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_339.npy.npy
852 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_378.npy.npy
853 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1335.npy.npy
854 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_914.npy.npy
855 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1453.npy.npy
856 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1425.npy.npy
857 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1240.npy.npy
858 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_940.npy.npy
859 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_846.npy.npy
860 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_456.npy.npy
861 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_920.npy.npy
862 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1423.npy.npy
863 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_906.npy.npy
864 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_744.npy.npy
865 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1793.npy.npy
866 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_145.npy.npy
867 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_936.npy.npy
868 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1310.npy.npy
869 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1229.npy.npy
870 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1446.npy.npy
871 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_487.npy.npy
872 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_405.npy.npy
873 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1338.npy.npy
874 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1393.npy.npy
875 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1413.npy.npy
876 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_503.npy.npy
877 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_730.npy.npy
878 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_454.npy.npy
879 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_377.npy.npy
880 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_728.npy.npy
881 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_818.npy.npy
882 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_415.npy.npy
883 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1328.npy.npy
884 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_980.npy.npy
885 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1265.npy.npy
886 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_447.npy.npy
887 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_496.npy.npy
888 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_855.npy.npy
889 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_745.npy.npy
890 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_316.npy.npy
891 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_401.npy.npy
892 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_816.npy.npy
893 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_932.npy.npy
894 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_509.npy.npy
895 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1296.npy.npy
896 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1433.npy.npy
897 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1774.npy.npy
898 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1809.npy.npy
899 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_158.npy.npy
900 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_464.npy.npy
901 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_761.npy.npy
902 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1288.npy.npy
903 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_922.npy.npy
904 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_413.npy.npy
905 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_392.npy.npy
906 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1289.npy.npy
907 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_141.npy.npy
908 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_133.npy.npy
909 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1450.npy.npy
910 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_967.npy.npy
911 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_877.npy.npy
912 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1773.npy.npy
913 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_125.npy.npy
914 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_365.npy.npy
915 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_318.npy.npy
916 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1367.npy.npy
917 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_841.npy.npy
918 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_776.npy.npy
919 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_178.npy.npy
920 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1813.npy.npy
921 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_512.npy.npy
922 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_953.npy.npy
923 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1787.npy.npy
924 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_47.npy.npy
925 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_926.npy.npy
926 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1808.npy.npy
927 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_317.npy.npy
928 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_484.npy.npy
929 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_357.npy.npy
930 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_947.npy.npy
931 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_839.npy.npy
932 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1285.npy.npy
933 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1234.npy.npy
934 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_799.npy.npy
935 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1784.npy.npy
936 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_432.npy.npy
937 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_56.npy.npy
938 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1395.npy.npy
939 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_104.npy.npy
940 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_870.npy.npy
941 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_963.npy.npy
942 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_427.npy.npy
943 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_423.npy.npy
944 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1428.npy.npy
945 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_386.npy.npy
946 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_913.npy.npy
947 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1364.npy.npy
948 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_939.npy.npy
949 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1416.npy.npy
950 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1418.npy.npy
951 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_948.npy.npy
952 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_112.npy.npy
953 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_195.npy.npy
954 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1391.npy.npy
955 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1795.npy.npy
956 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_921.npy.npy
957 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_80.npy.npy
958 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1312.npy.npy
959 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1276.npy.npy
960 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1227.npy.npy
961 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1399.npy.npy
962 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_448.npy.npy
963 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_964.npy.npy
964 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_890.npy.npy

@ -0,0 +1,964 @@
file_name
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1258.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_890.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1780.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_362.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_166.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_754.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_780.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1401.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1811.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_854.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_178.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1804.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_818.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_441.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_372.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_333.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1304.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1799.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_428.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_506.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_163.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_497.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1411.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_425.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_459.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1358.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_482.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_968.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1337.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_496.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_842.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1353.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_808.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_90.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_961.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_128.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_32.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_474.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_918.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_738.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_964.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_135.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_744.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_883.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_162.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_316.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1395.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1280.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_764.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_866.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_835.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_479.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_783.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_151.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_838.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_779.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_909.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1237.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_943.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_156.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_311.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_8.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_806.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_402.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_481.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_962.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_50.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_819.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_421.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1447.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_200.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1362.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1446.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_805.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_832.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_14.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_13.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1373.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_371.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_515.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1444.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_797.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_326.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_929.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_180.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_917.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_955.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_827.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1805.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_184.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1386.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_21.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1440.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_420.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_795.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_345.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_504.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_114.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_375.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_383.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_954.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_355.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_849.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_817.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1292.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_386.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_191.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_467.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1414.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1404.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_824.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1775.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_946.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_739.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_36.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1308.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_382.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_462.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_123.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_390.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_387.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1807.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1406.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_353.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_446.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_912.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1423.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_951.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_429.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_887.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_937.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1824.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_830.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_348.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_424.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1431.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_380.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1393.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_131.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1230.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_411.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1227.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_320.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_899.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1416.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_67.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_182.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_907.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_765.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_406.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_939.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1425.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_352.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_126.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_15.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1343.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_407.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1409.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_748.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_72.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_106.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_816.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_511.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_392.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1823.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_360.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_404.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1389.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_92.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1275.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1364.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1336.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_882.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1298.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_31.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1817.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_510.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_144.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_314.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1347.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_330.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1344.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_760.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1787.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1399.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_306.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_388.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1369.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_44.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_729.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_340.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1809.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_98.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_80.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1352.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_847.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_139.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_401.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_47.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_860.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1436.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_821.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1428.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_397.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_449.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_329.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_845.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_99.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_39.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1786.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_303.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1357.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1360.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1264.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_447.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_746.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1410.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1330.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1814.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_75.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_958.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_349.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1417.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_494.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_53.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_960.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1225.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_86.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1795.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_919.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_37.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_452.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_498.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_859.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_341.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_57.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_444.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_136.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_507.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_508.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_374.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_395.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_898.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_980.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_485.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_42.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_851.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1327.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1350.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_470.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1276.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_204.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_321.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_758.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_920.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_83.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_34.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_186.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_776.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1248.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_751.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_207.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_130.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_502.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_38.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_361.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_736.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1260.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_886.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_196.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_367.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_158.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_319.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1412.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_179.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_843.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_796.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1351.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_74.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_430.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_893.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_500.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_159.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1813.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_801.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_873.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1374.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_152.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_51.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1449.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_343.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_62.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1290.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_30.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1398.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1456.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_941.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_9.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_458.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_59.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_837.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_435.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_307.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_120.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_793.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_60.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1257.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_185.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_457.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_503.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1403.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_804.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1437.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1310.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_85.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_305.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_150.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_137.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_863.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_985.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_2.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_836.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1300.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_164.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_813.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_768.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_865.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_913.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_318.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1778.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1287.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_914.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_923.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1822.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_756.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_488.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_512.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1796.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1321.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1777.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_111.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1311.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1421.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_761.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1808.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_16.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_869.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1328.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1326.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_398.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_461.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_23.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_875.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_168.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_433.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1251.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_921.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_165.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1812.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_928.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_335.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_133.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1235.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_342.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1245.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_456.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_489.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_115.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_463.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_143.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_149.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1323.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_206.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1791.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1241.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_978.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_325.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_877.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_472.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_774.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_902.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_938.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_377.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1246.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_358.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1265.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1453.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_740.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_499.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1319.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1450.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_925.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_426.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1256.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_922.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1429.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1296.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_789.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_142.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_187.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_45.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_413.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_916.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_49.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_391.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_0.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_181.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_91.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_344.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1339.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_61.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1826.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_731.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1402.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1806.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_769.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1281.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_192.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_28.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_116.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1259.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_312.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_417.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_811.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_369.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_767.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_448.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_932.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1232.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_743.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1371.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_895.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_434.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_878.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1419.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_427.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1819.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1262.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_466.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1366.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_905.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1438.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_778.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_455.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_880.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1427.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_927.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1242.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_495.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1443.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_953.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1375.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1789.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_112.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_834.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1279.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_96.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_803.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1293.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1228.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1354.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1334.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_867.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_831.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_442.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_464.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1377.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_966.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1372.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_889.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_897.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_40.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_900.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_101.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_825.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_436.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_22.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_408.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1829.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_965.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_117.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_65.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_840.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_812.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1324.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1783.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_122.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1305.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1793.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_393.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_844.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_105.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_205.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_41.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_826.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_766.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_940.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1828.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_981.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1779.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1396.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_141.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_302.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1384.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_87.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_203.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_876.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_104.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_734.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_870.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_460.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_25.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1413.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_107.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_926.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_815.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_450.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1773.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_437.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1782.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_931.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1294.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_351.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_947.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_888.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_728.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_422.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_118.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_157.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_147.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_901.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_95.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_792.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1355.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_416.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_19.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_791.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1238.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_892.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_17.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_759.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_983.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_93.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_509.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_109.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1239.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_800.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1309.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1359.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_755.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_957.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_322.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_952.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_84.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_129.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_119.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1333.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1307.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_323.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1397.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1253.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_451.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_752.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1381.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1435.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_100.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1442.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_194.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1340.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1301.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_338.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_195.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1229.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_378.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1394.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_486.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_833.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1408.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_385.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_346.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_747.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1289.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1451.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1233.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_336.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1356.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_948.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_20.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1269.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_959.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1317.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1341.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_807.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_58.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_52.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_432.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_839.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1422.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_782.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1801.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1810.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_313.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_33.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1297.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_443.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_331.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1378.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_125.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1342.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_27.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1430.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1790.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_862.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1338.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1254.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_477.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1426.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_492.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_872.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_820.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_110.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1236.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_868.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1348.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_772.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_108.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1303.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_737.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_405.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_423.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_794.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_394.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1313.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_970.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_77.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1452.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_790.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_483.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_82.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_490.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_121.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1800.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1792.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1325.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1306.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_359.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1277.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_484.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_468.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_410.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_160.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1231.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_473.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_493.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_809.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_858.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_373.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_788.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_969.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_911.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_802.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_975.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_846.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1434.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_94.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1244.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_950.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_505.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1240.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1424.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_69.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_379.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_749.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_885.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_71.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_10.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_350.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_376.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_810.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_967.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_347.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_785.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_370.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1314.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_140.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_852.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_848.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_487.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_54.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_24.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1266.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_148.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_763.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1252.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_798.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_29.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_97.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1335.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1415.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_88.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_841.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1827.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_183.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_514.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_963.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1433.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_727.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1295.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_202.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1255.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_735.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_786.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_480.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1250.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_366.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_414.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_103.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1349.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1261.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1391.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_364.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_363.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_56.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1286.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1267.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_879.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1785.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_864.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1821.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_12.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1263.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_5.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1322.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_770.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_412.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_368.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1400.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_757.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1802.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_935.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_155.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1302.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_43.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1316.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_742.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_339.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_146.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_18.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_198.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1270.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_134.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_73.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1818.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_857.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_979.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1383.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_933.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1272.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1284.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_903.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_357.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_945.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_465.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_356.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_400.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1291.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_419.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1772.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1388.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1318.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1346.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1370.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_773.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_891.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_332.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_127.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1788.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_750.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1382.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_384.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1420.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_753.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1249.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_102.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_7.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1278.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1361.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1455.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1784.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_781.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_822.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_469.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_762.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_874.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_324.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1243.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_984.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1224.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_775.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_396.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1407.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_942.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_310.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1331.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_513.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_501.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_894.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_930.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_491.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1797.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_169.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_476.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_977.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_46.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1815.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_777.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_944.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1441.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_973.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1798.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_881.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_850.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_915.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_853.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_787.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1376.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1320.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_6.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_956.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_55.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_328.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_855.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_784.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1445.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1803.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_949.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1329.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_884.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_403.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_138.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1345.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_68.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_389.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_445.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_934.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1282.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_301.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_936.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1439.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1283.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1781.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_478.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_828.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_733.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_365.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1271.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1299.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_418.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1363.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1457.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_3.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_317.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_315.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_475.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1454.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_76.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_193.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1268.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_337.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_976.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_908.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_48.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_124.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1332.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_26.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_896.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_910.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1387.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_439.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1367.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1226.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_145.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_167.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1448.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_354.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1390.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_70.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1273.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1288.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1405.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_201.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_982.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_829.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_906.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_64.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_304.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1825.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_161.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_741.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_924.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_113.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1432.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_399.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_4.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_454.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_814.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_972.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_861.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1774.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1368.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1315.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_199.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1794.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1274.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_89.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_381.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_153.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1380.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_81.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1385.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_440.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1816.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1418.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_904.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_823.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1379.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_799.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_732.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1285.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_308.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_154.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_11.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_438.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_309.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_415.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1365.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1247.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_856.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_453.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_971.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1820.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_431.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_471.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_197.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1776.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_409.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_327.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_66.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1234.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_771.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_35.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_132.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_974.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_871.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_334.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_78.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1312.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_745.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_79.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1392.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_730.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_63.npy.npy
1 file_name
2 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1258.npy.npy
3 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_890.npy.npy
4 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1780.npy.npy
5 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_362.npy.npy
6 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_166.npy.npy
7 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_754.npy.npy
8 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_780.npy.npy
9 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1401.npy.npy
10 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1811.npy.npy
11 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_854.npy.npy
12 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_178.npy.npy
13 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1804.npy.npy
14 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_818.npy.npy
15 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_441.npy.npy
16 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_372.npy.npy
17 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_333.npy.npy
18 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1304.npy.npy
19 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1799.npy.npy
20 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_428.npy.npy
21 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_506.npy.npy
22 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_163.npy.npy
23 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_497.npy.npy
24 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1411.npy.npy
25 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_425.npy.npy
26 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_459.npy.npy
27 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1358.npy.npy
28 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_482.npy.npy
29 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_968.npy.npy
30 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1337.npy.npy
31 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_496.npy.npy
32 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_842.npy.npy
33 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1353.npy.npy
34 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_808.npy.npy
35 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_90.npy.npy
36 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_961.npy.npy
37 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_128.npy.npy
38 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_32.npy.npy
39 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_474.npy.npy
40 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_918.npy.npy
41 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_738.npy.npy
42 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_964.npy.npy
43 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_135.npy.npy
44 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_744.npy.npy
45 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_883.npy.npy
46 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_162.npy.npy
47 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_316.npy.npy
48 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1395.npy.npy
49 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1280.npy.npy
50 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_764.npy.npy
51 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_866.npy.npy
52 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_835.npy.npy
53 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_479.npy.npy
54 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_783.npy.npy
55 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_151.npy.npy
56 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_838.npy.npy
57 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_779.npy.npy
58 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_909.npy.npy
59 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1237.npy.npy
60 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_943.npy.npy
61 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_156.npy.npy
62 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_311.npy.npy
63 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_8.npy.npy
64 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_806.npy.npy
65 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_402.npy.npy
66 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_481.npy.npy
67 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_962.npy.npy
68 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_50.npy.npy
69 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_819.npy.npy
70 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_421.npy.npy
71 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1447.npy.npy
72 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_200.npy.npy
73 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1362.npy.npy
74 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1446.npy.npy
75 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_805.npy.npy
76 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_832.npy.npy
77 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_14.npy.npy
78 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_13.npy.npy
79 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1373.npy.npy
80 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_371.npy.npy
81 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_515.npy.npy
82 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1444.npy.npy
83 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_797.npy.npy
84 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_326.npy.npy
85 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_929.npy.npy
86 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_180.npy.npy
87 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_917.npy.npy
88 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_955.npy.npy
89 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_827.npy.npy
90 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1805.npy.npy
91 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_184.npy.npy
92 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1386.npy.npy
93 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_21.npy.npy
94 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1440.npy.npy
95 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_420.npy.npy
96 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_795.npy.npy
97 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_345.npy.npy
98 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_504.npy.npy
99 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_114.npy.npy
100 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_375.npy.npy
101 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_383.npy.npy
102 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_954.npy.npy
103 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_355.npy.npy
104 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1.npy.npy
105 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_849.npy.npy
106 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_817.npy.npy
107 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1292.npy.npy
108 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_386.npy.npy
109 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_191.npy.npy
110 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_467.npy.npy
111 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1414.npy.npy
112 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1404.npy.npy
113 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_824.npy.npy
114 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1775.npy.npy
115 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_946.npy.npy
116 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_739.npy.npy
117 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_36.npy.npy
118 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1308.npy.npy
119 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_382.npy.npy
120 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_462.npy.npy
121 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_123.npy.npy
122 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_390.npy.npy
123 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_387.npy.npy
124 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1807.npy.npy
125 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1406.npy.npy
126 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_353.npy.npy
127 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_446.npy.npy
128 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_912.npy.npy
129 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1423.npy.npy
130 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_951.npy.npy
131 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_429.npy.npy
132 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_887.npy.npy
133 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_937.npy.npy
134 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1824.npy.npy
135 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_830.npy.npy
136 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_348.npy.npy
137 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_424.npy.npy
138 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1431.npy.npy
139 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_380.npy.npy
140 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1393.npy.npy
141 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_131.npy.npy
142 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1230.npy.npy
143 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_411.npy.npy
144 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1227.npy.npy
145 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_320.npy.npy
146 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_899.npy.npy
147 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1416.npy.npy
148 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_67.npy.npy
149 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_182.npy.npy
150 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_907.npy.npy
151 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_765.npy.npy
152 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_406.npy.npy
153 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_939.npy.npy
154 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1425.npy.npy
155 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_352.npy.npy
156 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_126.npy.npy
157 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_15.npy.npy
158 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1343.npy.npy
159 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_407.npy.npy
160 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1409.npy.npy
161 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_748.npy.npy
162 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_72.npy.npy
163 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_106.npy.npy
164 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_816.npy.npy
165 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_511.npy.npy
166 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_392.npy.npy
167 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1823.npy.npy
168 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_360.npy.npy
169 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_404.npy.npy
170 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1389.npy.npy
171 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_92.npy.npy
172 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1275.npy.npy
173 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1364.npy.npy
174 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1336.npy.npy
175 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_882.npy.npy
176 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1298.npy.npy
177 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_31.npy.npy
178 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1817.npy.npy
179 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_510.npy.npy
180 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_144.npy.npy
181 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_314.npy.npy
182 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1347.npy.npy
183 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_330.npy.npy
184 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1344.npy.npy
185 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_760.npy.npy
186 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1787.npy.npy
187 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1399.npy.npy
188 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_306.npy.npy
189 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_388.npy.npy
190 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1369.npy.npy
191 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_44.npy.npy
192 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_729.npy.npy
193 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_340.npy.npy
194 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1809.npy.npy
195 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_98.npy.npy
196 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_80.npy.npy
197 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1352.npy.npy
198 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_847.npy.npy
199 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_139.npy.npy
200 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_401.npy.npy
201 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_47.npy.npy
202 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_860.npy.npy
203 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1436.npy.npy
204 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_821.npy.npy
205 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1428.npy.npy
206 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_397.npy.npy
207 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_449.npy.npy
208 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_329.npy.npy
209 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_845.npy.npy
210 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_99.npy.npy
211 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_39.npy.npy
212 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1786.npy.npy
213 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_303.npy.npy
214 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1357.npy.npy
215 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1360.npy.npy
216 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1264.npy.npy
217 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_447.npy.npy
218 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_746.npy.npy
219 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1410.npy.npy
220 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1330.npy.npy
221 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1814.npy.npy
222 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_75.npy.npy
223 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_958.npy.npy
224 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_349.npy.npy
225 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1417.npy.npy
226 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_494.npy.npy
227 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_53.npy.npy
228 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_960.npy.npy
229 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1225.npy.npy
230 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_86.npy.npy
231 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1795.npy.npy
232 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_919.npy.npy
233 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_37.npy.npy
234 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_452.npy.npy
235 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_498.npy.npy
236 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_859.npy.npy
237 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_341.npy.npy
238 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_57.npy.npy
239 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_444.npy.npy
240 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_136.npy.npy
241 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_507.npy.npy
242 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_508.npy.npy
243 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_374.npy.npy
244 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_395.npy.npy
245 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_898.npy.npy
246 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_980.npy.npy
247 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_485.npy.npy
248 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_42.npy.npy
249 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_851.npy.npy
250 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1327.npy.npy
251 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1350.npy.npy
252 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_470.npy.npy
253 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1276.npy.npy
254 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_204.npy.npy
255 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_321.npy.npy
256 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_758.npy.npy
257 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_920.npy.npy
258 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_83.npy.npy
259 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_34.npy.npy
260 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_186.npy.npy
261 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_776.npy.npy
262 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1248.npy.npy
263 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_751.npy.npy
264 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_207.npy.npy
265 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_130.npy.npy
266 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_502.npy.npy
267 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_38.npy.npy
268 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_361.npy.npy
269 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_736.npy.npy
270 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1260.npy.npy
271 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_886.npy.npy
272 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_196.npy.npy
273 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_367.npy.npy
274 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_158.npy.npy
275 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_319.npy.npy
276 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1412.npy.npy
277 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_179.npy.npy
278 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_843.npy.npy
279 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_796.npy.npy
280 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1351.npy.npy
281 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_74.npy.npy
282 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_430.npy.npy
283 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_893.npy.npy
284 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_500.npy.npy
285 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_159.npy.npy
286 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1813.npy.npy
287 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_801.npy.npy
288 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_873.npy.npy
289 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1374.npy.npy
290 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_152.npy.npy
291 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_51.npy.npy
292 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1449.npy.npy
293 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_343.npy.npy
294 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_62.npy.npy
295 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1290.npy.npy
296 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_30.npy.npy
297 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1398.npy.npy
298 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1456.npy.npy
299 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_941.npy.npy
300 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_9.npy.npy
301 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_458.npy.npy
302 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_59.npy.npy
303 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_837.npy.npy
304 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_435.npy.npy
305 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_307.npy.npy
306 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_120.npy.npy
307 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_793.npy.npy
308 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_60.npy.npy
309 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1257.npy.npy
310 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_185.npy.npy
311 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_457.npy.npy
312 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_503.npy.npy
313 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1403.npy.npy
314 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_804.npy.npy
315 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1437.npy.npy
316 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1310.npy.npy
317 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_85.npy.npy
318 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_305.npy.npy
319 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_150.npy.npy
320 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_137.npy.npy
321 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_863.npy.npy
322 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_985.npy.npy
323 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_2.npy.npy
324 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_836.npy.npy
325 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1300.npy.npy
326 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_164.npy.npy
327 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_813.npy.npy
328 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_768.npy.npy
329 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_865.npy.npy
330 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_913.npy.npy
331 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_318.npy.npy
332 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1778.npy.npy
333 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1287.npy.npy
334 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_914.npy.npy
335 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_923.npy.npy
336 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1822.npy.npy
337 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_756.npy.npy
338 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_488.npy.npy
339 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_512.npy.npy
340 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1796.npy.npy
341 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1321.npy.npy
342 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1777.npy.npy
343 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_111.npy.npy
344 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1311.npy.npy
345 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1421.npy.npy
346 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_761.npy.npy
347 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1808.npy.npy
348 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_16.npy.npy
349 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_869.npy.npy
350 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1328.npy.npy
351 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1326.npy.npy
352 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_398.npy.npy
353 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_461.npy.npy
354 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_23.npy.npy
355 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_875.npy.npy
356 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_168.npy.npy
357 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_433.npy.npy
358 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1251.npy.npy
359 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_921.npy.npy
360 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_165.npy.npy
361 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1812.npy.npy
362 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_928.npy.npy
363 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_335.npy.npy
364 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_133.npy.npy
365 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1235.npy.npy
366 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_342.npy.npy
367 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1245.npy.npy
368 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_456.npy.npy
369 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_489.npy.npy
370 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_115.npy.npy
371 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_463.npy.npy
372 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_143.npy.npy
373 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_149.npy.npy
374 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1323.npy.npy
375 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_206.npy.npy
376 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1791.npy.npy
377 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1241.npy.npy
378 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_978.npy.npy
379 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_325.npy.npy
380 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_877.npy.npy
381 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_472.npy.npy
382 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_774.npy.npy
383 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_902.npy.npy
384 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_938.npy.npy
385 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_377.npy.npy
386 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1246.npy.npy
387 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_358.npy.npy
388 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1265.npy.npy
389 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1453.npy.npy
390 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_740.npy.npy
391 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_499.npy.npy
392 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1319.npy.npy
393 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1450.npy.npy
394 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_925.npy.npy
395 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_426.npy.npy
396 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1256.npy.npy
397 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_922.npy.npy
398 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1429.npy.npy
399 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1296.npy.npy
400 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_789.npy.npy
401 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_142.npy.npy
402 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_187.npy.npy
403 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_45.npy.npy
404 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_413.npy.npy
405 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_916.npy.npy
406 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_49.npy.npy
407 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_391.npy.npy
408 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_0.npy.npy
409 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_181.npy.npy
410 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_91.npy.npy
411 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_344.npy.npy
412 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1339.npy.npy
413 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_61.npy.npy
414 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1826.npy.npy
415 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_731.npy.npy
416 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1402.npy.npy
417 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1806.npy.npy
418 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_769.npy.npy
419 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1281.npy.npy
420 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_192.npy.npy
421 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_28.npy.npy
422 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_116.npy.npy
423 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1259.npy.npy
424 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_312.npy.npy
425 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_417.npy.npy
426 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_811.npy.npy
427 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_369.npy.npy
428 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_767.npy.npy
429 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_448.npy.npy
430 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_932.npy.npy
431 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1232.npy.npy
432 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_743.npy.npy
433 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1371.npy.npy
434 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_895.npy.npy
435 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_434.npy.npy
436 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_878.npy.npy
437 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1419.npy.npy
438 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_427.npy.npy
439 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1819.npy.npy
440 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1262.npy.npy
441 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_466.npy.npy
442 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1366.npy.npy
443 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_905.npy.npy
444 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1438.npy.npy
445 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_778.npy.npy
446 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_455.npy.npy
447 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_880.npy.npy
448 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1427.npy.npy
449 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_927.npy.npy
450 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1242.npy.npy
451 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_495.npy.npy
452 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1443.npy.npy
453 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_953.npy.npy
454 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1375.npy.npy
455 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1789.npy.npy
456 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_112.npy.npy
457 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_834.npy.npy
458 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1279.npy.npy
459 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_96.npy.npy
460 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_803.npy.npy
461 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1293.npy.npy
462 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1228.npy.npy
463 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1354.npy.npy
464 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1334.npy.npy
465 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_867.npy.npy
466 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_831.npy.npy
467 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_442.npy.npy
468 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_464.npy.npy
469 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1377.npy.npy
470 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_966.npy.npy
471 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1372.npy.npy
472 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_889.npy.npy
473 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_897.npy.npy
474 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_40.npy.npy
475 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_900.npy.npy
476 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_101.npy.npy
477 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_825.npy.npy
478 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_436.npy.npy
479 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_22.npy.npy
480 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_408.npy.npy
481 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1829.npy.npy
482 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_965.npy.npy
483 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_117.npy.npy
484 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_65.npy.npy
485 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_840.npy.npy
486 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_812.npy.npy
487 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1324.npy.npy
488 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1783.npy.npy
489 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_122.npy.npy
490 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1305.npy.npy
491 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1793.npy.npy
492 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_393.npy.npy
493 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_844.npy.npy
494 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_105.npy.npy
495 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_205.npy.npy
496 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_41.npy.npy
497 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_826.npy.npy
498 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_766.npy.npy
499 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_940.npy.npy
500 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1828.npy.npy
501 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_981.npy.npy
502 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1779.npy.npy
503 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1396.npy.npy
504 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_141.npy.npy
505 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_302.npy.npy
506 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1384.npy.npy
507 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_87.npy.npy
508 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_203.npy.npy
509 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_876.npy.npy
510 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_104.npy.npy
511 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_734.npy.npy
512 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_870.npy.npy
513 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_460.npy.npy
514 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_25.npy.npy
515 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1413.npy.npy
516 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_107.npy.npy
517 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_926.npy.npy
518 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_815.npy.npy
519 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_450.npy.npy
520 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1773.npy.npy
521 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_437.npy.npy
522 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1782.npy.npy
523 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_931.npy.npy
524 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1294.npy.npy
525 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_351.npy.npy
526 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_947.npy.npy
527 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_888.npy.npy
528 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_728.npy.npy
529 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_422.npy.npy
530 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_118.npy.npy
531 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_157.npy.npy
532 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_147.npy.npy
533 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_901.npy.npy
534 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_95.npy.npy
535 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_792.npy.npy
536 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1355.npy.npy
537 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_416.npy.npy
538 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_19.npy.npy
539 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_791.npy.npy
540 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1238.npy.npy
541 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_892.npy.npy
542 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_17.npy.npy
543 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_759.npy.npy
544 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_983.npy.npy
545 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_93.npy.npy
546 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_509.npy.npy
547 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_109.npy.npy
548 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1239.npy.npy
549 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_800.npy.npy
550 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1309.npy.npy
551 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1359.npy.npy
552 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_755.npy.npy
553 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_957.npy.npy
554 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_322.npy.npy
555 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_952.npy.npy
556 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_84.npy.npy
557 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_129.npy.npy
558 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_119.npy.npy
559 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1333.npy.npy
560 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1307.npy.npy
561 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_323.npy.npy
562 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1397.npy.npy
563 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1253.npy.npy
564 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_451.npy.npy
565 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_752.npy.npy
566 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1381.npy.npy
567 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1435.npy.npy
568 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_100.npy.npy
569 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1442.npy.npy
570 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_194.npy.npy
571 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1340.npy.npy
572 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1301.npy.npy
573 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_338.npy.npy
574 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_195.npy.npy
575 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1229.npy.npy
576 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_378.npy.npy
577 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1394.npy.npy
578 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_486.npy.npy
579 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_833.npy.npy
580 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1408.npy.npy
581 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_385.npy.npy
582 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_346.npy.npy
583 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_747.npy.npy
584 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1289.npy.npy
585 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1451.npy.npy
586 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1233.npy.npy
587 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_336.npy.npy
588 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1356.npy.npy
589 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_948.npy.npy
590 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_20.npy.npy
591 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1269.npy.npy
592 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_959.npy.npy
593 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1317.npy.npy
594 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1341.npy.npy
595 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_807.npy.npy
596 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_58.npy.npy
597 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_52.npy.npy
598 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_432.npy.npy
599 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_839.npy.npy
600 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1422.npy.npy
601 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_782.npy.npy
602 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1801.npy.npy
603 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1810.npy.npy
604 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_313.npy.npy
605 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_33.npy.npy
606 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1297.npy.npy
607 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_443.npy.npy
608 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_331.npy.npy
609 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1378.npy.npy
610 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_125.npy.npy
611 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1342.npy.npy
612 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_27.npy.npy
613 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1430.npy.npy
614 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1790.npy.npy
615 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_862.npy.npy
616 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1338.npy.npy
617 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1254.npy.npy
618 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_477.npy.npy
619 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1426.npy.npy
620 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_492.npy.npy
621 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_872.npy.npy
622 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_820.npy.npy
623 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_110.npy.npy
624 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1236.npy.npy
625 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_868.npy.npy
626 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1348.npy.npy
627 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_772.npy.npy
628 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_108.npy.npy
629 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1303.npy.npy
630 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_737.npy.npy
631 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_405.npy.npy
632 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_423.npy.npy
633 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_794.npy.npy
634 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_394.npy.npy
635 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1313.npy.npy
636 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_970.npy.npy
637 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_77.npy.npy
638 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1452.npy.npy
639 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_790.npy.npy
640 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_483.npy.npy
641 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_82.npy.npy
642 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_490.npy.npy
643 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_121.npy.npy
644 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1800.npy.npy
645 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1792.npy.npy
646 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1325.npy.npy
647 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1306.npy.npy
648 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_359.npy.npy
649 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1277.npy.npy
650 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_484.npy.npy
651 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_468.npy.npy
652 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_410.npy.npy
653 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_160.npy.npy
654 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1231.npy.npy
655 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_473.npy.npy
656 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_493.npy.npy
657 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_809.npy.npy
658 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_858.npy.npy
659 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_373.npy.npy
660 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_788.npy.npy
661 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_969.npy.npy
662 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_911.npy.npy
663 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_802.npy.npy
664 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_975.npy.npy
665 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_846.npy.npy
666 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1434.npy.npy
667 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_94.npy.npy
668 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1244.npy.npy
669 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_950.npy.npy
670 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_505.npy.npy
671 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1240.npy.npy
672 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1424.npy.npy
673 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_69.npy.npy
674 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_379.npy.npy
675 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_749.npy.npy
676 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_885.npy.npy
677 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_71.npy.npy
678 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_10.npy.npy
679 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_350.npy.npy
680 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_376.npy.npy
681 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_810.npy.npy
682 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_967.npy.npy
683 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_347.npy.npy
684 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_785.npy.npy
685 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_370.npy.npy
686 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1314.npy.npy
687 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_140.npy.npy
688 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_852.npy.npy
689 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_848.npy.npy
690 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_487.npy.npy
691 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_54.npy.npy
692 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_24.npy.npy
693 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1266.npy.npy
694 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_148.npy.npy
695 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_763.npy.npy
696 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1252.npy.npy
697 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_798.npy.npy
698 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_29.npy.npy
699 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_97.npy.npy
700 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1335.npy.npy
701 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1415.npy.npy
702 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_88.npy.npy
703 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_841.npy.npy
704 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1827.npy.npy
705 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_183.npy.npy
706 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_514.npy.npy
707 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_963.npy.npy
708 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1433.npy.npy
709 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_727.npy.npy
710 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1295.npy.npy
711 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_202.npy.npy
712 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1255.npy.npy
713 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_735.npy.npy
714 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_786.npy.npy
715 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_480.npy.npy
716 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1250.npy.npy
717 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_366.npy.npy
718 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_414.npy.npy
719 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_103.npy.npy
720 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1349.npy.npy
721 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1261.npy.npy
722 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1391.npy.npy
723 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_364.npy.npy
724 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_363.npy.npy
725 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_56.npy.npy
726 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1286.npy.npy
727 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1267.npy.npy
728 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_879.npy.npy
729 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1785.npy.npy
730 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_864.npy.npy
731 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1821.npy.npy
732 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_12.npy.npy
733 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1263.npy.npy
734 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_5.npy.npy
735 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1322.npy.npy
736 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_770.npy.npy
737 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_412.npy.npy
738 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_368.npy.npy
739 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1400.npy.npy
740 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_757.npy.npy
741 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1802.npy.npy
742 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_935.npy.npy
743 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_155.npy.npy
744 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1302.npy.npy
745 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_43.npy.npy
746 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1316.npy.npy
747 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_742.npy.npy
748 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_339.npy.npy
749 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_146.npy.npy
750 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_18.npy.npy
751 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_198.npy.npy
752 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1270.npy.npy
753 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_134.npy.npy
754 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_73.npy.npy
755 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1818.npy.npy
756 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_857.npy.npy
757 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_979.npy.npy
758 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1383.npy.npy
759 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_933.npy.npy
760 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1272.npy.npy
761 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1284.npy.npy
762 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_903.npy.npy
763 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_357.npy.npy
764 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_945.npy.npy
765 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_465.npy.npy
766 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_356.npy.npy
767 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_400.npy.npy
768 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1291.npy.npy
769 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_419.npy.npy
770 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1772.npy.npy
771 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1388.npy.npy
772 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1318.npy.npy
773 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1346.npy.npy
774 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1370.npy.npy
775 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_773.npy.npy
776 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_891.npy.npy
777 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_332.npy.npy
778 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_127.npy.npy
779 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1788.npy.npy
780 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_750.npy.npy
781 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1382.npy.npy
782 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_384.npy.npy
783 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1420.npy.npy
784 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_753.npy.npy
785 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1249.npy.npy
786 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_102.npy.npy
787 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_7.npy.npy
788 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1278.npy.npy
789 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1361.npy.npy
790 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1455.npy.npy
791 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1784.npy.npy
792 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_781.npy.npy
793 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_822.npy.npy
794 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_469.npy.npy
795 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_762.npy.npy
796 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_874.npy.npy
797 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_324.npy.npy
798 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1243.npy.npy
799 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_984.npy.npy
800 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1224.npy.npy
801 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_775.npy.npy
802 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_396.npy.npy
803 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1407.npy.npy
804 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_942.npy.npy
805 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_310.npy.npy
806 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1331.npy.npy
807 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_513.npy.npy
808 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_501.npy.npy
809 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_894.npy.npy
810 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_930.npy.npy
811 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_491.npy.npy
812 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1797.npy.npy
813 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_169.npy.npy
814 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_476.npy.npy
815 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_977.npy.npy
816 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_46.npy.npy
817 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1815.npy.npy
818 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_777.npy.npy
819 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_944.npy.npy
820 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1441.npy.npy
821 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_973.npy.npy
822 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1798.npy.npy
823 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_881.npy.npy
824 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_850.npy.npy
825 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_915.npy.npy
826 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_853.npy.npy
827 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_787.npy.npy
828 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1376.npy.npy
829 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1320.npy.npy
830 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_6.npy.npy
831 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_956.npy.npy
832 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_55.npy.npy
833 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_328.npy.npy
834 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_855.npy.npy
835 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_784.npy.npy
836 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1445.npy.npy
837 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1803.npy.npy
838 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_949.npy.npy
839 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1329.npy.npy
840 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_884.npy.npy
841 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_403.npy.npy
842 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_138.npy.npy
843 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1345.npy.npy
844 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_68.npy.npy
845 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_389.npy.npy
846 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_445.npy.npy
847 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_934.npy.npy
848 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1282.npy.npy
849 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_301.npy.npy
850 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_936.npy.npy
851 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1439.npy.npy
852 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1283.npy.npy
853 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1781.npy.npy
854 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_478.npy.npy
855 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_828.npy.npy
856 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_733.npy.npy
857 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_365.npy.npy
858 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1271.npy.npy
859 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1299.npy.npy
860 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_418.npy.npy
861 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1363.npy.npy
862 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1457.npy.npy
863 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_3.npy.npy
864 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_317.npy.npy
865 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_315.npy.npy
866 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_475.npy.npy
867 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1454.npy.npy
868 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_76.npy.npy
869 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_193.npy.npy
870 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1268.npy.npy
871 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_337.npy.npy
872 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_976.npy.npy
873 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_908.npy.npy
874 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_48.npy.npy
875 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_124.npy.npy
876 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1332.npy.npy
877 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_26.npy.npy
878 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_896.npy.npy
879 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_910.npy.npy
880 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1387.npy.npy
881 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_439.npy.npy
882 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1367.npy.npy
883 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1226.npy.npy
884 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_145.npy.npy
885 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_167.npy.npy
886 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1448.npy.npy
887 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_354.npy.npy
888 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1390.npy.npy
889 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_70.npy.npy
890 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1273.npy.npy
891 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1288.npy.npy
892 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1405.npy.npy
893 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_201.npy.npy
894 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_982.npy.npy
895 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_829.npy.npy
896 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_906.npy.npy
897 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_64.npy.npy
898 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_304.npy.npy
899 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1825.npy.npy
900 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_161.npy.npy
901 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_741.npy.npy
902 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_924.npy.npy
903 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_113.npy.npy
904 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1432.npy.npy
905 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_399.npy.npy
906 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_4.npy.npy
907 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_454.npy.npy
908 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_814.npy.npy
909 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_972.npy.npy
910 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_861.npy.npy
911 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1774.npy.npy
912 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1368.npy.npy
913 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1315.npy.npy
914 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_199.npy.npy
915 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1794.npy.npy
916 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1274.npy.npy
917 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_89.npy.npy
918 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_381.npy.npy
919 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_153.npy.npy
920 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1380.npy.npy
921 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_81.npy.npy
922 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1385.npy.npy
923 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_440.npy.npy
924 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1816.npy.npy
925 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1418.npy.npy
926 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_904.npy.npy
927 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_823.npy.npy
928 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1379.npy.npy
929 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_799.npy.npy
930 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_732.npy.npy
931 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1285.npy.npy
932 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_308.npy.npy
933 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_154.npy.npy
934 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_11.npy.npy
935 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_438.npy.npy
936 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_309.npy.npy
937 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_415.npy.npy
938 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1365.npy.npy
939 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1247.npy.npy
940 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_856.npy.npy
941 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_453.npy.npy
942 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_971.npy.npy
943 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1820.npy.npy
944 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_431.npy.npy
945 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_471.npy.npy
946 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_197.npy.npy
947 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1776.npy.npy
948 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_409.npy.npy
949 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_327.npy.npy
950 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_66.npy.npy
951 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1234.npy.npy
952 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_771.npy.npy
953 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_35.npy.npy
954 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_132.npy.npy
955 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_974.npy.npy
956 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_871.npy.npy
957 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_334.npy.npy
958 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_78.npy.npy
959 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1312.npy.npy
960 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_745.npy.npy
961 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_79.npy.npy
962 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1392.npy.npy
963 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_730.npy.npy
964 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_63.npy.npy

@ -0,0 +1,964 @@
file_name
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_443.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_183.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_403.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_163.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_349.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_922.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_830.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_893.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_386.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1774.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1224.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_780.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_482.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_38.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1301.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_503.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_848.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_881.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_195.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1431.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_793.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1808.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_819.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_484.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1392.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1324.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_2.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_890.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_974.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_395.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_91.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_43.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_151.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1288.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_917.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_382.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_814.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1383.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1275.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_125.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1351.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1449.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_847.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_131.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_414.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_868.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1293.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_448.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_312.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_795.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1294.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_486.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_182.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1243.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1791.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1323.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_978.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1785.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_970.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_192.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_872.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_100.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1304.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1415.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1309.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1245.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1322.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1816.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1442.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1367.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1260.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1452.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_411.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_843.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1377.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1412.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_962.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_185.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_308.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_383.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_729.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_773.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_870.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_52.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_417.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1432.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1292.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_54.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1819.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1378.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1315.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_318.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_108.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1249.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_439.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_864.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_80.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1800.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_451.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1405.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_373.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_378.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1346.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1335.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_849.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1799.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_730.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_0.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_740.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_950.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_968.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_836.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_809.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1368.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1451.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1433.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_311.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_502.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_113.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1790.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1350.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_14.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_24.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_951.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1289.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_415.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_902.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_426.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1341.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1826.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_757.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1406.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_133.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_11.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_831.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_167.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1359.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_70.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_76.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_48.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_943.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_110.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_820.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_8.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_731.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_846.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_481.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1328.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_980.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1361.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_60.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_138.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1330.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_910.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_148.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_733.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1334.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_10.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1435.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1313.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_472.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_877.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_908.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_901.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1266.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_315.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_84.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_776.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1332.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1354.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_940.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_401.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1329.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1804.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_63.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_181.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_891.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_37.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_932.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_322.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1455.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_61.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1797.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1331.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1262.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_926.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_959.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_127.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_40.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_385.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_826.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_31.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1296.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_973.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_480.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_865.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_966.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_958.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_343.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_827.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_744.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_434.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_77.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_119.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_894.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_909.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_436.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_369.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_497.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_126.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_29.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_418.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1318.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_420.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_874.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_205.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_811.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_858.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_20.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1272.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_323.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_45.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_327.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_357.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_845.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_916.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_953.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1298.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1299.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_783.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1306.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_307.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_69.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1823.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_356.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_348.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_155.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_412.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_316.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_821.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_756.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1775.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_326.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_147.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_930.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1815.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1443.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1440.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_918.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_90.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_186.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1801.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_850.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_180.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_961.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_98.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_317.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_828.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1430.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1286.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_504.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1233.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_812.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_483.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1307.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_179.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_474.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_46.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_4.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1278.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1393.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_361.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_882.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_166.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_99.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_198.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_306.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1402.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_899.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_907.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_863.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1254.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_861.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_202.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_490.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_377.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_409.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1300.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_897.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1250.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_912.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1454.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1409.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_808.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_7.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1240.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_204.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1407.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_71.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_768.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_765.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_952.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1287.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_905.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_25.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_461.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1283.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_117.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_946.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1226.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_68.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_491.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_458.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_353.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_338.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1339.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_772.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_860.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_83.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1348.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_732.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_360.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_141.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_364.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1347.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_487.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_366.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_388.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1234.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_466.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_320.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_109.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1338.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_118.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1434.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_787.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_337.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_515.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1295.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_379.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1410.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_421.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_358.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_62.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1271.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1242.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_825.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_324.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_920.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1413.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_450.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1411.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_302.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1794.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_914.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_906.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1382.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1357.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_470.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_50.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1356.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_876.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_835.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1389.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_840.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1265.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_784.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_87.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_816.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_494.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1362.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_479.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_896.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_507.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1388.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_67.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_498.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_866.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1380.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1305.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_747.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_977.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_106.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_132.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_346.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1387.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_146.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_428.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_755.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_342.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_32.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_365.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_471.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1239.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_339.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1230.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_423.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_786.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1811.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_880.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_929.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_65.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1227.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_921.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_938.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1337.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_154.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1438.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_791.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1238.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_945.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1371.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_161.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_329.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1384.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_473.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_788.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_95.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_129.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_469.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_394.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_855.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_944.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1798.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1813.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_200.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1369.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_404.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_936.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1400.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_981.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_303.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_44.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_82.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_781.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_782.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_355.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_738.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_55.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1822.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_513.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_112.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_124.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_856.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_749.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1342.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_465.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1394.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1439.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_207.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_785.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_325.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1437.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1404.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_751.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1302.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_64.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_734.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_904.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_511.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_889.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_424.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1776.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_122.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1386.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1817.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_468.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1333.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1399.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_442.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_802.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_832.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_397.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1788.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_430.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_145.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_767.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1320.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1277.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1803.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_960.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_984.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_937.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_96.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1810.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_115.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_508.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_867.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_341.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_375.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1436.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_105.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_197.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_778.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_965.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1379.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1235.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_892.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_413.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_362.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_396.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_815.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_301.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_963.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1316.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1786.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_898.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_78.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_399.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_829.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_144.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1343.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1818.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_86.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_883.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1425.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1241.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_967.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1358.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_759.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_805.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_330.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_432.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_89.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1448.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_387.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_851.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1228.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_381.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_380.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_114.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_56.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_16.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_485.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1787.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_26.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1418.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1268.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1267.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_931.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1420.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_763.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_478.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_752.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_168.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_107.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_505.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_956.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1336.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_496.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_332.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1276.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_199.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1772.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_463.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_139.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_390.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_728.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_495.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_367.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_822.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1773.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1261.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_878.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1229.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_790.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_433.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1258.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_441.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_939.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_328.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_493.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1403.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_467.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1809.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_879.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1423.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_903.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_979.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_873.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1802.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_392.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1363.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_823.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_152.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_975.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1447.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1280.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_331.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1821.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1327.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_304.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_352.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_19.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_319.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1303.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1284.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_875.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1398.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_410.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1456.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_169.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1370.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_22.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1257.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_350.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_347.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_871.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1419.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_794.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_72.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1353.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_81.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_427.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1256.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_102.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1395.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1312.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_862.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1344.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_806.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_93.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_143.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_810.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_735.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_23.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_919.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1795.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_345.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1248.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1269.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_184.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1780.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_39.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1251.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_47.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_770.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1824.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_727.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_391.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_985.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1784.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_475.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1807.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_976.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_85.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_813.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_21.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_398.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_746.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_120.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_771.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1263.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_736.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_111.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_887.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_158.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_18.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_393.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_512.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1317.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1390.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_969.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_745.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1308.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_17.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_49.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_196.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_59.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_447.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_964.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1397.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_134.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1427.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_789.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_454.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1225.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1340.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_305.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_431.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_748.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_954.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_800.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1781.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_79.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1777.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1273.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_807.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_462.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_101.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_775.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_933.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_499.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1792.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_123.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1385.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1806.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_971.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_492.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_41.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_799.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_74.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_66.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_948.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1376.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1457.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_798.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_947.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_949.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_309.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1424.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_28.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_750.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1396.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_340.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_9.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1453.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1365.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_359.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_488.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_455.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_335.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1325.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_869.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_453.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_927.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1319.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_444.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_983.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_333.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_178.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_165.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_310.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_164.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_501.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_446.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_376.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1231.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_818.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_895.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1391.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_506.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1416.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_162.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1375.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_384.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_27.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_838.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1779.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_452.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_737.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_853.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_884.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_854.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1783.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_739.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_193.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_187.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1279.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_476.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1812.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_935.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1326.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_34.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_30.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1429.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_754.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_792.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1252.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_885.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_94.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_58.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_456.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_500.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_859.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_489.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1311.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_766.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_344.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_140.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_834.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1796.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_206.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_801.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_201.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_363.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_15.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_191.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_389.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_408.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1366.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1414.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_422.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1782.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_762.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_955.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_130.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_435.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_924.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_440.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_934.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1445.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_160.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_6.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_128.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_97.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1450.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1349.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1247.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_760.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_841.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_203.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_459.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1820.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_370.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_445.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_769.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_817.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1829.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1274.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_402.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1444.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1352.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_844.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_925.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_742.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_804.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_354.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_753.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_464.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1236.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1441.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_368.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_336.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1793.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1253.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_774.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_406.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_351.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1814.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_797.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_35.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1381.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_371.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_407.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1373.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1259.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1401.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1255.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_824.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_194.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_941.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_923.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1408.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_915.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1428.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1310.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_833.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_157.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_457.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_13.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_57.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_886.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1446.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_116.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_972.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_321.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_156.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1372.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_314.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_839.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_416.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_12.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_928.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_313.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_372.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_438.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_104.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_419.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_425.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_137.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1426.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_477.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1291.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_449.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1321.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_88.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_842.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_857.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_53.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1270.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_374.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_837.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_405.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_779.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_913.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_852.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_777.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_460.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_51.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1778.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1360.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_957.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_153.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_42.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_136.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1825.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_803.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_510.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_150.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1789.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_982.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1290.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_73.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_911.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1417.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_741.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_437.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_900.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_888.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_36.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_400.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_92.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1232.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1285.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1422.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_942.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1281.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_159.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1364.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1421.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1282.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_761.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1244.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_758.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_75.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1827.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_103.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_764.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_5.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_3.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1246.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_334.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_429.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_796.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1264.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_509.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1237.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1297.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_142.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1374.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1355.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1314.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_33.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1828.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_135.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_514.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_121.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_149.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1345.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1805.npy.npy
/mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_743.npy.npy
1 file_name
2 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_443.npy.npy
3 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_183.npy.npy
4 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_403.npy.npy
5 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_163.npy.npy
6 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_349.npy.npy
7 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_922.npy.npy
8 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_830.npy.npy
9 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_893.npy.npy
10 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_386.npy.npy
11 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1774.npy.npy
12 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1224.npy.npy
13 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_780.npy.npy
14 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_482.npy.npy
15 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_38.npy.npy
16 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1301.npy.npy
17 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_503.npy.npy
18 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_848.npy.npy
19 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_881.npy.npy
20 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_195.npy.npy
21 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1431.npy.npy
22 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_793.npy.npy
23 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1808.npy.npy
24 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_819.npy.npy
25 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_484.npy.npy
26 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1392.npy.npy
27 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1324.npy.npy
28 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_2.npy.npy
29 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_890.npy.npy
30 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_974.npy.npy
31 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_395.npy.npy
32 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_91.npy.npy
33 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_43.npy.npy
34 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_151.npy.npy
35 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1288.npy.npy
36 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_917.npy.npy
37 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_382.npy.npy
38 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_814.npy.npy
39 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1383.npy.npy
40 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1275.npy.npy
41 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_125.npy.npy
42 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1351.npy.npy
43 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1449.npy.npy
44 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_847.npy.npy
45 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_131.npy.npy
46 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_414.npy.npy
47 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_868.npy.npy
48 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1293.npy.npy
49 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_448.npy.npy
50 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_312.npy.npy
51 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_795.npy.npy
52 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1294.npy.npy
53 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_486.npy.npy
54 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_182.npy.npy
55 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1243.npy.npy
56 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1791.npy.npy
57 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1323.npy.npy
58 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_978.npy.npy
59 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1785.npy.npy
60 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_970.npy.npy
61 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_192.npy.npy
62 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_872.npy.npy
63 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_100.npy.npy
64 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1304.npy.npy
65 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1415.npy.npy
66 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1309.npy.npy
67 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1245.npy.npy
68 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1322.npy.npy
69 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1816.npy.npy
70 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1442.npy.npy
71 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1367.npy.npy
72 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1260.npy.npy
73 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1452.npy.npy
74 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_411.npy.npy
75 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_843.npy.npy
76 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1377.npy.npy
77 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1412.npy.npy
78 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_962.npy.npy
79 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_185.npy.npy
80 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_308.npy.npy
81 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_383.npy.npy
82 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_729.npy.npy
83 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_773.npy.npy
84 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_870.npy.npy
85 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_52.npy.npy
86 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_417.npy.npy
87 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1432.npy.npy
88 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1292.npy.npy
89 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_54.npy.npy
90 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1819.npy.npy
91 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1378.npy.npy
92 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1315.npy.npy
93 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_318.npy.npy
94 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_108.npy.npy
95 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1249.npy.npy
96 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_439.npy.npy
97 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_864.npy.npy
98 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_80.npy.npy
99 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1800.npy.npy
100 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_451.npy.npy
101 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1405.npy.npy
102 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_373.npy.npy
103 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_378.npy.npy
104 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1346.npy.npy
105 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1335.npy.npy
106 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_849.npy.npy
107 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1799.npy.npy
108 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_730.npy.npy
109 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_0.npy.npy
110 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_740.npy.npy
111 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_950.npy.npy
112 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_968.npy.npy
113 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_836.npy.npy
114 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_809.npy.npy
115 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1368.npy.npy
116 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1451.npy.npy
117 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1433.npy.npy
118 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_311.npy.npy
119 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_502.npy.npy
120 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_113.npy.npy
121 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1790.npy.npy
122 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1350.npy.npy
123 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_14.npy.npy
124 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_24.npy.npy
125 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_951.npy.npy
126 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1289.npy.npy
127 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_415.npy.npy
128 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_902.npy.npy
129 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_426.npy.npy
130 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1341.npy.npy
131 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1826.npy.npy
132 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_757.npy.npy
133 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1406.npy.npy
134 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_133.npy.npy
135 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_11.npy.npy
136 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_831.npy.npy
137 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_167.npy.npy
138 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1359.npy.npy
139 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_70.npy.npy
140 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_76.npy.npy
141 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_48.npy.npy
142 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_943.npy.npy
143 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_110.npy.npy
144 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_820.npy.npy
145 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_8.npy.npy
146 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_731.npy.npy
147 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_846.npy.npy
148 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_481.npy.npy
149 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1328.npy.npy
150 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_980.npy.npy
151 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1361.npy.npy
152 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_60.npy.npy
153 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_138.npy.npy
154 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1330.npy.npy
155 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_910.npy.npy
156 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_148.npy.npy
157 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_733.npy.npy
158 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1334.npy.npy
159 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_10.npy.npy
160 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1435.npy.npy
161 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1313.npy.npy
162 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_472.npy.npy
163 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_877.npy.npy
164 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_908.npy.npy
165 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_901.npy.npy
166 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1266.npy.npy
167 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_315.npy.npy
168 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_84.npy.npy
169 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_776.npy.npy
170 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1332.npy.npy
171 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1354.npy.npy
172 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_940.npy.npy
173 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_401.npy.npy
174 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1329.npy.npy
175 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1804.npy.npy
176 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_63.npy.npy
177 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_181.npy.npy
178 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_891.npy.npy
179 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_37.npy.npy
180 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_932.npy.npy
181 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_322.npy.npy
182 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1455.npy.npy
183 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_61.npy.npy
184 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1797.npy.npy
185 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1331.npy.npy
186 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1262.npy.npy
187 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_926.npy.npy
188 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_959.npy.npy
189 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_127.npy.npy
190 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_40.npy.npy
191 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_385.npy.npy
192 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_826.npy.npy
193 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_31.npy.npy
194 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1296.npy.npy
195 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_973.npy.npy
196 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_480.npy.npy
197 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_865.npy.npy
198 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_966.npy.npy
199 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_958.npy.npy
200 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_343.npy.npy
201 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_827.npy.npy
202 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_744.npy.npy
203 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_434.npy.npy
204 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_77.npy.npy
205 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_119.npy.npy
206 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_894.npy.npy
207 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_909.npy.npy
208 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_436.npy.npy
209 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_369.npy.npy
210 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_497.npy.npy
211 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_126.npy.npy
212 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_29.npy.npy
213 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_418.npy.npy
214 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1318.npy.npy
215 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_420.npy.npy
216 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_874.npy.npy
217 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_205.npy.npy
218 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_811.npy.npy
219 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_858.npy.npy
220 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_20.npy.npy
221 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1272.npy.npy
222 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_323.npy.npy
223 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_45.npy.npy
224 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_327.npy.npy
225 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_357.npy.npy
226 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_845.npy.npy
227 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_916.npy.npy
228 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_953.npy.npy
229 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1298.npy.npy
230 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1299.npy.npy
231 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_783.npy.npy
232 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1306.npy.npy
233 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_307.npy.npy
234 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_69.npy.npy
235 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1823.npy.npy
236 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_356.npy.npy
237 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_348.npy.npy
238 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_155.npy.npy
239 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_412.npy.npy
240 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_316.npy.npy
241 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_821.npy.npy
242 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_756.npy.npy
243 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1775.npy.npy
244 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_326.npy.npy
245 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_147.npy.npy
246 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_930.npy.npy
247 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1815.npy.npy
248 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1443.npy.npy
249 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1440.npy.npy
250 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_918.npy.npy
251 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_90.npy.npy
252 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_186.npy.npy
253 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1801.npy.npy
254 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_850.npy.npy
255 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_180.npy.npy
256 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_961.npy.npy
257 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_98.npy.npy
258 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_317.npy.npy
259 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_828.npy.npy
260 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1430.npy.npy
261 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1286.npy.npy
262 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_504.npy.npy
263 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1233.npy.npy
264 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_812.npy.npy
265 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_483.npy.npy
266 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1307.npy.npy
267 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_179.npy.npy
268 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_474.npy.npy
269 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_46.npy.npy
270 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_4.npy.npy
271 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1278.npy.npy
272 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1393.npy.npy
273 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_361.npy.npy
274 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_882.npy.npy
275 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_166.npy.npy
276 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_99.npy.npy
277 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_198.npy.npy
278 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_306.npy.npy
279 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1402.npy.npy
280 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_899.npy.npy
281 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_907.npy.npy
282 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_863.npy.npy
283 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1254.npy.npy
284 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_861.npy.npy
285 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_202.npy.npy
286 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_490.npy.npy
287 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_377.npy.npy
288 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_409.npy.npy
289 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1300.npy.npy
290 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_897.npy.npy
291 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1250.npy.npy
292 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_912.npy.npy
293 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1454.npy.npy
294 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1409.npy.npy
295 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_808.npy.npy
296 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_7.npy.npy
297 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1240.npy.npy
298 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_204.npy.npy
299 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1407.npy.npy
300 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_71.npy.npy
301 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_768.npy.npy
302 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_765.npy.npy
303 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_952.npy.npy
304 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1287.npy.npy
305 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_905.npy.npy
306 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_25.npy.npy
307 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_461.npy.npy
308 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1283.npy.npy
309 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_117.npy.npy
310 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_946.npy.npy
311 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1226.npy.npy
312 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_68.npy.npy
313 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_491.npy.npy
314 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_458.npy.npy
315 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_353.npy.npy
316 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_338.npy.npy
317 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1339.npy.npy
318 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_772.npy.npy
319 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_860.npy.npy
320 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_83.npy.npy
321 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1348.npy.npy
322 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_732.npy.npy
323 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_360.npy.npy
324 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_141.npy.npy
325 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_364.npy.npy
326 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1347.npy.npy
327 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_487.npy.npy
328 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_366.npy.npy
329 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_388.npy.npy
330 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1234.npy.npy
331 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_466.npy.npy
332 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_320.npy.npy
333 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_109.npy.npy
334 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1338.npy.npy
335 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_118.npy.npy
336 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1434.npy.npy
337 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_787.npy.npy
338 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_337.npy.npy
339 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_515.npy.npy
340 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1295.npy.npy
341 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_379.npy.npy
342 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1410.npy.npy
343 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_421.npy.npy
344 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_358.npy.npy
345 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_62.npy.npy
346 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1271.npy.npy
347 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1242.npy.npy
348 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_825.npy.npy
349 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_324.npy.npy
350 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_920.npy.npy
351 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1413.npy.npy
352 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_450.npy.npy
353 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1411.npy.npy
354 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_302.npy.npy
355 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1794.npy.npy
356 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_914.npy.npy
357 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_906.npy.npy
358 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1382.npy.npy
359 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1357.npy.npy
360 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_470.npy.npy
361 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_50.npy.npy
362 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1356.npy.npy
363 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_876.npy.npy
364 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_835.npy.npy
365 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1389.npy.npy
366 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_840.npy.npy
367 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1265.npy.npy
368 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_784.npy.npy
369 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_87.npy.npy
370 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_816.npy.npy
371 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_494.npy.npy
372 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1362.npy.npy
373 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_479.npy.npy
374 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_896.npy.npy
375 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_507.npy.npy
376 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1388.npy.npy
377 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_67.npy.npy
378 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_498.npy.npy
379 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_866.npy.npy
380 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1380.npy.npy
381 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1305.npy.npy
382 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_747.npy.npy
383 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_977.npy.npy
384 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_106.npy.npy
385 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_132.npy.npy
386 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_346.npy.npy
387 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1387.npy.npy
388 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_146.npy.npy
389 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_428.npy.npy
390 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_755.npy.npy
391 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_342.npy.npy
392 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_32.npy.npy
393 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_365.npy.npy
394 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_471.npy.npy
395 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1239.npy.npy
396 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_339.npy.npy
397 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1230.npy.npy
398 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_423.npy.npy
399 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_786.npy.npy
400 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1811.npy.npy
401 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_880.npy.npy
402 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_929.npy.npy
403 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_65.npy.npy
404 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1227.npy.npy
405 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_921.npy.npy
406 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_938.npy.npy
407 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1337.npy.npy
408 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_154.npy.npy
409 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1438.npy.npy
410 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_791.npy.npy
411 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1238.npy.npy
412 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_945.npy.npy
413 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1371.npy.npy
414 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_161.npy.npy
415 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_329.npy.npy
416 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1384.npy.npy
417 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_473.npy.npy
418 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_788.npy.npy
419 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_95.npy.npy
420 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_129.npy.npy
421 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_469.npy.npy
422 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_394.npy.npy
423 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_855.npy.npy
424 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_944.npy.npy
425 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1798.npy.npy
426 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1813.npy.npy
427 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_200.npy.npy
428 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1369.npy.npy
429 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_404.npy.npy
430 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_936.npy.npy
431 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1400.npy.npy
432 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_981.npy.npy
433 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_303.npy.npy
434 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_44.npy.npy
435 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_82.npy.npy
436 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_781.npy.npy
437 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_782.npy.npy
438 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_355.npy.npy
439 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_738.npy.npy
440 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_55.npy.npy
441 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1822.npy.npy
442 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_513.npy.npy
443 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_112.npy.npy
444 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_124.npy.npy
445 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_856.npy.npy
446 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_749.npy.npy
447 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1342.npy.npy
448 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_465.npy.npy
449 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1394.npy.npy
450 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1439.npy.npy
451 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_207.npy.npy
452 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_785.npy.npy
453 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_325.npy.npy
454 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1437.npy.npy
455 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1404.npy.npy
456 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_751.npy.npy
457 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1302.npy.npy
458 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_64.npy.npy
459 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_734.npy.npy
460 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_904.npy.npy
461 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_511.npy.npy
462 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_889.npy.npy
463 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_424.npy.npy
464 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1776.npy.npy
465 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_122.npy.npy
466 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1386.npy.npy
467 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1817.npy.npy
468 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_468.npy.npy
469 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1333.npy.npy
470 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1399.npy.npy
471 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_442.npy.npy
472 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_802.npy.npy
473 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_832.npy.npy
474 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_397.npy.npy
475 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1788.npy.npy
476 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_430.npy.npy
477 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_145.npy.npy
478 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_767.npy.npy
479 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1320.npy.npy
480 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1277.npy.npy
481 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1803.npy.npy
482 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_960.npy.npy
483 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_984.npy.npy
484 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_937.npy.npy
485 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_96.npy.npy
486 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1810.npy.npy
487 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_115.npy.npy
488 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_508.npy.npy
489 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_867.npy.npy
490 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_341.npy.npy
491 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_375.npy.npy
492 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1436.npy.npy
493 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_105.npy.npy
494 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_197.npy.npy
495 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_778.npy.npy
496 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_965.npy.npy
497 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1379.npy.npy
498 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1235.npy.npy
499 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_892.npy.npy
500 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_413.npy.npy
501 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_362.npy.npy
502 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_396.npy.npy
503 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_815.npy.npy
504 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_301.npy.npy
505 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_963.npy.npy
506 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1316.npy.npy
507 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1786.npy.npy
508 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_898.npy.npy
509 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1.npy.npy
510 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_78.npy.npy
511 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_399.npy.npy
512 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_829.npy.npy
513 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_144.npy.npy
514 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1343.npy.npy
515 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1818.npy.npy
516 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_86.npy.npy
517 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_883.npy.npy
518 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1425.npy.npy
519 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1241.npy.npy
520 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_967.npy.npy
521 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1358.npy.npy
522 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_759.npy.npy
523 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_805.npy.npy
524 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_330.npy.npy
525 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_432.npy.npy
526 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_89.npy.npy
527 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1448.npy.npy
528 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_387.npy.npy
529 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_851.npy.npy
530 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1228.npy.npy
531 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_381.npy.npy
532 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_380.npy.npy
533 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_114.npy.npy
534 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_56.npy.npy
535 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_16.npy.npy
536 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_485.npy.npy
537 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1787.npy.npy
538 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_26.npy.npy
539 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1418.npy.npy
540 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1268.npy.npy
541 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1267.npy.npy
542 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_931.npy.npy
543 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1420.npy.npy
544 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_763.npy.npy
545 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_478.npy.npy
546 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_752.npy.npy
547 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_168.npy.npy
548 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_107.npy.npy
549 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_505.npy.npy
550 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_956.npy.npy
551 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1336.npy.npy
552 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_496.npy.npy
553 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_332.npy.npy
554 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1276.npy.npy
555 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_199.npy.npy
556 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1772.npy.npy
557 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_463.npy.npy
558 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_139.npy.npy
559 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_390.npy.npy
560 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_728.npy.npy
561 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_495.npy.npy
562 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_367.npy.npy
563 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_822.npy.npy
564 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1773.npy.npy
565 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1261.npy.npy
566 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_878.npy.npy
567 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1229.npy.npy
568 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_790.npy.npy
569 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_433.npy.npy
570 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1258.npy.npy
571 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_441.npy.npy
572 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_939.npy.npy
573 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_328.npy.npy
574 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_493.npy.npy
575 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1403.npy.npy
576 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_467.npy.npy
577 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1809.npy.npy
578 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_879.npy.npy
579 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1423.npy.npy
580 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_903.npy.npy
581 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_979.npy.npy
582 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_873.npy.npy
583 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1802.npy.npy
584 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_392.npy.npy
585 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1363.npy.npy
586 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_823.npy.npy
587 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_152.npy.npy
588 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_975.npy.npy
589 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1447.npy.npy
590 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1280.npy.npy
591 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_331.npy.npy
592 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1821.npy.npy
593 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1327.npy.npy
594 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_304.npy.npy
595 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_352.npy.npy
596 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_19.npy.npy
597 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_319.npy.npy
598 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1303.npy.npy
599 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1284.npy.npy
600 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_875.npy.npy
601 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1398.npy.npy
602 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_410.npy.npy
603 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1456.npy.npy
604 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_169.npy.npy
605 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1370.npy.npy
606 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_22.npy.npy
607 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1257.npy.npy
608 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_350.npy.npy
609 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_347.npy.npy
610 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_871.npy.npy
611 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1419.npy.npy
612 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_794.npy.npy
613 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_72.npy.npy
614 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1353.npy.npy
615 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_81.npy.npy
616 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_427.npy.npy
617 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1256.npy.npy
618 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_102.npy.npy
619 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1395.npy.npy
620 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1312.npy.npy
621 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_862.npy.npy
622 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1344.npy.npy
623 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_806.npy.npy
624 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_93.npy.npy
625 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_143.npy.npy
626 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_810.npy.npy
627 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_735.npy.npy
628 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_23.npy.npy
629 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_919.npy.npy
630 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1795.npy.npy
631 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_345.npy.npy
632 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1248.npy.npy
633 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1269.npy.npy
634 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_184.npy.npy
635 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1780.npy.npy
636 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_39.npy.npy
637 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1251.npy.npy
638 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_47.npy.npy
639 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_770.npy.npy
640 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1824.npy.npy
641 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_727.npy.npy
642 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_391.npy.npy
643 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_985.npy.npy
644 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1784.npy.npy
645 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_475.npy.npy
646 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1807.npy.npy
647 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_976.npy.npy
648 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_85.npy.npy
649 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_813.npy.npy
650 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_21.npy.npy
651 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_398.npy.npy
652 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_746.npy.npy
653 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_120.npy.npy
654 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_771.npy.npy
655 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1263.npy.npy
656 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_736.npy.npy
657 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_111.npy.npy
658 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_887.npy.npy
659 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_158.npy.npy
660 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_18.npy.npy
661 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_393.npy.npy
662 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_512.npy.npy
663 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1317.npy.npy
664 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1390.npy.npy
665 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_969.npy.npy
666 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_745.npy.npy
667 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1308.npy.npy
668 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_17.npy.npy
669 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_49.npy.npy
670 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_196.npy.npy
671 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_59.npy.npy
672 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_447.npy.npy
673 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_964.npy.npy
674 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1397.npy.npy
675 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_134.npy.npy
676 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1427.npy.npy
677 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_789.npy.npy
678 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_454.npy.npy
679 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1225.npy.npy
680 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1340.npy.npy
681 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_305.npy.npy
682 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_431.npy.npy
683 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_748.npy.npy
684 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_954.npy.npy
685 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_800.npy.npy
686 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1781.npy.npy
687 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_79.npy.npy
688 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1777.npy.npy
689 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1273.npy.npy
690 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_807.npy.npy
691 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_462.npy.npy
692 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_101.npy.npy
693 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_775.npy.npy
694 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_933.npy.npy
695 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_499.npy.npy
696 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1792.npy.npy
697 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_123.npy.npy
698 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1385.npy.npy
699 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1806.npy.npy
700 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_971.npy.npy
701 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_492.npy.npy
702 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_41.npy.npy
703 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_799.npy.npy
704 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_74.npy.npy
705 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_66.npy.npy
706 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_948.npy.npy
707 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1376.npy.npy
708 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1457.npy.npy
709 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_798.npy.npy
710 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_947.npy.npy
711 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_949.npy.npy
712 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_309.npy.npy
713 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1424.npy.npy
714 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_28.npy.npy
715 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_750.npy.npy
716 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1396.npy.npy
717 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_340.npy.npy
718 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_9.npy.npy
719 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1453.npy.npy
720 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1365.npy.npy
721 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_359.npy.npy
722 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_488.npy.npy
723 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_455.npy.npy
724 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_335.npy.npy
725 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1325.npy.npy
726 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_869.npy.npy
727 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_453.npy.npy
728 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_927.npy.npy
729 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1319.npy.npy
730 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_444.npy.npy
731 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_983.npy.npy
732 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_333.npy.npy
733 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_178.npy.npy
734 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_165.npy.npy
735 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_310.npy.npy
736 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_164.npy.npy
737 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_501.npy.npy
738 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_446.npy.npy
739 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_376.npy.npy
740 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1231.npy.npy
741 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_818.npy.npy
742 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_895.npy.npy
743 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1391.npy.npy
744 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_506.npy.npy
745 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1416.npy.npy
746 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_162.npy.npy
747 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1375.npy.npy
748 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_384.npy.npy
749 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_27.npy.npy
750 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_838.npy.npy
751 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1779.npy.npy
752 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_452.npy.npy
753 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_737.npy.npy
754 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_853.npy.npy
755 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_884.npy.npy
756 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_854.npy.npy
757 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1783.npy.npy
758 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_739.npy.npy
759 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_193.npy.npy
760 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_187.npy.npy
761 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1279.npy.npy
762 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_476.npy.npy
763 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1812.npy.npy
764 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_935.npy.npy
765 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1326.npy.npy
766 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_34.npy.npy
767 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_30.npy.npy
768 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1429.npy.npy
769 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_754.npy.npy
770 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_792.npy.npy
771 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1252.npy.npy
772 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_885.npy.npy
773 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_94.npy.npy
774 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_58.npy.npy
775 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_456.npy.npy
776 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_500.npy.npy
777 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_859.npy.npy
778 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_489.npy.npy
779 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1311.npy.npy
780 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_766.npy.npy
781 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_344.npy.npy
782 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_140.npy.npy
783 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_834.npy.npy
784 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1796.npy.npy
785 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_206.npy.npy
786 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_801.npy.npy
787 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_201.npy.npy
788 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_363.npy.npy
789 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_15.npy.npy
790 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_191.npy.npy
791 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_389.npy.npy
792 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_408.npy.npy
793 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1366.npy.npy
794 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1414.npy.npy
795 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_422.npy.npy
796 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1782.npy.npy
797 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_762.npy.npy
798 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_955.npy.npy
799 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_130.npy.npy
800 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_435.npy.npy
801 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_924.npy.npy
802 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_440.npy.npy
803 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_934.npy.npy
804 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1445.npy.npy
805 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_160.npy.npy
806 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_6.npy.npy
807 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_128.npy.npy
808 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_97.npy.npy
809 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1450.npy.npy
810 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1349.npy.npy
811 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1247.npy.npy
812 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_760.npy.npy
813 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_841.npy.npy
814 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_203.npy.npy
815 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_459.npy.npy
816 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1820.npy.npy
817 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_370.npy.npy
818 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_445.npy.npy
819 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_769.npy.npy
820 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_817.npy.npy
821 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1829.npy.npy
822 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1274.npy.npy
823 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_402.npy.npy
824 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1444.npy.npy
825 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1352.npy.npy
826 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_844.npy.npy
827 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_925.npy.npy
828 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_742.npy.npy
829 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_804.npy.npy
830 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_354.npy.npy
831 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_753.npy.npy
832 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_464.npy.npy
833 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1236.npy.npy
834 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1441.npy.npy
835 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_368.npy.npy
836 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_336.npy.npy
837 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1793.npy.npy
838 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1253.npy.npy
839 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_774.npy.npy
840 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_406.npy.npy
841 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_351.npy.npy
842 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1814.npy.npy
843 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_797.npy.npy
844 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_35.npy.npy
845 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1381.npy.npy
846 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_371.npy.npy
847 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_407.npy.npy
848 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1373.npy.npy
849 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1259.npy.npy
850 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1401.npy.npy
851 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1255.npy.npy
852 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_824.npy.npy
853 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_194.npy.npy
854 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_941.npy.npy
855 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_923.npy.npy
856 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1408.npy.npy
857 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_915.npy.npy
858 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1428.npy.npy
859 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1310.npy.npy
860 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_833.npy.npy
861 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_157.npy.npy
862 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_457.npy.npy
863 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_13.npy.npy
864 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_57.npy.npy
865 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_886.npy.npy
866 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1446.npy.npy
867 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_116.npy.npy
868 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_972.npy.npy
869 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_321.npy.npy
870 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_156.npy.npy
871 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1372.npy.npy
872 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_314.npy.npy
873 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_839.npy.npy
874 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_416.npy.npy
875 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_12.npy.npy
876 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_928.npy.npy
877 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_313.npy.npy
878 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_372.npy.npy
879 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_438.npy.npy
880 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_104.npy.npy
881 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_419.npy.npy
882 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_425.npy.npy
883 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_137.npy.npy
884 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1426.npy.npy
885 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_477.npy.npy
886 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1291.npy.npy
887 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_449.npy.npy
888 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1321.npy.npy
889 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_88.npy.npy
890 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_842.npy.npy
891 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_857.npy.npy
892 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_53.npy.npy
893 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1270.npy.npy
894 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_374.npy.npy
895 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_837.npy.npy
896 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_405.npy.npy
897 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_779.npy.npy
898 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_913.npy.npy
899 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_852.npy.npy
900 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_777.npy.npy
901 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_460.npy.npy
902 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_51.npy.npy
903 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1778.npy.npy
904 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1360.npy.npy
905 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_957.npy.npy
906 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_153.npy.npy
907 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_42.npy.npy
908 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_136.npy.npy
909 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1825.npy.npy
910 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_803.npy.npy
911 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_510.npy.npy
912 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_150.npy.npy
913 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1789.npy.npy
914 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_982.npy.npy
915 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1290.npy.npy
916 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_73.npy.npy
917 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_911.npy.npy
918 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1417.npy.npy
919 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_741.npy.npy
920 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_437.npy.npy
921 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_900.npy.npy
922 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_888.npy.npy
923 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_36.npy.npy
924 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_400.npy.npy
925 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_92.npy.npy
926 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1232.npy.npy
927 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1285.npy.npy
928 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1422.npy.npy
929 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_942.npy.npy
930 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1281.npy.npy
931 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_159.npy.npy
932 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1364.npy.npy
933 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1421.npy.npy
934 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1282.npy.npy
935 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_761.npy.npy
936 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1244.npy.npy
937 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_758.npy.npy
938 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_75.npy.npy
939 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1827.npy.npy
940 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_103.npy.npy
941 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_764.npy.npy
942 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_5.npy.npy
943 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_3.npy.npy
944 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1246.npy.npy
945 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_334.npy.npy
946 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_429.npy.npy
947 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_796.npy.npy
948 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1264.npy.npy
949 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_509.npy.npy
950 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1237.npy.npy
951 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1297.npy.npy
952 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_142.npy.npy
953 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1374.npy.npy
954 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1355.npy.npy
955 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1314.npy.npy
956 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_33.npy.npy
957 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1828.npy.npy
958 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_135.npy.npy
959 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_514.npy.npy
960 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_121.npy.npy
961 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_149.npy.npy
962 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1345.npy.npy
963 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_1805.npy.npy
964 /mnt/nvme1/dataset_img/drone/1200/HackA5_1.2_743.npy.npy

@ -0,0 +1,58 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"id": "537ea5d0-1d6c-423e-9417-171b70a76c66",
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"import pandas as pd\n",
"\n",
"path = '//192.168.11.63/data/DATASETS/Energomash/915_learning'\n",
"pd_columns = ['file_name']\n",
"df = pd.DataFrame(columns=pd_columns)\n",
"\n",
"p = 0\n",
"for i in os.walk(path):\n",
" p+=1\n",
" if p != 1:\n",
" for j in i[2]:\n",
" row = pd.DataFrame({pd_columns[0]: [str(str(i[0]) + '\\\\' + str(j)).replace('\\\\', '/')]})\n",
" df = pd.concat([df, row], ignore_index=True)\n",
"\n",
"df.to_csv(path + '\\dataset.csv', index=False)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "8f6e1ff8",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

@ -0,0 +1,24 @@
# Base deps for notebooks in train_scripts/.
#
# Install order for this repo:
# python -m pip install -r deploy/requirements/nn_gpu_pinned.txt
# python -m pip install -r train_scripts/requirements-train.txt
# python -m pip install -e ./torchsig --no-deps
#
# Notes:
# - Do not install `torchsig` from PyPI: the project uses the local repo copy.
# - Main NN service pins come from deploy/requirements/nn_common.txt.
# - For notebooks use GUI OpenCV, so this file uses `opencv-python`, not headless.
ipykernel
jupyterlab
numpy==2.1.3
matplotlib==3.10.0
tqdm==4.67.1
PyYAML==6.0.2
mlconfig==0.3.2
scikit-learn==1.6.0
opencv-python==4.10.0.84
pandas
Pillow
scipy

Binary file not shown.

@ -0,0 +1,91 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "689613d2",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"80.58750000000002\n",
"(array([8.97705408, 4.95 , 0. ]), array([-8.97705408, 4.95 , 0. ]))\n"
]
}
],
"source": [
"import numpy \n",
"from math import sqrt as square\n",
"from numpy import sqrt, dot, cross \n",
"from numpy.linalg import norm \n",
"\n",
"#rssi = [rssi, max_rssi, min_rssi, gamma]\n",
"\n",
"def dist(rssi):\n",
" rssi = list(map(float, rssi))\n",
" return square(abs(rssi[0]-rssi[1]))*rssi[3]/square(abs(rssi[0]-rssi[2]))\n",
"\n",
"def sol(x1,x2,x3,rssi1,rssi2,rssi3):\n",
" r1 = dist(rssi1)\n",
" r2 = dist(rssi2)\n",
" r3 = dist(rssi3)\n",
" x1=numpy.array(x1)\n",
" x2=numpy.array(x2)\n",
" x3=numpy.array(x3)\n",
" temp1 = x2-x1 \n",
" e_x = temp1/norm(temp1) \n",
" temp2 = x3-x1 \n",
" i = dot(e_x,temp2) \n",
" temp3 = temp2 - i*e_x \n",
" e_y = temp3/norm(temp3) \n",
" e_z = cross(e_x,e_y) \n",
" d = norm(x2-x1) \n",
" j = dot(e_y,temp2) \n",
" x = (r1*r1 - r2*r2 + d*d) / (2*d) \n",
" y = (r1*r1 - r3*r3 -2*i*x + i*i + j*j) / (2*j) \n",
" temp4 = r1*r1 - x*x - y*y \n",
" print(temp4)\n",
" if temp4<0: \n",
" return \"Нет пересечения!\"\n",
" z = sqrt(temp4) \n",
" p_12_a = x1 + x*e_x + y*e_y + z*e_z \n",
" p_12_b = x1 + x*e_x + y*e_y - z*e_z \n",
" return p_12_a,p_12_b\n",
"\n",
"\n",
"print(sol([0,0,1],[0,0,-1],[0,10,0],[50,100,0,10.3],[50,100,0,10.3],[50,100,0,10.3]))"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "0a68f35a",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

@ -0,0 +1,57 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"id": "f18afe4b",
"metadata": {},
"outputs": [],
"source": [
"import numpy \n",
"from math import sqrt as square\n",
"from numpy import sqrt, dot, cross \n",
"from numpy.linalg import norm \n",
"\n",
"#rssi = [rssi, max_rssi, min_rssi, gamma]\n",
"\n",
"def dist(rssi):\n",
" rssi = list(map(float, rssi))\n",
" return square(abs(rssi[0]-rssi[1]))*rssi[3]/square(abs(rssi[0]-rssi[2]))\n",
"\n",
"def sol(x1,x2,x3,rssi1,rssi2,rssi3):\n",
" r1 = dist(rssi1)\n",
" r2 = dist(rssi2)\n",
" r3 = dist(rssi3)\n",
" x1=numpy.array(x1)\n",
" x2=numpy.array(x2)\n",
" x3=numpy.array(x3)\n",
" \n",
" return sector.\n",
"\n",
"\n",
"print(sol([0,0,1],[0,0,-1],[0,10,0],[50,100,0,10.3],[50,100,0,10.3],[50,100,0,10.3]))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Loading…
Cancel
Save