Amazon SageMaker Image Classification （マルチラベル）を試してみる

[Amazon AI by ナレコム Advent Calendar 2018](https://qiita.com/advent-calendar/2018/knowcom-amazonai)の25日目の記事です。
マルチラベルの画像分類である[Image-classification-multilabel-lst.ipynb](https://github.com/awslabs/amazon-sagemaker-examples/blob/master/introduction_to_amazon_algorithms/imageclassification_mscoco_multi_label/Image-classification-multilabel-lst.ipynb)を試してみました。

## 前処理
1．IAMロールとS3バケットの設定
![Multiimageclassification01_.PNG](https://qiita-image-store.s3.amazonaws.com/0/63863/8b570689-7795-ae98-6a0f-1022ab4ef6bd.png)

2．イメージの取得
![Multiimageclassification02_.PNG](https://qiita-image-store.s3.amazonaws.com/0/63863/6b52eb9d-d093-c4e5-870e-fd19b2c6d3f4.png)

3．データの準備
今回使用するデータセットは、MS-COCOデータセットです。
80個のカテゴリから、5個（人、自転車、車、バイク、飛行機）だけ学習させます。
<img width="815" alt="Multiimageclassification03.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/8aaa8451-544f-3475-4b99-aa1b151669d2.png">

4．MSCOCO dataset用のツールをインストール
<img width="814" alt="Multiimageclassification04.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/773c8258-61fc-f156-98e3-8a97cf01b4dc.png">

5．MSCOCO datasetからアノテーションを取得し、lstファイルを作成
<img width="544" alt="Multiimageclassification05.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/6e588c86-6355-ead3-dece-56f042d498f3.png">

6．学習とテストデータを作成
<img width="734" alt="Multiimageclassification06.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/49a06645-d315-d75f-b610-9efc6d458c41.png">

7．S3へデータをアップロード
<img width="732" alt="Multiimageclassification07.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/5e0bfd7e-f6cc-d1de-b2b7-9abbd379d951.png">

## 学習
1．SageMaker Estimatorの作成
<img width="735" alt="Multiimageclassification08.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/e8376b96-87a3-83db-f7a3-11bbd61602b9.png">

2．ハイパーパラメータの設定
<img width="739" alt="Multiimageclassification09.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/ace83f4d-71f2-a6f8-4085-8f4a12f685d4.png">

3．データタイプとチャンネルの設定
<img width="738" alt="Multiimageclassification10.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/3c148b14-03e9-0da5-3a48-13a63c2bebaf.png">

4．学習させる
<img width="738" alt="Multiimageclassification11.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/3efcc8e2-bc9b-3b57-61d1-56678a464677.png">

## 推論
1．学習モデルをデプロイ
<img width="744" alt="Multiimageclassification12.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/595c3765-55d7-c806-a426-92e8910e82ce.png">

2．テストデータをダウンロード
今回使用するテストデータです。
<img width="734" alt="Multiimageclassification13.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/2637a39c-6510-da63-f954-39f12a6c7ed7.png">
![Multiimageclassification14.jpg](https://qiita-image-store.s3.amazonaws.com/0/63863/d43d060d-96b8-cff4-3068-af9dee471270.jpeg)

3．評価
人、自転車、車、バイク、飛行機のそれぞれの確率が出ています。
<img width="739" alt="Multiimageclassification15.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/65bd7d4d-4159-613b-c8e9-26d93c28c88b.png">

4．エンドポイントの削除
<img width="738" alt="Multiimageclassification16.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/63863/eb0cbfdc-1f8c-3a6b-d9b4-704e8a315eee.png">

## まとめ
`MS-COCO`データセットを用いて、マルチラベルの画像分類を行いました。
これにより、1枚の画像の中から複数のラベルについて判別することができます。