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

Anacondaの代替としてminiconda3を利用する

1.概要

chatGPTに代表される生成AIが注目されていますが、基盤技術の深層学習(Deep Learning)を学習したいと考えている方も多いと思います。DeepLearningの代表格のTensorflowを利用するには様々なライブラリ依存性調整が必要です。そこで利用されているのがAnacondaですが、2020年4月から有償となっています。

Tensorflowを導入することは以前は非常に難しかったのですが、コンテナを利用できるようになって非常に簡単になりました。tensorflowのサイトに記載されているdockerを利用する方法でAVX2をサポートするCPUでは簡単に導入できます。

しかし、AVX2命令を利用できない低価格のCPUでは実行できません。Anacondaを利用するとAVX2を利用しないモジュールの調整を実施してくれます。無償で学習用途として低価格CPUでtensorflowを利用するにはminiconda3を利用します。この内容を記述します。

2.詳細

環境はubuntu-20.04.6です。
CPUは古いAMDのCPUでAVX2をサポートしていません。
下記コマンドで調べることができます。
cat /proc/cpuinfo

手順は以下のとおりです。

(a) dockerとdocker-composeのインストール
(b) Dockerfile作成
(c) docker-compose.yaml作成
(d) コンテナ起動
(e) jupyter notebookでloginして実行

(a) dockerとdocker-composeのインストール

$ sudo apt -y install docker.io
$ sudo apt -y install docker-compose
$ sudo usermod -aG docker $(whoami)
$ docker --version
$ docker-compose --version

PCの再起動が必要です

(b) Dockerfile作成

FROM continuumio/miniconda3:latest
RUN conda install python=3.10
RUN conda install tensorflow
RUN conda install jupyter
CMD jupyter notebook \
    --notebook-dir=/home \
    --ip=0.0.0.0 \
    --port=8888 \
    --no-browser \
    --allow-root

(c) docker-compose.yaml作成

version: '3'
services:
  tensorflow:
    build:
         context: .
    ports:
         -  "8888:8888"
         
(d) コンテナ起動

$ docker-compose up -d

起動ログを参照します
$ docker-compose logs

(e) jupyter notebookでloginして実行

起動ログにはtokenの情報があります。
http://127.0.0.1:8888/tree?token=xxxxxxx15ff4d6d9bb6a81101ef27307xxxxxxx

Firefoxを利用してloginします。

http://localhost:8888
tokenを入力してjupyter notebookにloginします。

下記pythonプログラムで動作確認します。

import tensorflow as tf
print("tf version")
print(tf.__version__)
print(tf.reduce_sum(tf.random.normal([1000, 1000])))

最新版は利用できませんが、tensorflow-2.12が利用できるようです。

参考
[外部サイト参照]
TensorFlow 2 をインストールする

コメント

このブログの人気の投稿

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

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

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