-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
#28 README修正
- Loading branch information
Showing
1 changed file
with
26 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,28 +1,44 @@ | ||
# MNIST Application | ||
|
||
## 概要 | ||
- MNIST(Mixed National Institute of Standards and Technology database)による手書き文字認識を用いた識別アプリ。 | ||
- CNN ニューラルネットワークにより "0" ~ "9" の手書き文字の推論を行う。 | ||
- フロントエンドは React 、バックエンドは AWS サーバレスアーキテクチャ(API Gateway、ECR、Lambda)で構成している。 | ||
- Pytorch による CNN モデル構築を行なっている。 | ||
- https://mnist-application.vercel.app | ||
<img width="1428" alt="image" src="https://user-images.githubusercontent.com/89395132/236490902-24b4fadb-0f02-4b90-8328-d821a9a9b909.png"> | ||
- MNIST:手書き数字の識別アプリ。 | ||
- CNN ニューラルネットワークで構築されたモデルにより "0" から "9" の手書き文字の推論を行う。 | ||
- モデル構築には Pytorch を使用し、フロントエンドは React、バックエンドは AWS サーバレスアーキテクチャで構成。 | ||
|
||
![preview](https://user-images.githubusercontent.com/89395132/236490902-24b4fadb-0f02-4b90-8328-d821a9a9b909.png) | ||
|
||
|
||
--- | ||
|
||
## 技術スタック | ||
| 分野 | 使用技術 | | ||
| ---- | ---- | | ||
| フロントエンド | React(Typescript), Tailwind CSS | | ||
| バックエンド | Lambda(Python), API Gateway, ECR | | ||
| モデル構築 | Pytorch | | ||
| その他 | Neural Network, AWS SAM, Docker | | ||
| その他 | AWS SAM, Docker | | ||
|
||
|
||
--- | ||
|
||
|
||
## MNISTモデル | ||
CNN | ||
![model](https://user-images.githubusercontent.com/89395132/236506173-6b3f5226-c174-4d2c-b682-ac432472f9d3.png) | ||
- (畳み込み層 + Maxプーリング層) × 2 + 全結合層 × 3 | ||
- 活性化関数:最終層 Softmax 関数、それ以外 ReLU 関数。 | ||
- 損失関数:クロスエントロピー損失関数 | ||
- 最適化アルゴリズム:SGD | ||
|
||
|
||
## アーキテクチャ | ||
![architecture](https://user-images.githubusercontent.com/89395132/236492743-c13131f7-437d-42ad-9c8d-0482399f4570.png) | ||
--- | ||
|
||
|
||
## アーキテクチャ | ||
![architecture](https://user-images.githubusercontent.com/89395132/236503556-c9d8a25c-5948-4737-b531-b0b98f0baab8.png) | ||
1. エンドユーザー:手書き数字入力 | ||
2. フロントエンド:手書き数字を Base64 形式の画像データへエンコード | ||
3. フロントエンド:リクエストボディに Base64 形式画像データを含めバックエンドへ POST | ||
4. バックエンド:API Gateway でリクエストを受理し、Lambda のイベントを発火 | ||
5. バックエンド:Lambda で CNN モデルを用いて、画像データがどの数字であるかの確率を算出 | ||
6. バックエンド:各数字の確率のリストをフロントエンドへレスポンスを返す | ||
7. フロントエンド:確率リストから円グラフを生成し、最も確率が高いものを結果として出力 |
a415ff9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Successfully deployed to the following URLs:
mnist-application – ./
mnist-application-chou-dai.vercel.app
mnist-application.vercel.app
mnist-application-git-develop-chou-dai.vercel.app