Windows10とWSLでTensorflow for Poetsを実行する（前編）

#本稿の目的
機械学習をやりたいと思って、色々試行錯誤した結果、windows10上でWindows Subsystem for Linux (WSL)を使い、ようやく機械学習の門をたたくことが出来ました！

今回行った機械学習は
googleが公開しているチュートリアルです。花５種の画像から機械学習と推論をすることができます。
> https://codelabs.developers.google.com/codelabs/tensorflow-for-poets/#5

実際に環境を構築していくと、その過程で苦労するところが多かったので、後進の方々が同じ轍を踏まない様に、ここにそのステップを残していこうと思います。

#前提条件
- OS:windows10 
- メモリ:16GB
- CPU:i3-8100

#やってきたこと（読み飛ばしてもいい）
## windows向けの最新のpythonを普通にインストールしてトライ
現在(2019.06.17)のtensorflow-2.0.0-betaはpython3.7に対応しておらず、断念
## pythonの有名な開発環境Anacondaをインストール。その中でpython3.6ベースで仮想環境を構築してトライ
チュートリアルの途中に出てくる
```
tensorboard --logdir tf_files/training_summaries &
```
のコマンド実行で、"~ supported Background"なんたらというエラーが出てしまう。
それを無視して、機械学習のコマンドを実行するが、
```
IMAGE_SIZE=224
ARCHITECTURE="mobilenet_0.50_${IMAGE_SIZE}"
```
の設定がうまく出来ていないのか、先に進まない。
また、jupyter notebookを使う中で、コマンド実行中の[*]の状態がちゃんと動いているのかさっぱり分からず。すっきりしない。
## google colaboratoryを使い、トライ
作業フォルダの指定の仕方が分からず、断念（笑）
マウントすりゃいいのかー？
ちなみに、google colaboratoryはクラウド上で使える、Juypterノートブック環境です。無料で使えます。いつか使いたい。
## 最新のtensorflow for poetsをトライ
チュートリアル自体がgoogle colaboratoryで記述されており、読みながら、実行ボタンを押すことで、機械学習がされていく（らしい）。
全然、自分の手を動かさないので、頭に入らず、途中で放棄。

# （本旨）機械学習がうまくいった手順
## Microsoft StoreでWSLを入手、インストールする。
ダウンロードとインストールが自動で行われます。
自分はUbuntu (無印)を入れました。右となりのUbuntu 18.04 LTSは長期サポート版なので、こちらでもいいのかもしれません。
![キャプチャ - コピー.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/408801/d60a1f96-ecec-6680-eb17-2a53300b5cb4.png)

WSLは簡単に言うと、Windows上でLinuxを動かすためのツールです（完）
## WSLの起動とトラブルシューティング
インストールが完了すると、タスクバーにかわいいubuntuアイコンが出るので、起動させます（すでに起動しているかも）
![タスクバー - コピー.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/408801/6a533fb4-6a1c-36f6-07e3-feeaab343a8c.png)
これが起動すると、コマンドプロンプト（黒い画面）が出ますが、自分の場合、こんな風（↓）にエラーが出てしまい、Enterを押すと、コマンドプロンプトは去ってしまいました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/408801/f11b7d25-126e-a3d6-03ca-d2cb9b916b50.png)
色々調べると、どうやら、windows上でWSLを有効にする必要があるらしい・・・！
参考になったサイト↓(日本語版はカタコトすぎて混乱したので本家で参照しました)
> https://docs.microsoft.com/en-us/windows/wsl/install-win10

このサイトの下部にある
> Open Control Panel -> Programs and Features -> **Turn Windows Feature on or off ** -> Check Windows Subsystem for Linux or using the PowerShell cmdlet mentioned at the begining of this article.

を実行したら、うまくいきました。日本語にすると、
コントロールパネル開いて、"プログラムと機能"を選択、画面左の"Windowsの機能の有効化または無効化"をクリックして、"Windows Subsystem for Linux"にチェックを入れる。その後、再起動したらうまくいきました
![image２.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/408801/a5129580-70d5-17b1-3ebf-f5b79efaf385.png)

実行がうまくできたのちは、
アカウント名とパスワードの登録をして、WSLのセットアップは一応完了です。

一応、ubuntuパッケージの最新化をするために、WSL上で
```
$sudo apt update
$sudo apt upgrade -y
```
を入力しましょう。sudoは管理者権限でコマンドを実行するコマンドなので、先ほど設定したパスワードを入力する必要があります。
また、$は入力不要ですよー。コマンドプロンプトの暗黙のルール（キリっ！）


## WSL上でpython3をインストール
いよいよ、python3を入れていきます。
WSL上で
$sudo apt install python3-dev python3-pip
を実行しましょう。これも管理者権限なので、パスワード入力必要です。
ここでパスワードを入力する段階でこのパッケージにどんなライブラリ（？）が入っている確認することができます。そこの情報をつらつら眺めると、、、
python3.6
という文字が！！！　。　　やった！丁度いい！（実はこの時まで、python3の何がインストールされるか不明でした汗）
python3.6はtensorflowサポートしているので、うまく行く自信が少し持てました（笑）
```
$python3 --version
```
でpyhton3のバージョン確認をします。↓
![image4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/408801/a550ebe3-18a1-d088-7946-f319c28560cf.png)


やったーーー！うまくいってる！

とりあえず、前編はここまでにしておきます。
前編はインストールが主でしたが、
後半もインストールが続きます（笑）

# 後編の内容（予定）
- 仮想環境(venv)のインストール
- 仮想環境の設定
- tensorflowのインストール
- tensor for poetsへの挑戦（うまくいった）
- tensorBoardのさわり


# おわりに
編集リクエスト・要望・ご指摘ありましたら、遠慮なくお願いします。
ありがとうございましたー！

中編UPしました
[Windows10とWSLでTensorflow for Poetsを実行する（中編）](https://qiita.com/tanabee111/items/86fc76f71af2837e4c60)