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...

grepで非常に大量の条件がある場合の抜本改善策

1.概要

前回、実際にgrepで大量のパラメータを設定して、下記エラーが発生しました。
grep: Argument list too long
この対策に関して記述します。

2.詳細

grep --help を参照すると下記指定ができます。
-f, --file=FILE take PATTERNS from FILE

そこで、pattern.datを以下のように作成します。

100001
100002
100003
100004
100005
 ...
300000

grep -f pattern.dat test.txt > test.out

を実行するとgrep: Argument list too longは解消されます。

3.考察

grepは正規表現が可能なので、少し調べてみました。
pattern.datを少し変えてみました。

^[0-9]*,100001
^[0-9]*,100002
 ...
^[0-9]*,300000

同じように実行すると途中でエラーとなります。

grep -f pattern.dat test.txt > test.out

調べてみるとメモリを使い切って、処理を中断していました。
-f で指定する場合は、正規表現を多数記述するのは難しいようです。

コメント

このブログの人気の投稿

miniPCのBMAXでWindows11のsecure boot設定漏れでトラブル発生

LinuxMint-22.3にWine 11.6をサクッと入れてみました

LinuxMint 21.3にWinBoat導入を試してみました