
人工知能アプリケーションの開発は、選定を誤ると非常に苦痛を伴う薔薇の道となりえます。
講師の経験上最もハマりにくい方法でかつフレキシブルにアップグレード可能な環境を最短で作る方法を説明します。
一緒に順を追ってMiniconda x VSCodeでFlaskを開発する環境を作っていきましょう。
JQueryのソースを記入する場合は、以下4通りございますが、オーソドックスな1)を採用して記載しております。
1)
$(function () { //処理 });
2)
jQuery(document).ready(function () { //処理 });
3)
jQuery(function () { //処理 });
4)
$(document).ready(function(){//処理};
このままの実装ですと、α指定(透過度指定)のある画像ファイルで
エラーになってしまいますので、transformする前に以下のようにPILでRGBフォーマットへ変換を行ってください。
img = Image.open(img_path).convert('RGB')
もしくは、try/exceptで囲って、α指定のある画像ファイルはエラーを明示的に返却するというのも手かと思います。
この講座は実際に手を動かしながら人工知能による画像認識Webアプリケーションを作っていくハンズオンチュートリアルです。
環境構築(Miniconda/VSCode)から始めてWebアプリ(Python/Flask/JINJIA2/HTML/CSS/JQuery/JS/BootStrap)や画像認識用人工知能を作っていく(JupyterNotebook/pytorch/ViT/torchvision/pillow)経験を通して、お手元に最先端の人工知能Webアプリケーションが実際に手に入るようにコース設計されています。このWebアプリを作れるスキルをベースに日本発の人工知能サービスをローンチ、というのも夢ではないくらい実践的な高性能人工知能アプリのプロトタイプを作れるようになります。
人工知能(Artificial Intelligence)の中でも特に深層学習(Deep Learning)による画像認識は日進月歩の発展を遂げてきています。2012年にILSVRCという画像認識の国際コンペティションで2位以下を圧倒的に引き離して優勝したCNN(畳み込みニューラルネットワーク)の名声は高く、2020年までは、CNNを100層以上も積み重ねて訓練を行うモデルが最適とされてきました。
しかし2021年現在、ICLR2021という国際会議に投稿された論文「AN IMAGE IS WORTH 16 x 16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE」では、自然言語処理界隈を震撼させた高精度の事前学習モデルBERTの元となったtransformerのみでCNNの画像認識精度を超えるSOTA(State Of The Art)を達成したことが報告されています。
今後、デファクトスタンダードになっていくであろうViT(Vision Transformer)を使った人工知能Webアプリを実装するには、よほど凄腕のプログラマーでないと難しいのでは?と思う人も多いと思いますが、実は意外と簡単です。
昨今のPythonやJQueryを始めとしたオープソースのライブラリを用いることで、なんと2.0hで、ViT画像認識Webアプリを実装することが可能です。それも、環境構築も含めて。
現役バリバリの機械学習系Webエンジニアがナビゲートしますので、疑問点はどんどん質問してください。
ようこそ、Web開発の世界へ、そしてようこそ、ViTの世界へ。
---
Step.1 開発環境構築(Miniconda/VSCode)
Step.2 Flask(jinja2)基礎知識
Step.3 JQuery/HTML画像アップローダー
Step.4 Jupyter Notebookで学ぶtorchvision/pillow画像前処理/ViT(VisionTransformer)
Step.5 Flask/Jinjia2から呼び出すViT(VisionTransformer)
Step.6 BootStrap/CSSによるUI改善
Step.7 FileAPIで仕上げ
---