Windows PCでゼロから始めるPyTorch環境入門 機械学習環境構築ハンズオン(Anaconda3,Python3.7,PyCharm)

#概要
- 機械学習(主にディープラーニング向け)環境「PyTorch」をWindows使えるようにするまでのハンズオンです
- Windows環境にPythonやPyTorchや開発環境をインストールして最低限試せる環境を構築します

## 環境
- Windows 7,8,10
- CPU向け(GPU不要)

## 対象読者
**機械学習**どころか、**PyTorch**どころか、**Python**もはじめてという人

# 手順

## Anaconda3 のダウンロード

AnacondaはPythonの環境を簡単に構築できるパッケージマネージャでPyTorchでもこれを推奨している。

以下のサイトよりAnacondaをインストールする。

https://www.anaconda.com/distribution/#download-section

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/3fe08e71-9b92-c9fe-36b4-8296bbde1cc1.png)


ここでは、**Python 3.7版**のAnacondaをダウンロードする

## Anaconda3のインストール

今回は**C:\Anaconda3**にインストールしたいので管理者権限でダウンロードした**exe**を実行しインストール開始



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/218d3a5b-6fa8-d325-a8bf-ec9f881e85c3.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/d7c79392-b6eb-aaa7-5cf6-10e9bf7a03fa.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/734b7857-9c21-0945-c9e5-3cab4ffbf77c.png)

画面に従ってインストールしていく。

しばらく待つ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/b8b7f059-571c-4a5c-6739-f4dea7b54b70.png)


インストールがおわったら、
以下のディレクトリにパスを通す

```
C:\Anaconda3;
C:\Anaconda3\Scripts;
C:\Anaconda3\Library\bin;
```

## Pytorchのインストール

以下のコマンドでPyTorchをインストールする

```shell
conda install pytorch-cpu torchvision-cpu -c pytorch
```

```shell
>conda install pytorch-cpu torchvision-cpu -c pytorch

Collecting package metadata: done
Solving environment: done

## Package Plan ##

  environment location: C:\Anaconda3

  added / updated specs:
    - pytorch-cpu
    - torchvision-cpu


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    conda-4.6.14               |           py37_0         2.1 MB
    ninja-1.9.0                |   py37h74a9793_0         263 KB
    pytorch-cpu-1.1.0          |      py3.7_cpu_1        79.2 MB  pytorch
    torchvision-cpu-0.3.0      |    py37_cuNone_1         1.7 MB  pytorch
    ------------------------------------------------------------
                                           Total:        83.3 MB

The following NEW packages will be INSTALLED:

  ninja              pkgs/main/win-64::ninja-1.9.0-py37h74a9793_0
  pytorch-cpu        pytorch/win-64::pytorch-cpu-1.1.0-py3.7_cpu_1
  torchvision-cpu    pytorch/win-64::torchvision-cpu-0.3.0-py37_cuNone_1

The following packages will be UPDATED:

  conda                                       4.6.11-py37_0 --> 4.6.14-py37_0


Proceed ([y]/n)?y
```

``Proceed ([y]/n)?y``と聞かれるのでyを入力してエンター。

```shell
Downloading and Extracting Packages
torchvision-cpu-0.3. | 1.7 MB    | ############################################################################ | 100%
ninja-1.9.0          | 263 KB    | ############################################################################ | 100%
pytorch-cpu-1.1.0    | 79.2 MB   | ############################################################################ | 100%
conda-4.6.14         | 2.1 MB    | ############################################################################ | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
```

無事にインストールが終了した。

### jupyter notebookでPyTorchを使ってみる

PythonとPyTorchがインストールできたので、早速簡単なコードを書いてみる。

ここでは、簡単にコードを書いて実行できるツール**Jupyter Notebook**を使っていく。

Jupyter Notebook はPythonのコード作成と実行、実行結果表示、自由コメント（Markdown）編集の3つの機能をそなえたツールで、気軽に利用できるので、Jupyter Notebook上で試す。

PyTorchプロジェクト用のディレクトリ**pytorch_pj**を作る

```shell
mkdir pytorch_pj
cd pytorch_pj
```

ディレクトリに移動したら

```
jupyter notebook
```

でJupyter Notebook(ジュピターノートブック)を起動する。

これから、Python用のノートブックを作成する。

右上あたりにある New を押して、ポップアップしたメニューからPython3を選択

すると、もう１枚タブが開いて、以下のようなノートブック画面が表示される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/3ca530d3-417e-13f3-3178-1b8226cd93ef.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/ca68e3b1-683f-abf0-53f7-c3f4dfbffaef.png)

さっそく、コードを書いてみる

```python

from __future__ import print_function
import torch
x = torch.rand(5, 3)
print(x)
```

これは、ランダム値で初期化した5x3のテンソルを生成して表示するだけのコードとなる。

このコードをjupyter notebookのテキストボックスに貼り付ける

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/42866b46-fe56-506a-47e0-518284f9e56b.png)


この状態で、![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/c2ecbcf5-8e99-4598-9a7b-b4778498c8c0.png)ボタンをおすと、ソースコードを実行し、結果が表示される。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/23c84019-4f19-917e-8cf1-1eb2ea09d283.png)

とても簡単に実行結果を確認することができ、これをもって、PythonとPyTorchが無事インストールされていることを確認することができた。

# PyCharmでPyTorchを使う

前の章ではJupyter Notebookを試したが、本章では本格的なPython向けIDEである、PyCharmを使ってみる。

