Amazon SageMaker Image Classification を試してみる

[Amazon AI by ナレコム Advent Calendar 2018](https://qiita.com/advent-calendar/2018/knowcom-amazonai)の23日目の記事です。
Image Classification（画像分類）のサンプルである[Image-classification-lst-format-highlevel.ipynb](https://github.com/awslabs/amazon-sagemaker-examples/blob/master/introduction_to_amazon_algorithms/imageclassification_caltech/Image-classification-lst-format-highlevel.ipynb)を試してみました。

## ノートブックインスタンスの作成
Amazon SageMaker->ノートブックインスタンス->ノートブックインスタンスの作成、ノートブックインスタンス名を入力し、新規作成します。
ステータスが`InService`になったら、Jupyterを開きます。
あとは、上から順に実行していきます。

## 前処理
1．IAMロールとS3バケットの設定
![imageclassification02-2.PNG](https://qiita-image-store.s3.amazonaws.com/0/63863/86ccd1a0-e10b-f315-de51-b607ff35f98b.png)

2．イメージの取得
![imageclassification03.PNG](https://qiita-image-store.s3.amazonaws.com/0/63863/1671aa6c-f7c2-94df-4005-8152706576b9.png)

3．データの準備
<img width="813" alt="imageclassification04.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/99f02b71-d22f-d3e6-aaef-b46b6b006e50.png">

<img width="812" alt="imageclassification05.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/8c8a8c2a-2071-985e-3b99-aba8d54d8af8.png">

4．lstの例を表示
<img width="813" alt="imageclassification06.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/914e9914-dd4c-17c0-2db3-e5e33eb053c5.png">

5．データをS3にアップロード
<img width="816" alt="imageclassification07.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/ed224222-9f89-692b-6de3-a711897331b6.png">

6．RecordIO fileに変換する
<img width="814" alt="imageclassification08.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/0cc7c11d-199a-3414-8438-ea5d8b622f89.png">

## 学習
1．SageMaker Estimatorの作成
<img width="812" alt="imageclassification09.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/3add4efa-c68f-9864-9be4-f3102a6813f0.png">

2．パイパーパラメータの設定
<img width="814" alt="imageclassification10.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/8c6e367c-76e5-cb92-46f2-b0c1acf70521.png">

3．データタイプとチャンネルの設定
<img width="819" alt="imageclassification11.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/4c3df722-75ae-3680-f964-2c4472df8609.png">

4．学習
<img width="819" alt="imageclassification12.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/6129cb09-f039-83eb-0b3c-428f59f9878f.png">

## 推論
1．モデルをデプロイ
<img width="819" alt="imageclassification13.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/04df74e2-97d4-91b5-f873-6d539408fdc5.png">

2．テスト画像のダウンロード
<img width="821" alt="imageclassification14.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/5e1bf9b3-95fa-55a9-f230-f999e15aaee6.png">

<img width="546" alt="imageclassification15.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/49080dcf-ae1a-e269-185f-7eeaf703a3d2.png">

3．推論を実行
<img width="819" alt="imageclassification16.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/705188db-27bc-168c-6139-5259378aae25.png">
75%の確率で`bathtub`と判別されました。

4．エンドポイントの削除
<img width="820" alt="imageclassification17.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/1250681f-eec8-297a-2af8-4ee964207adf.png">

## まとめ
`Caltech256`データセットを用いて、Image Classificationを行いました。
他のデータセットでもやってみたいと思います。