ver.2025.5.17 © いずみ♡ 無断複製転載を禁ず (リンクは可)

いずみ研 共用マシンで PyTorch

次の本のサンプルコードをいずみ研の共用計算機で実行するための解説です。

『最短コースでわかる PyTorch &深層学習プログラミング』
赤石 雅典, 2021/9/17, ISBN:978-4296110322, 日経BP.
https://github.com/makaishi2/pytorch_book_info/

環境構築

Python では 用途によって使うライブラリやバージョンが異なるので、 実行環境を適切に管理しなければならない。 ここでは venv というツールを使って環境を構築し管理する。

使用する計算機に venv が入っていなければ、インストールする。 これには管理者権限が必要。 いずみ研の共用計算機にはだいたい入っているはず。 入っていなければ泉に相談する。

venv のインストール(いずみ研の共用計算機では不要)
sudo apt install python3-dev python3-pip python3-venv python3-tk

PyTorch を使うためのライブラリなどをインストールする。 通常は自分のホームディレクトリに環境を構築する。 できるだけ自分で構築する方法を修得しよう。 また、いずみ研の共用計算機には構築済みの環境を皆が使えるように用意してある。 最初はこちらを利用してもよい。

PyTorch環境構築の例(自分で構築する場合)
python3 -m venv --system-site-packages ~/venv-torch
source ~/venv-torch/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install matplotlib numpy pandas
python3 -m pip install tqdm jupyter ipywidgets PyQt5 japanize_matplotlib
python3 -m pip install torchvision torchviz
deactivate

環境の activate/deactivate

PyTorch を使い始めるとき/使い終わったときには、 構築した環境を activate/deactivate する。

PyTorch環境を activate/deactivate する(自分で構築した場合)
python3 -m venv --system-site-packages ~/venv-torch
(pytorch を使う)      
deactivate
PyTorch環境を activate/deactivate する(共用環境を使う場合)
python3 -m venv --system-site-packages /home/venv/torch
(pytorch を使う)      
deactivate

序章 初めての画像認識

まずは『最短コースでわかる PyTorch &深層学習プログラミング』の序章を学習すること。当該書籍では Google Colab を利用して演習を進めている。 初学者の学習には、クラウド環境で対話的に操作しながら進めていくのはよい方法であろう。 ここではその次のステップとして、自身の計算機でプログラムファイルを実行する方法を試行する。

演習環境の準備

まず、演習のための環境を準備する。 演習のためのディレクトリ(フォルダ)を作成して 当該書籍の著者が提供して下さっている画像データや関数などをダウンロード&展開しておく。

演習環境を構築する
mkdir ~/pytorch_book
cd ~/pytorch_book
git clone https://github.com/makaishi2/pythonlibs.git
unzip pythonlibs/images/dog_wolf.zip
ls -lR

学習と認識の実行

当該書籍の序章の演習をひとつのプログラムファイルにしてみた。 このファイルをダウンロードして演習用のディレクトリに置く。 序章とプログラムファイルを読んで見比べて、 何をどのように組み込んでひとつのプログラムにしているのか、確認してみよう。 なお、このプログラムでは実行環境を確認したり、バージョンの違いを吸収したり、 演習内容以外の処理追加や改変を加えている。

内容を確認したら、実行する。 当該書籍の演習に沿った結果になることを確認する。

学習と認識の実行
python3 chap0.py

1章 以降は…

自分で考えてプログラムを書いて実行する。

参考資料


いずみ研立命館大学 理工学部 電子情報工学科

memo