ISBN 9784798166469

Python FlaskによるWebアプリ開発入門 物体検知アプリ&機械学習APIの作り方

Python FlaskによるWebアプリ開発入門 物体検知アプリ&機械学習APIの作り方
出版社
翔泳社
刊行
2022-01

概要

FlaskでWebアプリを作りながら機械学習APIの実装とデプロイを習得する

想定読者

Pythonで簡単なスクリプトや分析は書けるが、Webアプリ・API開発の経験がないエンジニアやデータサイエンティスト

こんな人には向いていない

  • すでにFlaskやDjangoで本番Webアプリを運用している経験者には基礎部分の比重が大きい
  • 機械学習の理論や数学的背景を深く学びたい読者には向かない(実装・統合に特化した構成のため)
  • PythonそのものをゼロからはじめてWeb開発も同時に学びたい完全な初学者には前提Python知識が必要

読了後にできるようになること

  • FlaskでフォームやDB連携・認証機能を持つWebアプリを段階的に構築できる
  • YOLOなど画像認識モデルをFlaskに組み込み、物体検知Webアプリとして動作させられる
  • 機械学習の推論処理をREST Web APIとしてエンドポイント化し外部公開できる
  • scikit-learnなどの分析コードをパイプライン化してFlask API上でサービングする工程を理解できる
  • DockerコンテナとCloud Runを使ったデプロイメントまでの一連の手順を実践できる
  • ユニットテストの書き方とカスタムエラーページの実装など、アプリの品質を高める基本を身につけられる

本書のキー概念(章解説)

  • イントロダクション: Flaskの概要と環境構築 — 環境構築で詰まりやすい読者はここを丁寧に確認する
  • 第 1 章 Flask入門: 最小限のアプリ・DB連携・認証 — Flaskの基本3ステップを短期間で習得できる構成。既にWebフレームワーク経験がある読者は速読可
  • 第 2 章 Flask実践1: 物体検知Webアプリの開発 — 画像アップロードから検知・検索・テストまで通して実装する本書の核心部。ここに最も時間をかけると良い
  • 第 3 章 Flask実践2: 物体検知機能のAPI化とデプロイメント — Web APIのエンドポイント設計とCloud Runへのデプロイを扱う。実務でAPIを公開する場面に直結する
  • 第 4 章 機械学習APIの開発: 分析コードからAPIを構築する工程 — データサイエンティストが自分の分析コードをAPI化する際の実践的手順。第2部・第3部を経た後に読むと吸収が早い

ハイライト

  • Webアプリの作り方からAPI化、デプロイメントまで エンジニアとデータサイエンティストのためのFlask入門(本書が対象とする読者層と学習範囲を端的に示している。分析専業のデータサイエンティストがWeb開発まで担える実務家を目指す書として位置づけている)
  • 機械学習をアプリに組み込んでいくかについても詳しく解説します(分析コードをそのままAPIとして公開するのではなく、Webアプリへの統合プロセスを丁寧に扱っている点が本書独自の価値)

外部からの言及

  • FlaskとsciKit-learnを組み合わせた機械学習モデルのサービングは、三層構成(学習・推論・利用)でパイプライン化するアプローチが実用的とされており、本書が扱う内容と方向性が一致している(qiita)
  • 機械学習APIサーバの構成としてFlaskベースのオンライン予測(シンプルなHTTP推論エンドポイント)は実装の手軽さで評価される一方、タイムアウトや非同期処理が必要な用途ではFastAPIへの切り替えを検討する声もある(qiita)
  • YOLOv8などの最新物体検知モデルをFlaskで提供するハンズオン事例が公開されており、本書が扱う物体検知+Flask+デプロイの組み合わせは学習コースやBootcamp受講者の実践プロジェクトとして継続的に参照されている(blog)

編集メモ

ISBN直接でのQiita言及記事は確認できず(0件)。Flask×機械学習API領域ではFastAPIへの移行傾向が強まっており、本書はFlask入門として有用だが定番指定には至らない。2022年1月刊行で翔泳社480ページ構成

読む前に押さえておきたいこと

  • Pythonの関数・クラス・モジュールの基礎操作(スクリプトを自力で書ける程度)
  • NumPy / pandas による基本的なデータ操作の経験
  • Gitの基本操作とDockerの概念的な理解(実際に動かした経験があると望ましい)
  • HTTPリクエスト/レスポンスの仕組みとREST APIの概念的理解

学習のコツ

  • 第0部の環境構築を終えたら、第1部を速読して第2部の物体検知アプリから本格的に手を動かす流れが効率的。基礎に不安がある場合のみ第1部をじっくり読む
  • 第4部の機械学習API開発は、手元に自分の分析コード(Jupyter Notebook等)を用意してから読むと、実務への応用イメージが格段に具体化する
  • デプロイ章(第3部)はCloud Run以外の環境を使う場合でも、APIの公開設計とDockerizeの考え方として応用できる。環境に依存しない概念部分を優先して理解する
出版社による内容紹介

Webアプリの作り方からAPI化、デプロイメントまで エンジニアとデータサイエンティストのためのFlask入門 Pythonのフレームワーク「Flask」によるWebアプリ開発の入門書です。 まずは、最小のアプリの作成から始め、問い合わせフォーム、データベースを使ったアプリ、 認証機能と段階的に作成しながら、Flaskによるアプリ開発の基礎を習得します。 その後、画像データ(写真)から物体を判別する物体検知アプリを作成しながら 実践的なアプリの作り方、その機能をWeb API化する方法について解説します。 また、物体検知機能(手書き文字認識をする分析コード)を題材に、 どのように機械学習をアプリに組み込んでいくかについても詳しく解説します。 【本書の主な内容】 ●Flaskと開発の基礎  ◯問い合わせフォーム/DBアプリの作成  ◯認証機能の作成  ◯物体検知アプリの作成 ●API化/デプロイメント  ◯物体検知アプリのWeb API化  ◯Web APIとして外部公開 ●機械学習APIの開発  ◯分析コードから機械学習APIを開発する工程と方法 【主な対象読者】 ●Pythonで簡単にWebアプリ開発を始めたいエンジニア ●機械学習に興味のあるWebエンジニア ●Pythonを分析用途でしか使ったことがない人 ●自分でもアプリやWeb APIを作りたいデータサイエンティスト 【章構成】 ●第0部 イントロダクション  Flaskの概要と環境構築 ●第1部 Flask入門  最小限のアプリを作るーーFlaskの基礎  データベースを利用したアプリを作る  認証機能を追加する ●第2部[Flask実践1]物体検知アプリの開発  アプリの仕様と準備  画像一覧画面を作る  サインアップとログインの画面を作る  画像アップロード画面を作る  物体検知機能を作る  検索機能を作る  カスタムエラー画面を作る  ユニットテストを作る ●第3部[Flask実践2]物体検知機能のAPI化/デプロイメント  Web APIの概要  物体検知APIの仕様  物体検知APIの実装  物体検知アプリのデプロイメント ●第4部機械学習APIの開発  機械学習の概要  機械学習APIの開発工程と実践

この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。

質問に答えるだけで、
あなたに合う専門書が見つかる

IT・デザイン・士業・医療・経理・教育・研究 ほか、あらゆる分野の専門書と 「読む順序」(学習ロードマップ)を収録。何を選べばいいか分からなくても、 いくつかの質問に答えるだけでたどり着けます。