参考書「つくりながら学ぶ!PyTorchによる発展ディープラーニング」の環境構築例をご紹介します。
【環境構築】「つくりながら学ぶ!PyTorchによる発展ディープラーニング」
「つくりながら学ぶ!PyTorchによる発展ディープラーニング」は有名で人気なPyTorchの参考書です。購入済みの方々も、購入を検討されている方々も、どんなPC環境を整えないといけないのか気になると思います。
この記事では、参考書のプログラムを動かすための環境構築方法をご紹介します。
本記事でご紹介する環境構築
この記事では以下の3つの環境構築例をご紹介します。
初学者の方々には、無料で構築できる「手元PC(GPU不要)+Google Colaboratory」をまず試すことをオススメします。
- 手元PC(GPU不要)+AWS
- 手元PC(GPU不要)+Google Colaboratory
- 手元PCのみ
以下でそれぞれの詳細をまとめていきます。
環境1:手元PC+AWS
AWS(Amazon Web Services)とは、サーバーをレンタルすることができるAmazonのクラウドサービスで。AWSは有料ですので、使う場合は慎重に進めましょう。
使い方は書内で詳しく解説されていますので、環境構築方法については、本記事では省略します。
環境2:手元PC+Google Colaboratory
Google Colaboratoryは、無料で、ブラウザのみでディープラーニングを実装・検証できるツールです。
「ファイル > ノートブックを開く > GitHub」というような操作で簡単にインポートすることができます。
環境3:手元PCのみ
GPUを搭載した手元のPCで機械学習を行う場合は、以下の説明が役立つと思います。
以下では、2つの仮想環境構築例をご紹介します。
- Anaconda
- Docker
※ソフトウェアのインストールは慎重に進めましょう。
環境3-1:Anaconda
Anaconda はデータサイエンス向けのPython仮想環境を構築できるプラットフォームです。
必要条件
まずは以下をインストールします。
- Anaconda
- Jupyter Notebook
環境構築
仮想環境をつくって名前をつけます。今回は、「py36_pytorch」という名前にします。
$ conda create -n py36_pytorch python=3.6
つくった仮想環境にアクセスします。
$ conda activate py36_pytorch
PyTorchをインストールします。公式HPを確認して、お手元の環境に合うバージョンを指定してインストールする必要があります。
▶PyTorch公式
下記のコマンドは、CUDA8.0で1.0.0のPyTorchをインストールする例です。
$ conda install pytorch==1.0.0 torchvision==0.2.1 cuda80 -c pytorch
本書のプログラムはipynb形式のファイルなので、Jupyter Notebookをインストールします。
$ pip install jupyter $ jupyter notebook
Jupyter Notebook上で、つくった仮想環境のKernelを選択できるはずです。
環境3-2:Docker
Dockerも仮想環境を構築するプラットフォームです。
AnacondaがPythonまわりの環境を構築できるのに対して、Dockerはシステム全体を構築します。まったく新しいPC環境をゼロからつくるイメージです。
必要条件
- Docker(バージョン19.03以降)※
or
Nvidia Docker 1
or
Nvidia Docker 2
※Docker19.03より前のバージョンでは、コンテナ内でCUDAを利用できませんので、Nvidia docker 1 or 2が必要です。
Docker(バージョン19.03以降)の場合
Docker(バージョン19.03以降)を用いる場合は以下のDockerfile、Build、Runを読んでみてください。
Dockerfile
########## Pull ########## FROM nvidia/cuda:8.0-cudnn7-devel-ubuntu16.04 ########## BASIS ########## RUN apt-get update && apt-get install -y \ vim \ wget \ unzip \ git \ build-essential ########## PyTorch ########## RUN apt-get update && \ apt-get install -y \ python3-pip && \ pip3 install --upgrade "pip < 21.0" && \ pip3 install \ torch==1.0.0 \ torchvision==0.2.1 ########## Book "pytorch_advanced" ########## RUN cd /home && \ git clone https://github.com/YutaroOgawa/pytorch_advanced ########## Jupyter Notebook ########## RUN pip3 install jupyter && \ echo "#!/bin/bash \n \ cd /home/pytorch_advanced && \n \ jupyter notebook --port 8000 --ip=0.0.0.0 --allow-root" \ >> /home/jupyter_notebook.sh && \ chmod +x /home/jupyter_notebook.sh ########## Requirements ########## RUN apt-get update && \ apt-get install -y \ libopencv-dev && \ pip3 install \ matplotlib \ tqdm \ opencv-python \ pandas ######### Initial position ########## WORKDIR /home
Build
$ docker build . -t book_pytorch_advanced:docker
Run
Jupyter Notebookを開くために、下記のようにポートを指定する必要があります。
$ docker run -it --rm \ --gpus all \ -p 8000:8000 \ book_pytorch_advanced:docker
Nvidia Docker 1の場合
Nvidia Docker 1を用いる場合は以下のDockerfile、Build、Runを読んでみてください。
Dockerfile
########## Pull ########## FROM nvidia/cuda:8.0-cudnn7-devel-ubuntu16.04 ########## nvidia-docker1 hooks ########## LABEL com.nvidia.volumes.needed="nvidia_driver" ENV PATH /usr/local/nvidia/bin:${PATH} ENV LD_LIBRARY_PATH /usr/local/nvidia/lib:/usr/local/nvidia/lib64:${LD_LIBRARY_PATH} ########## BASIS ########## # 略(上記Docker(バージョン19.03以降)の場合と同じ) ########## PyTorch ########## # 略(上記Docker(バージョン19.03以降)の場合と同じ) ########## Book "pytorch_advanced" ########## # 略(上記Docker(バージョン19.03以降)の場合と同じ) ########## Jupyter Notebook ########## # 略(上記Docker(バージョン19.03以降)の場合と同じ) ########## Requirements ########## # 略(上記Docker(バージョン19.03以降)の場合と同じ) ######### Initial position ########## # 略(上記Docker(バージョン19.03以降)の場合と同じ)
Build
$ docker build . -t book_pytorch_advanced:nvidia_docker1
Run
Jupyter Notebookを開くために、下記のようにポートを指定する必要があります。
$ nvidia-docker run -it --rm \ -p 8000:8000 \ book_pytorch_advanced:nvidia_docker1
Nvidia Docker 2の場合
Nvidia Docker 2を用いる場合は以下のDockerfile、Build、Runを読んでみてください。
Dockerfile
########## Pull ########## FROM nvidia/cuda:8.0-cudnn7-devel-ubuntu16.04 ########## nvidia-docker2 hooks ########## ENV NVIDIA_VISIBLE_DEVICES ${NVIDIA_VISIBLE_DEVICES:-all} ENV NVIDIA_DRIVER_CAPABILITIES ${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics ########## BASIS ########## # 略(上記Docker(バージョン19.03以降)の場合と同じ) ########## PyTorch ########## # 略(上記Docker(バージョン19.03以降)の場合と同じ) ########## Book "pytorch_advanced" ########## # 略(上記Docker(バージョン19.03以降)の場合と同じ) ########## Jupyter Notebook ########## # 略(上記Docker(バージョン19.03以降)の場合と同じ) ########## Requirements ########## # 略(上記Docker(バージョン19.03以降)の場合と同じ) ######### Initial position ########## # 略(上記Docker(バージョン19.03以降)の場合と同じ)
Build
$ docker build . -t book_pytorch_advanced:nvidia_docker2
Run
Jupyter Notebookを開くために、下記のようにポートを指定する必要があります。
$ docker run -it --rm \ --runtime=nvidia \ -p 8000:8000 \ book_pytorch_advanced:nvidia_docker2
テスト
$ (イメージのbuild) $ (コンテナのrun) $ ./jupyter_notebook.sh
URLが表示されると思います。そのURLをブラウザで開けばJupyter Notebookが起動するはずです。
さいごに
有名なPyTorchの参考書「つくりながら学ぶ!PyTorchによる発展ディープラーニング」のための環境構築方法をご紹介しました。
参考になれば幸いです。
以上です。
コメント