24-Nov-2024
[ラジオFAXとかNAVTEXとか見てると]

海の無線、が気になったので手っ取り早く知るために第四級海上無線通信士の教科書(法規)を眺めています。通信士というだけあって決まり事が非常に多く、とても覚えきれる気がしません…とはいえ2月期の試験申込が12月にあると聞きますし、四海通は四アマの操作範囲も持っているので知識のリハビリとしてちょっと挑戦しようかなーどうしようかなーと考えています。もちろん、尻尾を巻いて逃げる可能性もあります。

KG-FAXで受信したデータ(SYN形式)が結構溜まってきたので、これをまとめて何か適当な形式へ変換できないものかと調べてみたらそれほど手間をかけずにPGM形式に変換することができました。ただ、KG-FAXでBMP形式の出力を行うと1500×2280となるのに対し、SYN形式のファイルには1500×2279しか格納されていないのが解せません(なので作った変換ツールも1500×2279で出力している)。

Plalaのホームページサービスが2025年3月末に終了する影響でしょうか、KG-FAXを配布する今日も飛行機日よりが2024年で終了というアナウンスが出ています。移転先については今のところ明記されていないため、KG-FAX等のソフトウェアの配布が終了することを想定しておく必要があるのかも。

Ubuntu/WSL2で、Intel Extension for PyTorchを使おうとしてつまづく(2)でPyTorchのビルドがうまくいかなかったのは、libze-devのインストールが抜けていたことによる問題でした。詳細は補足を追加しておいたので、そちらを。WSL2環境によるSSD容量の不足に関しては、WSL2の仮想ハードディスクvhdxファイルを移動するを参考に、Ubuntuインストール後にexport→importでHDD側に移動することで対処しました。56.0kg(22:20)

26-Nov-2024補足:KG-FAXのSYN形式→PGM変換、手直ししました。存在しないファイルを指定した場合にcoreを吐くバグの修正、シグネチャチェックの廃止、コマンドラインの引数の指定方法を変更しています。

17-Nov-2024
[メモ]

ESCAPE R3(2015)、ホイールを換えたときにタイヤも換えていますが、後輪のタイヤが良い感じに減っていたので前後入れ替えておきました。今の所属店舗は以前の半分くらいの距離になるので、一年以上は持つと思っていますが果たしてどうなることやら。

色々悩んだ結果、当面は修理しながら乗り続ける、という方針は継続するしかなさそうです。ESCAPE R3が部材価格の上昇に対する販売価格のある程度の維持を目的としているためか年によっては割と残念な改良がされるため、おいそれと新モデルには手を出すことはできません。今の乗り方のスタイルを考えるとClarisを載せた2×8sのフラットバーロードが適当そうですが、当然ESCAPE R3よりも高いです(というかESCAPE R3が破格)。

しかしClarisはフロント50Tが上限になってしまうため、52Tを選ぶ場合はSORA以上のコンポを選ぶしかないというのが悩みどころです。生活の足にそこまで高級なものは選べません。盗難の心配もありますし。SORAクランク(FC-3550)+Clarisという構成は…どうなんだろう?

Milk-V Duoを久々に動かしてみようかなと思って本家U-bootを覗いてみたところ、64MBモデル(CV1800B)の対応が入っているようです。試しにCROSS_COMPILE=riscv64-unknown-elf- gmake milkv_duo_defconfig; CROSS_COMPILE=riscv64-unknown-elf- gmakeすることで、U-bootを得ることができました。ここからfip.binにするにはどうすれば良いのかが分からないんですけどね?(duo-buildroot-sdkからfsblを取ってきて、U-bootと合わせてfip.binを作る必要があることまではなんとなく分かる)

/usr/local/lib/libkkc/models/sorted3にあるlibkkcの辞書、OpenBSDをバージョンアップする際はここをうまく処理しておかないと書き換えられてしまうということをしっかり忘れてバージョンアップしてしまったので、以前作ったCC100-ja/MeCab-NEologdで生成したlibkkc用の辞書(頻度75以上)がlibkkc本来の辞書に戻ってしまいました。とりあえず戻してはいますが、また書き換えられちゃうんだろうなあ…56.9kg(22:45)

16-Nov-2024
[…で、]

手間暇かけてUbuntu-22.04 LTS/WSL2上でIPEX対応PyTorchをインストールし、これでdrowe67/radaeTrainingを試せるなーって思ってたんです。思ってたんですよ。で、

  1. Generate a training features file using your speech training database training_input.pcm, we used 200 hours of speech from open source databases:

