ディープラーニング データ分析

AIのWebアプリを作ろう

更新日:

webサイト

 

この記事では、作ったAIをWebアプリにする方法をお教えします。できるだけ簡単にコピペで作ることを目的としますので、詳しいプログラムの解説は省きます。

 

仕様

 

ここで作るWebアプリはこんな内容です。

  • 作るもの : 任意の画像をアップロードすると画像に何が写っているか識別するWebアプリ。
     
  • 使用するAIモデル : 画像分類型CNN
     
  • 使用する環境 : パソコン(WindowsまたはMacintosh)、Python、Django※
     
    ※ DjangoはPythonライブラリの一つで、WebとPythonの橋渡しやWebサーバを提供するものです。以降でインストール方法も書きます。
     
    ※ 今回はローカルPCでWebサーバを起動します。

 

作成手順

 

PC環境

 

1.下記の記事でパソコンの環境を準備してください。Pythonが使えるようにしましょう。

AIを作ってみよう:環境の準備から

 

バックエンド(AI)を作る

 

Webアクセス者からは見えない裏側の仕組みをバックエンドといいます。今回はAIの部分にあたります。

 

2.下記の記事をそのまま実施してください。画像分類AIを1回実行し、学習済みファイルを作ってください。「model_cnn_cifer.h5」を後ほど利用します。

AIを作ってみよう:画像処理CNN(2/3)

 

フロントエンドと連携部分を作る

 

バックエンドに対し、Webアクセス者から見えるページや機能をフロントエンドといいます。

 

3.Djangoとその他必要なライブラリをインストールします。

 

4.Djangoの機能を使って、プロジェクトを作成します。

 

5.作成したプロジェクトの中でアプリを作成します。

 

6.アプリフォルダに作られたビュー「views.py」に追記します。ビューはユーザからのhttpリクエストに対する動作ルールを書いたものです。aipj / cnnapp / views.py を開き、次のように変更してください。

 

7.アプリフォルダに作られたモデル定義「models.py」に追記します。aipj / cnnapp / models.py を開き、次のように変更してください。

 

8.プロジェクトフォルダに作られたリダイレクトファイル「url.py」に追記します。Webサーバにアクセスされた時、そのURLによって見せるページを定義するものです。aipj / aipj / url.py を次のように変更してください。

 

9.アプリフォルダに新たに「url.py」を作成します。aipj / cnnapp / url.py を作り次のように書いてください。

 

10.動的にWebページを表示するためのhtmlを3つ作成します。aipj / cnnapp / templates / cnnapp / というフォルダを新たに作成してください。その中に、下のファイル名と内容で3つ保存してください。

 

共通テンプレート base.html

 

トップ画面 index.html

 

結果表示画面 result.html

 

11.Webページ上で画像を選択するためのフォームを定義します。aipj / cnnapp / forms.py を新たに作り、次のように書いてください。

 

12.Djangoがデータベースへアクセスするための設定をします。aipj / aipj / settings.py を開いて次のように追記してください。

 

13.aipj / cnnapp / static / cnnapp / css / style.py という中身の無いファイルを作ってください。ファイル構成として必要です。

 

14.aipj / media / pict / というフォルダを作ってください。フォルダ構成として必要です。ファイルは必要ありません。

 

15.aipj / cnnapp / trainedmodel / というフォルダを作り、学習済みモデル「model_cnn_cifer.h5」を置いてください。

 

以上で全てのプログラム作成が完了です。

 

Webサーバの起動

 

16.次のように実行します。しばらく待つとWebサーバが起動します。今回はDjangoに内蔵されている簡易Webサーバを用います。

 

Webサーバへアクセス

 

17.ブラウザを開き、http://127.0.0.1:8000/cnnapp/ へアクセスします。下のようなページが表示されれば、これがAIのWebアプリです。

djangoアプリ画面

 

18.「ファイル指定」を押し、任意の画像ファイル選択し、「開く」を押します。

 

19.「分類実行」を押すと、AIで画像が分類され、結果が出ます。

djangoアプリ結果画面

 

 

 

以上でWebアプリの作成は完了です。

コマンドで動かしていたAIをこうしてWeb化すると、より身近に感じますね。

今回はDjangoに内蔵されている簡易Webサーバと簡易DBを使いました。

Webサーバを公開し多くのアクセスを受ける場合は、負荷に耐えられるようグレードアップしたほうがよいです。WebサーバはNGINXかApacheへ、DBはPostgresがいいでしょう。

 

 

-ディープラーニング, データ分析

Copyright© やさしいAIの始め方 , 2024 All Rights Reserved Powered by STINGER.