投稿

9月, 2024の投稿を表示しています

OpenMythosのサンプルプログラムを動かしました

1.概要 前回、OpenMythosの環境構築まで実現したので、GitHubにあるサンプルプログラム(Usage)を動かしてみました。一部エラーが発生しましたが、結果出力部分なので修正をしました。その内容を記述します。 2.詳細 Usageに記載されているPythonプログラムをopenmythos_usage.pyとして作成します。 $ source ~/mypy/bin/activate (mypy) $ pythoh3 openmythos_usage.py 下記エラーとなります [MLA] Parameters: 1,538,626 [MLA] Logits shape: torch.Size([2, 16, 1000]) [MLA] Generated shape: torch.Size([2, 24]) Traceback (most recent call last):   File "/home/nakasima/openmythos/openmythos_usage.py", line 48, in <module>     rho = torch.linalg.eigvals(A).abs().max().item()           ^^^^^^^^^^^^^^^^^^^^^^^ RuntimeError: linalg.eig: The input tensor A must have at least 2 dimensions. コードの下記部分を修正します #rho = torch.linalg.eigvals(A).abs().max().item() rho = A.abs().max().item() $ source ~/mypy/bin/activate (mypy) $ pythoh3 openmythos_usage.py [MLA] Parameters: 1,538,626 [MLA] Logits shape: torch.Size([2, 16, 1000]) [MLA] Generated shape: torch.Size([2, 24]) [MLA] Spectral radius ρ(A) = 0.3679 (mus...

json形式をyaml形式に相互変換を試しました

1.概要 Pythonプログラムでデータ定義用途でjson形式を良く利用していました。yaml形式でデータ定義されたものを参照する機会があり、jsonとyamlの関係について、テストプログラムで調べてみました。Pythonプログラムは、json形式もyaml形式も辞書(dic)になるので同じ扱いになります。また、json形式をyaml形式に変換、yaml形式をjson形式へ変換も実施してみました。この内容を記述します。 2.詳細 (a) 試験データ作成 (b) 試験プログラム作成 (c) 実行結果 (a) 試験データ作成 test.json を以下のように作成 {     "node_a": {         "type": "int",         "length": "4"     },     "node_b": {         "type": "float",         "length": "8"     },     "node_c": {         "type": "char",         "length": "1"     } } test.yamlを以下のように作成 node_a:     type: "int"     length: "4" node_b:     type: "float"     length: "8" node_c:     type: "char"     length: "1" (b) 試験プログラム作成 #!/usr/bin/python3 import yaml import json class YamlJson:     def ReadJson(self, filename):   ...

youtubeの動画をdownloadする方法

 1.概要 ubuntu環境でyoutubeを参照するのはブラウザを利用すると簡単です。保存したい動画がある場合、以前youtube-dlを利用していました。実際に実行してみると、youtube-dlではdownloadできません。ネットを調べて、yt-dlpでdownloadできたのですが、簡単ではありません。この内容を記述します。 2.詳細 (a) sudo apt-get install youtube-dl 以前はこれを利用していました。 実際に導入できますが、downloadできません。 (b) sudo apt install yt-dlp yt-dlpをネットで見つけて試しました。 実際に導入できますが、やはり、downloadできません。 (c) yt-dlp/yt-dlp githubのyt-dlpから最新版を試しました。 releasesから最新版を入手して、downloadできました。 参考 [外部サイト参照] ・ YouTube の動画をコマンドラインからダウンロードできる youtube-dl をUbuntuに入れる ・ youtube-dlで動画をダウンロード on Debian ・ yt-dlp/yt-dlp ・ yt-dlp/yt-dlp rleases

最も簡単なWindows11とubuntuのデュアルブート

