PythonでAI・機械学習環境構築

■PC環境
CPU：i7
メインメモリ：16GB
GPU：NVIDIA 「Tesla80」

■OS
WindowsServer2019／64bit

■セットアップツール
●CUDA toolkit
CUDA10.0 [cuda_10.0.130_win10_network.exe]
cuDNN7.4 [cudnn-10.0-windows10-x64-v7.6.0.64.zip]
●Python環境
Python3.8 (Miniconda3 Windows 64-bit)




①	GPU（Cuda）ドライバセットアップ
NVIDIAからTesla K80のドライバをダウンロード、インストール。
URL：https://www.nvidia.com/Download/Find.aspx
サイトから下記プロダクトタイプを選択
Product Type: Datacenter/Tesla
Product Series: K-Series
Product Type: Tesla k80
OS: Windows 2019

インストール後、デバイスマネージャから該当のGPUボードが表示される
![GPU.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/274aabd8-e886-91ab-d349-c74e760b5813.png)



②	CudaToolkitセットアップ
●CUDA Toolkit ダウンロードサイト
下記サイトよりCUDA10.0 [cuda_10.0.130_win10_network.exe]をダウンロード
https://developer.nvidia.com/cuda-10.0-download-archive


ダンロードしたexeをインストール
下記、画面で「AGREE AND CONTINUE」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/eafe1f6f-57b8-0683-e6e3-98972da82115.png)

Customを選択しNextをクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/c9b0a7e7-701e-5dd2-ee58-2b90b140eb55.png)

下記、チェックしNextをクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/5c873022-f8e3-960f-1e0e-71c3c996bfed.png)

Nextをクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/a8db80fb-3aef-47c5-17da-6bbaee82f736.png)

チェックをつけNextをクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/c1eaa90c-554f-3416-b322-0f8d2f114a54.png)

Nextをクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/8b0e4198-e95d-a43c-296f-9671ff0db38a.png)

CLOSEをクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/4002ad01-ab02-df9a-0b36-0785c2552405.png)

●cudnnダウンロードサイト
https://developer.nvidia.com/rdp/cudnn-archive
下記サイトよりcuDNN7.4 [cudnn-10.0-windows10-x64-v7.6.0.64.zip]をダウンロード
https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.6.0.64/prod/10.0_20190516/cudnn-10.0-windows10-x64-v7.6.0.64.zip

DLした「cudnn-10.0-windows10-x64-v7.6.0.64.zip」を解凍
下記構成に従いファイルをコピー

●セットアップ
cudnn-10.0-windows10-x64-v7.6.0.64
└─cuda
    │
    ├─bin
    │      cudnn64_7.dll  => C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin\ にコピー
    │
    ├─include
    │      cudnn.h  => C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include にコピー
    │
    └─lib
        └─x64
                cudnn.lib  => C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64 にコピー

以上でCUDA Toolkitセットアップ完了



③	Python（Anaconda またはminiconda）環境
今回はAnacondaのミニ版のMiniconda をセットアップしPython仮想環境を構築する。
下記サイトから「Miniconda3 Windows 64-bit (Miniconda3-latest-Windows-x86_64.exe)」をダウンロード
https://conda.io/miniconda.html

 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/4b2f2e0f-ea5d-8b29-2eaa-d1d161abe950.png)


ダウンロードした「Miniconda3-latest-Windows-x86_64.exe」をダブルクリックし、下記手順に従ってインストールを実施
なお、ユーザー名は「Administrator」になっているのでPathは自身のPC環境に置き換えて実施

●Nextを押下

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/4676d226-944f-4d2d-e5bf-38473c49d768.png)

●I Agree を選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/8013c3e9-c22e-e744-789b-571f9b1c235f.png)

●Nextを押下

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/c9e6f9d8-7d61-46bf-b95f-ec0e21de5e22.png)

●Nextを押下

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/45797fd9-bc76-e62b-749c-e77483a48699.png)

●Installを押下
グローバルパスを変更するかどうかのチェック欄があるが、これは推奨通りに変更しない（チェックを入れない）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/3077417a-53df-21e3-6ea9-7ec978d015cd.png)

●Nextを押下

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/3e53eeb8-0eb8-c6be-30e0-83cf35c68070.png)

●チェックボックスのチェックをはずしFinishを押下

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/669556a8-ec78-1b8e-ebbf-7e400a5365c9.png)


●スタートメニューからAnaconda Prompt(miniconda3) を起動

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/d1bb008c-9b24-c62e-19ea-f915735a8717.png)


Anaconda Promptが表示される

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/e925fb4d-0002-6219-5fff-c9b9721963c0.png)

以降の作業は、Anaconda Promptで実施

■任意のバージョンの Python 環境を作成
2020/10時点での最新版の Python は 3.8.5 だが、Tensorflowの最新バージョンでは 3.8 はサポートされていないため「3.7」のバージョンで作成

●実施コマンド
> conda create -n py37 python=3.7

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/ff8291ef-f08a-2631-c41c-84eedb8e2615.png)

●追加のインストールパッケージ一覧が表示されるので「y」を入力してエンターを押下

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/d1161dcf-0fd2-4eba-976d-5fa866dc8344.png)

インストールが完了すればデフォルトで下記パスに仮想環境が作成される
「C:\ProgramData\Miniconda3\envs\py37」

●仮想環境起動
>conda activate py37

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/d2140f8a-0cbb-404f-5e9a-af41495f29b3.png)

●pythonバージョン確認
>python --version

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/8fd82856-a2af-bdc0-eb19-2a7755b25165.png)

●作成した仮想環境の確認
>conda info -e

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/0fd8f200-238b-54f4-9d7f-19a702c0b765.png)


●仮想環境を停止する場合
>conda deactivate


■拡張パッケージのインストール（今回使用したもの）
python -m pip install --upgrade pip
pip install tensorflow-gpu==2.0
pip install keras==2.3.1
pip install scikit-learn
pip install pandas
pip install beautifulsoup4
pip install requests
pip install matplotlib
pip install pillow
pip install opencv-python
pip install pyttsx3
pip install pydot
pip install pydotplus
pip install lxml
pip install janome
pip install seaborn
pip install pydot-ng
pip install IPython
pip install lightgbm==2.3.0
pip install jupyter
conda install graphviz

システム環境変数「Path」に仮想環境にインストールしたライブラリ「graphviz」のパスを通しておく
例）C:\ProgramData\Miniconda3\envs\py37\Library\bin\graphviz

■Jupyter Notebook起動
>jupyter notebook

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/ccac66cc-48e3-7702-97ff-ec139c0824d4.png)

ブラウザが起動し下記画面が表示される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30315/a2a18f91-7491-5c4a-8b20-811c2105fe77.png)


■実行するソースコードを下記に設置
C:\share

■Jupyter Notebookの初期ディレクトリを変更

1. jupyter notebookの設定ファイルを作る
Aanaconda Promptで仮想環境起動

>conda activate py37

下記コマンドを実行

>jupyter notebook --generate-config

「default config」が[C:\Users\[ユーザー名]\.jupyter\jupyter_notebook_config.py]に生成されるので「default config」の
c.NotebookApp.notebook_dir = ''
を下記に修正（今回は「c:\share」）※先頭の#は消すこと
c.NotebookApp.notebook_dir = 'c:\share'

以上で設定完了

■Jupyter Notebook　tips

・help
ESC＋H

・Jupyter Notebookのプログラム実行をリセット
ツールバーの「Kernel → Restart & Clear Output」でカーネルを初期化

・セル行番号表示／表示解除
ESC+L