nn-morse、その後2024/04/04 11:10

前回の続き。 深層学習でモールス信号を解読するソフト(nn-morse)を動かすにはPytorchが必要だが、 当局のPi4は(SatNOGS環境のために)32bit OSなのでPytorchが動かず、ネット記事をみてonnxruntimeを使うことに決めた。

onnxruntimeをググるとPi4でbuildする記事が多かったが、whlファイルを見付けた。 自分の環境はpython 3.9なので、onnxruntime-1.16.0-cp39-cp39-linux_armv7lをダウンロードすればOK。 それからruntimeの実行には、libopenblas-baseの追加が必要!だった。

SatNOGS Observation #928492を処理した結果を以下に示す。 206秒の録音を約30秒で処理できたので、まずまずのスピードだと思う。 デコードの成績はまあまあ:単語を正しく区切れてないが、文字は正しく認識できている。あと、サイズの大きなWAVファイルを処理すると4GBモデルでもOOM Killerが発動するので注意💦

$ time python3 decode_morse.py 9284942.wav
… 3TOKYO METROPOLITAN COLLEGEOFINDUSTRIALTECHNOLOGY …

real	0m29.735s
user	0m31.408s
sys	0m6.287s

このプログラムはgithubにて公開しました。