PyCharmはJetBrains社が開発・提供しており、WebStormやPHP Storm、Android Studioなど有名IDEとの姉妹シリーズとなる。

PyCharmには有償のProfessional版と無償のCommunity版があり、本稿ではCommunity版を導入する。

以下を開いて、Community版をダウンロードする。
（ダウンロードサイズは230MBくらい）

https://www.jetbrains.com/pycharm/download/#section=windows

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/ff9b16fb-57ad-470c-94ab-e21ff91bde59.png)

ダウンロードしたexeファイルを実行し、画面に従いインストールしていく。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/039c6807-8507-f630-0f75-02f323d6b88f.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/3b8fccbc-bf18-82e7-1fd8-4e9cd688e8af.png)

インストールが終わったら、PyCharmを起動する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/0ae67f09-0beb-e299-ffa4-2a57bd74e586.png)

UIテーマを選び（すきなほうを）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/dca96197-1aa3-2407-f827-bf4b4e76e8c4.png)

プラグインインストール画面を経て（なにもインストールしなくてOK)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/2133b274-a047-9532-7bf5-50b9664978e1.png)

**Start Using PyCharm**をクリックするとPyCharm起動画面がでる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/f10d1e41-0f36-b23f-62b8-1e72dee76754.png)

起動画面で、右下のConfigureをクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/5b2845fc-7ca2-fab1-be0b-6685a07dd7b3.png)

**Settings for New Projects**というウィンドウが開くので、左側ペインの**Project Interpreter**を選択する。

すると、上部**Project Interpreter**の選択ボックスがでてくるので**Show All**を選択する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/56361de1-9c39-d511-c07d-67dd859c1cdd.png)

右上の**+**ボタンを押す

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/7dcab190-d882-cb42-c495-69724e257f1c.png)

開いた**Add Python Interpreter**ウィンドウの左側ペインで**System Interpreter**を選択し、**Interpreter:**がさきほどインストールしたAnaconda3のディレクトリ以下のPython.exeになっていることを確認して、OKをクリック。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/216bb1b7-2867-1619-99d5-b71d7d875625.png)

すると、**Project Interpreters**ウィンドウに反映されるのでここでもOKをクリック。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/cd0d358e-ad89-fd6e-7e6b-9bf9841be44b.png)

以下のように、**Project Interpreter**が設定された。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/ce234103-31cd-e39c-1394-a536fabc9d3d.png)

ここでOKを押すと以下のように、**Updateing Python Interpreter**となり設定が反映される。(5分～10分程度かかる)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/86d2df26-eb78-cda4-c952-7de0cb75429d.png)

反映がおわると、ダイアログが閉じる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/aaaaf36e-3fd9-b178-37c7-18773cfd43f1.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/b03e79a1-d0f5-0921-56e6-d6b7f146b6bc.png)をクリック

プロジェクトのディレクトリを指定し![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/f6701a85-343d-be4c-e5c6-c9264b3779c4.png)をクリック。ここでは、ディレクトリは**c:\temp\mytest**とした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/b072f13c-44b7-8c8f-2504-a0771f28c750.png)

使用するインタプリタを聞いてくるので、![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/55680ab0-cb83-255c-080f-91350e210893.png)を選択。せきほど、設定したインタプリタを選択できる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/386ec7ab-8b1d-42ba-644f-650c29841144.png)

これで![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/af54e1a5-1003-d2ef-5bd5-a6ab385e5e87.png)をクリック

すると、プロジェクトが作成されるので、さっそくPythonファイルを新規作成する。

左上のディレクトリの上を右クリックして、**New>Python File**で**example.py**というファイルを作った。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/2be8a74d-3170-25b8-9c70-39c873b7665e.png)

そこにさきほどのPyTorch用のコードを書く。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/9200e57d-2834-4180-5a18-3d0e6d7cd871.png)

エディタ上で右クリックしてコンテキストメニューを出し**Run 'example'**を選択すると、今書いたコードを実行できる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/f9df43ac-1c40-a251-2aed-7d10f2a2d37d.png)

ちゃんと実行され、結果が表示された。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/a7755a5a-d4ec-1ef3-a862-8a29f1ba9f57.png)

# まとめ

- Windows環境でPyTorchを使える状態にしました
- 開発環境(Jupiter Notebook,PyCharm)のインストールも行いそれらを使ってPyTorchの開発ができるところも簡単に確認しました
- [PyTorch入門編](https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html)にあるチュートリアルくらいならWindows PCのCPU環境でも十分試すことができます

## 本格的に機械学習をまわしたいならGPUがあると便利

今回は、手元のWindows PC用にCPU向けの環境を構築しましたが、CPUを使った機械学習で物たりなくなったらGPUの出番です。最近はGPUまでも無料で使える選択肢があります。

**選択肢その１** Google Colabで無料GPUをつかう

- Google Colab をつかえば無料でGPU(TPU)使って機械学習をすることができます。
　しかも、Jupyter Notebook方式なのでとっつきやすいです  
　https://colab.research.google.com

**選択肢その２** 専用機械学習GPUマシン

- 手元の専用マシンで好きなだけ学習ぶん回したい場合はLinux環境を準備するのがトラブルが少ないようにおもいます。
- 以下にLinux+GPUで本記事と同等の環境を作ることができる記事も公開しましたので、ご参考になればと思います。  
 [ボーナスでたら、ゼロからLinuxのGPU機械学習環境を作る　～Ubuntu18.04のインストールからPyTorch実行まで全手順～](https://qiita.com/riversun/items/9f8ecbae2645c22853b6)