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 をインストールする
コメント
コメントを投稿