1.概要 参考資料では、KB5043076によりWindows11とLinuxのデュアルブートができなくなる可能性が記述されています。これはWindows11のブートマネージャーを利用する場合のようです。また、ubuntuのgrubをブートマネージャーとして利用してもデュアルブートは難しい。しかし、UEFI-BIOSでbootデバイスを指定するとデュアルブートはできるはずなので確かめてみました。その内容を記述します。 2.詳細 (a) 環境 PC : BMAX memory 8GB SSD 256GB Windows11 23H2 KB890830適用済み USB memory: microSD 64GB搭載のUSBにubuntu-20.04.6導入 UEFI-BOOT (b) Windows11起動 Windows11 23H2 KB890830適用済みが起動します。PCにはSSDが1台のみ搭載です (c) ubuntu起動 BMAXはF11-keyでUEFI-BIOSでmicroSD 64GB搭載のUSBの起動ディスクを選択できました。 3.所見 USB-bootが可能となり、また、USB容量も大きくなり、性能も悪くありません。PCにディスクを追加したり、パーティション分割でWindows11とLinuxのデュアルブートを実現するよりもUEFI-BIOSの起動ディスク選択でデュアルブートをすることが楽だと思います。 この方式ではubuntuからWindows11の内容は参照できますが、Windows11からはUbuntuの内容を参照できません。これで良い気がしています。 4.追加 Windows11のsecure bootを有効にした場合、この方式によるデュアルブートは困難になっています。WindowsとLinuxは別PCにするか、仮想マシン上で片方を動かす以外に難しくなってしまいました。 参考 [本ブログ内参照] ・miniPCのBMAXにwindows11を再導入して。ハマりました ・uefiBIOSとRegacyBIOSの療法でbootできるmulti boot USB作成 ・miniPCのBMAXをuefi-gptでubuntu installしました

ARM64のubuntu-arm64をKVMで動作にチャレンジ

1.概要 前回、ARM64のubuntu-arm64をQEMU環境で動かしました。QEMUはterminal起動なので、terminalを終了すると終了してしまいます。arm64の環境を維持する方法を調べて、ネット上でKVM仮想マシンにする方法を見つけました。KVM仮想マシンにすることで起動停止の自由度が高くなる上、レスポンスも良くなります。その内容を記述します。 2.詳細 新しくubuntu-20.04.6の環境を構築後、作業をします。 環境はAMD 4core Memory 16GB SSD 128GBです。 (a) qemu-system-aarch64の準備 (b) arm版Ubuntuイメージ(cloud-init版)の準備 (c) NoCloudデータの準備 (d) 仮想マシンのインストール (e) 仮想マシンの起動 (a) qemu-system-aarch64の準備 $ sudo apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager $ sudo apt install -y qemu-system-arm qemu-efi-aarch64 qemu-efi-arm (b) arm版Ubuntuイメージ(cloud-init版)の準備 ubuntu-20.04のimageを利用します $ wget https://cloud-images.ubuntu.com/focal/current/forcal-server-cloudimg-arm64.img 10GBに拡張します $ qemu-img forcal-server-cloudimg-arm64.img 10G (c) NoCloudデータの準備 user-dataをvimで作成します #cloud-config user: ubuntu password: password chpasswd: { expire: false } ssh_pwauth: true user-data.isoを作成します $ touch meta-data $ genisoimage -output ./user-data.iso -volid cidata -joliet -rock user...

QEMUを利用してx86_64上でubuntu-arm64を動作にチャレンジ

1.概要 ubuntuにはARM64の配布も実施されています。PCはx86_64のCPU搭載機器しか持っていないのでARM64は全く見向きもしていませんでした。しかし、QEMUを利用してx86_64上でubuntu-arm64を動作できると知って、調べてみました。この内容を記述します。 2.詳細 参考資料に沿って作業をします。 実行環境はubuntu-20.04.6で、CPUはAMDの4core、Memory 16GBです。 (a) Install QEMU (b) Create necessary support files (c) Fetch the Ubuntu cloud image (d) Run an emulated ARM64 VM on x86 (e) login (a) Install QEMU sudo apt install qemu-system-arm (b) Create necessary support files truncate -s 64m varstore.img truncate -s 64m efi.img dd if=/usr/share/qemu-efi-aarch64/QEMU_EFI.fd of=efi.img conv=notrunc (c) Fetch the Ubuntu cloud image https://cloud-images.ubuntu.com/focal/current/ から下記imgファイルをdownloadします focal-server-cloudimg-arm64.img (d) Run an emulated ARM64 VM on x86 sudo qemu-system-aarch64 \  -m 2048 \  -cpu max \  -M virt \  -nographic \  -drive if=pflash,format=raw,file=efi.img,readonly=on \  -drive if=pflash,format=raw,file=varstore.img \  -drive if=none,file=focal-server-cloudimg-arm64.img,id=hd0 ...