その200 hours of speech from open source databasesから作られたtraining_input.pcmってのは、どこにあるのかなって。

libkkcの時もそうだったんですが、この手の「大規模データから何らかの特徴を抽出してその結果で何かをする系」って、再現用の大規模データそのものが無いと同じ結果が得られるか検証のしようがありませんし、抽出用のツールの移植や改造はできませんよね。データの出自だけ明らかになっていても困るんですよ…今回いじろうとしたradaeであれば、せめてtraining_input.pcmを構築するスクリプトくらいは出して頂かないと(って、そんな話はissueで書けって言われそうですが)。

ツール部分をオープンにしていても、データ部分はオープンじゃないというのは…binary blobを組み込んだ、オープンソース面した別の何かと変わらないよねーというのが正直な感想。大規模データから(略)何かをする系は今ものすごく流行っていますけど、この領域はこういうオープンソースもどきが増えていくんですかねえ。まあソースコードは文字通り開示してる(けどデータまで開示すると言った覚えはない)ので、オープンソースと言い張れるのかもしれませんが。

SSDの空き容量も厳しいので、Ubuntu-22.04 LTS/WSL2は一旦削除して必要になったらまた再構築します。IPEX対応PyTorchをソースコードからビルドするのも再度試してみたいんですけど…57.4kg(11:25)

08-Nov-2024
[Ubuntu/WSL2で、Intel Extension for PyTorchを使おうとしてつまづく(3)]

