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

IPv4アドレス範囲をサブネット方式からネットマスク方式へ変換(python版)

1.概要

IP addressの範囲指定方法は、192.168.0.0/24などのセグメント記述方法と192.168.0.0-192.168.0.255とIPアドレスの範囲を指定する方法があります。今回は、セグメント記述方法をアドレス範囲記述方法へpython3のプログラムで変換します。

2.詳細

(1) 変換方法

以下のような変換ができることを目標にします。

"192.168.0.0/24"  =>  ['192.168.0.0','192.168.0.255']
"172.16.0.0/16"   =>  ['172.16.0.0','172.16.255.255']
"10.0.0.0/8"      =>  ['10.0.0.0','10.255.255.255']

(2) python3の関数(ipseg.py)

すこし、考えて処理を記述しました。

def seg2rng(segment):
    seg  = segment.split("/")
    ips  = seg[0].split(".")
    ipe  = seg[0].split(".")
    mask = int(seg[1])
    wk0  = mask//8
    wk1  = 2 ** ((wk0 + 1) * 8 - mask) - 1
    wk2  = int(ips[wk0]) + wk1
    ipe[wk0] = str(wk2)
    for i in range(3,wk0,-1):
        ipe[i] = "255"
    return ['.'.join(ips),'.'.join(ipe)]

if  __name__ == "__main__":

    print(seg2rng("192.168.0.0/24"))


(3) 実行方法

python3 ipseg.py
['192.168.0.0', '192.168.0.255']
       
(4) 評価

エラー処理などは記述していませんが、変換処理は正しく実施されているようです。 

コメント

このブログの人気の投稿

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

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

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