Anacondaをインストールするならconda使ってパッケージ入れれば良くね?ってことに気づきましたし最初からそうすりゃ良かったんですよ。とはいえ、バージョンの組み合わせを間違えると動きません。多少古い方がうまく動くような…

  1. wsl --install -d Ubuntu-22.04でUbuntu 22.04 LTSをインストールする
  2. Installing Client GPUs on Ubuntu Desktop 22.04 LTSに従いGPUドライバをインストールする
  3. Anacondaをインストールする
  4. conda activate; conda install python==3.10.15でPython 3.10.15をインストール
  5. conda install -c conda-forge libstdcxx-ngでlibstdc++.so.6.0.29を新しいものに置き換える(Can't find device after installing intel pytorch 2.3.1 (Issue #702)への対策、これを書いている時点だとlibstdc++.so.6.0.33になる)
  6. Welcome to Intel® Extension for PyTorch* Documentationから、然るべき選択(今回はGPU, v2.3.110+xpu, Linux/WSL2, conda)を行い、表示される手順に従う

Welcome to Intel® Extension for PyTorch* Documentationの4. Sanity Testが正常に実行できれば、インストールは完了です。こんな感じのメッセージが出てきます。

uaa@DESKTOP-XXXXXXX:~/anaconda3$ conda activate
(base) uaa@DESKTOP-XXXXXXX:~/anaconda3$ export OCL_ICD_VENDORS=/etc/OpenCL/vend
ors
export CCL_ROOT=${CONDA_PREFIX}
python -c "import torch; import intel_extension_for_pytorch as ipex; print(torc
h.__version__); print(ipex.__version__); [print(f'[{i}]: {torch.xpu.get_device_
properties(i)}') for i in range(torch.xpu.device_count())];"
/home/uaa/anaconda3/lib/python3.10/site-packages/intel_extension_for_pytorch/ll
m/__init__.py:9: UserWarning: failed to use huggingface generation fuctions due
to: No module named 'transformers'.
  warnings.warn(f"failed to use huggingface generation fuctions due to: {e}.")
2.3.1+cxx11.abi
2.3.110+xpu
[0]: _XpuDeviceProperties(name='Intel(R) Graphics [0x56a0]', platform_name='Int
el(R) Level-Zero', type='gpu', driver_version='1.3.29735', total_memory=7934MB,
max_compute_units=512, gpu_eu_count=512, gpu_subslice_count=64, max_work_group_
size=1024, max_num_sub_groups=128, sub_group_sizes=[8 16 32], has_fp16=1, has_f
p64=0, has_atomic64=1)
(base) uaa@DESKTOP-XXXXXXX:~/anaconda3$ 

NVIDIAのだとおそらくバイナリパッケージをほいっと入れればすぐに使えるのだと思いますが、Intelはまだまだ発展途上なんですかね…なんか細かい罠があっちゃこっちゃにあって簡単に引っかかるような感覚です。とりあえず、PyTorchとか使いたいんなら下手な意地を張らずにAnaconda使っちゃえよ(というか必須だろ?)ということが分かったので、今後は逆らわないようにしたいと思います。56.5kg(07:00)

07-Nov-2024
[Ubuntu/WSL2で、Intel Extension for PyTorchを使おうとしてつまづく(2)]

昨日の続き。apt-get install intel-oneapi-dpcpp-cpp-2024.2 intel-oneapi-mkl-devel intel-oneapi-ccl-develすると、/opt/intel/oneapi下に色々入るのですが、この手順だとptiがインストールされないのでPyTorch Prerequisites for Intel GPUsを参考にapt-get install intel-pti-dev。というかこのドキュメントを読んで準備する方が良いのでは…ということで昨日の手順はごっそり捨てて(日記としては残しておきます)、こちらのInstall for WSL2の手順でやり直してみます。

Step 1: Install Intel Client GPU Driversに書いてあることは、Installing Client GPUs on Ubuntu Desktop 24.04 LTSの手順と同じです。むしろInstall for WSL2の方はlibze1などのapt-getにしっかりsudoを付けているのでこっちのドキュメントの方が親切かも。

Step2: Install Intel Support Packages、apt-get install intel-for-pytorch-gpu-dev-0.5 intel-pti-dev-0.9とバージョン番号を指定していますが自分は sudo apt-get install intel-for-pytorch-gpu-dev intel-pti-devとバージョン番号抜きで進めています。oneAPIで使うコンパイラ等のツールはここでインストールされます。

あとはStep3で環境変数を設定してからPyTorchのビルドへ進むのですが、PyTorchのビルド手順にはWe highly recommend installing an Anaconda environment.と書かれており、インストール時にwhich condaとやっている以上Anacondaをインストールしておくことにします。

AnacondaのインストールはダウンロードのページからLinux向けのPython 3.12、64-Bit (x86) Installerを選んで、bash Anaconda3-2024.10-1-Linux-x86_64.shでインストール開始。インストール先はは$HOME/anaconda3になります。condaの自動有効化(auto_activate_base)はとりあえずoffとして(なので使う時はその都度conda activateする)、インストール終了後に$(HOME)/anaconda3/bin/conda init。これにより$(HOME)/.bashrcが書き換えられるので、一旦ログアウトするなどしてから次の作業へ進みます。

あとは(Step3の手順を忘れずに実行してから)PyTorchのIntel GPU Supportの手順に従って進めていきます。PyTorch Prerequisites for Intel GPUs instructions.についてはここまでやってきたことになりますので、この後にあるGet the PyTorch Source以降の作業になります。

apt-get install intel-oclocしていることを確認してから(これが無いとocloc関連のツールが見つからないとエラーになります)、以下の環境変数をexportで設定してからpython setup.py developしました。

_GLIBCXX_USE_CXX11_ABI=1
Intel XPU使用時はnew C++ ABI専用になるため
USE_XPU=1
嫌な予感がしたので念のため
TORCH_XPU_ARCH_LIST="ats-m150"
Intel Arcを使うため(Lunar Lake内蔵NPUを使う場合はTORCH_XPU_ARCH_LIST="lnl-m"になるかも)
USE_KINETO=0
#include <level_zero/layers/zel_tracing_api.h>が見つからないというエラーの回避(intel-level-zero-gpu-devをインストールしても回避できません)

python setup.py developを実行し一晩放置してみたところエラーが出ていたので、再度python setup.py developを実行してみたらFinished processing dependencies for torch==2.6.0a0+gitd622b49と表示されたのですがこれで良いんでしょうかね?PyTorchのビルドと一緒にCaffe2のビルドも行われていますが、使うかどうか分からない物を突っ込まれても…という気もします。

python setup.py cleanでビルド済みのオブジェクトを一掃し、export BUILD_CAFFE2=0やexport BUILD_CAFFE2=OFFを追加してpython setup.py developでやり直してもCaffe2をビルドしようとする状況は変わりません。無効化する方法を探す必要がありそうです(無いのかも)。56.3kg(07:05)

24-Nov-2024補足:Installing Client GPUs on Ubuntu Desktop 24.04 LTSHowever, if you plan to build PyTorch, install libze-dev and intel-ocloc additionally.にあるように、intel-oclocだけでなくlibze-devのインストールも必要です(libze-devに<level_zero/layers/zel_tracing_api.h>が含まれています)。これによりUSE_KINETO=0の設定を行わずに、エラー無くビルドを終わらせることができています。

05-Nov-2024
[Ubuntu/WSL2で、Intel Extension for PyTorchを使おうとしてつまづく]

Welcome to Intel® Extension for PyTorch* Documentationの指示に従えば終わる?はずだったんですが…なかなかうまくいかないですね。Debian派ではありますが、wsl --installで自動的にインストールされたUbuntu(24.04.1 LTS)にXPU/GPU向けのPyTorch 2.3.110+xpuを入れようとしています。

Intel Arc A770のWindowsのドライバは最新の物を入れていれば要件を満たすとして、WSL2上のUbuntu(Linux)のドライバは…Installing Client GPUs on Ubuntu Desktop 24.04 LTSの手順でインストールします。clinfoもインストールするので、こんな感じでOpenCLに関する情報が取れる…ここまではすんなりいきます、ここまでは。

Pythonは3.12.3が既にインストール済みで、PyTorchをpip越しにインストールすればerror: externally-managed-environmentで怒られ、venvからpipしたところでERROR: Could not find a version that satisfies the requirement torch==2.3.1+cxx11.abi (from versions: 2.2.0, 2.2.1, 2.2.2, 2.3.0, 2.3.1, 2.4.0, 2.4.1, 2.5.0, 2.5.1)になるという。どうすんのこれ…

oneAPI Base Toolkitを使ってソースからビルドすることもできるようなので、駄目元で試してみることにします。Toolkit自体はapt越しに取れますが、GPG鍵などの登録はGet the Intel® oneAPI Base ToolkitからOperating SystemをLinuxに、Installer TypeをAPTとして表示される手順に従って操作します。なお、wgetでGPG-PUB-KEY-INTEL-SW-PRODUCTS.PUBをgpgに渡してkeyringを作成する操作は(変な位置に改行文字が入っているために)コピペではなく手入力にしないとうまくいきません。

GPG鍵とAPTリポジトリの設定を行った後、apt-get updateした後はapt-get install intel-oneapi-base-toolkitではなく、Intel® Extension for PyTorchのドキュメントにあるapt-get install intel-oneapi-dpcpp-cpp-2024.2 intel-oneapi-mkl-devel intel-oneapi-ccl-develとする方が良さそうです。

とりあえず今日はここまで。念のため確認なんですが、Intel XPUを使ってPyTorchが動いてる事例って実際にあるんですよね…?56.0kg(23:15)

04-Nov-2024
[いろいろ。]

21-Sep-2024の、電波の入りが悪くなったのかうまく受信できない状況が続いていたNAVTEXの受信の話。久々に受信してみたところ問題なく受信できています。やはりコンディション(季節?)による影響のようですね…設備の問題かと思っていたので一安心です。

登録販売者試験も終わったし、「次」の準備をしています。二つほどやってみたいと思っているものがあるので、どうにかしたいのですが時間が足りません。お仕事を一ヶ月くらい休めればどうにか…?(長期間の休暇を取ることの方が無理)

OpenBSD-7.6へアップグレードしてからcontour-terminalのビルドを試みているのですが、現時点の最新版はfmt::format(<fmt/format.h>)→std::format(<format>)へ移行してしまい、-std=c++20オプションを付けているにも関わらずビルドができない状態になってしまいました。これに加えてlibunicode-0.5.0も何か問題を抱えてしまったようで、メンテナンスすらままならない状態です。mix-mplus-ipaを用意して、$(HOME)/.config/contour.ymlにsize: 10.5, family: ipagothicを設定すると自分好みになるんですけどねえ。

全てを授けし者編でずっと頓挫している大陸の覇者、これも少しずつですけど進めていきたいところです。未だにソウル武器の扱い(育て方?)が分からないんですけど…ストーリー攻略だけならとりあえず虚シリーズ(最初から作れるやつ)ということらしいので、必要な数を作るところから始めてみることにします。

Intel 13/14世代の不具合という話を受け、Pro H610M-C D4-CSMのUEFIもちょこちょことアップデートするようにしています。とはいえ載せているi3-13100は不具合を起こすRaptor LakeではなくAlder Lake-S Refreshらしいので、そこまで神経質になる必要もないですかね。UEFIの各種項目の設定し直し、結構面倒なので。56.0kg(21:55)