Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
DelphiRAD Studio

Tensorflowで数字の分類器を構築する方法

how-to-build-a-digit-classifier

この記事は、Muminjon 氏のブログの抄訳です

MNIST (Modified National Institute of Standards and Technologyの略)は、包括的なコンピュータビジョンデータベースのるつぼです。1999年のリリース以来、MNISTの古典的な手書きのイメージのデータセットは、分類アルゴリズムのベンチマークの基盤として受け入れられてきました。

mnist-7851794-2
画像のソース元: researchgate.net

ほとんどの場合、はじめて学習する方はMNISTで与えられた数字を分類することから始めます。このブログでは、RAD Studio(Delphi)とTensorFlowを使用して、数字の分類を行なう方法を紹介いたします。

このチュートリアルで学べることは?

  • 簡単なニューラルネットワークを含むコンピュータビジョンの基礎
  • 分類する方法

MNISTとは?

MNISTは、0から9までの手書きの1桁の数字で、28×28ピクセルの範囲に収まるようにサイズが正規化されたグレースケール画像 6万枚のデータセットです。20年以上の歴史があるため、様々なトップパフォーマンスのモデルがディープラーニングの畳み込みニューラルネットワークの分野で、99%以上の分類精度を達成しています。

画像内の手書きの数字を認識するには?

「TensorFlow」は、Google Brainラボが開発した深層学習研究のためのオープンソースのライブラリです。通常、プロジェクトの新しいモデルをトレーニングするのに時間がかかりますが、物体やパターンなどを検出するための学習済みモデルがすでに存在するため、モデルをロードし、データを入力するだけで簡単に高い結果が得られます。

TensorFlow Liteモデルとは?

TensorFlow Liteモデルは、「FlatBuffers」と呼ばれる独特の効率的なポータブルフォーマットで提供される。このTensorFlow Liteモデルは、開発者がモバイル デバイス、組み込みデバイス、IoT デバイス上でモデルを実行できるようにすることで、デバイス上の機械学習を可能にするツールセットです。
TensorFlow Liteモデルについては、こちらで紹介しています。

DelphiでTensorFlowを使用するには?

DelphiおよびC++開発者の素晴らしいコミュニティのおかげで、現在 TensorFlow LiteはDelphiで利用可能で、こちらのリンクから「TensorFlow Lite Model for Delphi」のリポジトリにアクセスできます。

TFLITEダイナミックリンクライブラリ(DLL)は、TensorFlow Liteのモデル機能を利用する際に役立ちます。TensorFlow Lite全体で使用される共通の列挙型、型、およびメソッドが含まれています。これには、エラーコードからカーネルおよびデリゲートAPIなど全ての機能が含まれています。

tensorflow-lite-delphi-delphi-machine-learning-machine-learning-in-delphi-programming-language-1730262-2

プロジェクト全体をダウンロードしてテストすることができます。下図のように、手書きの数字を描くと、TensorFlowはそのデータを28×28ピクセルの画像として取得し、それを変換して0から9までの数字として返します。

machine-learning-in-delphi-digit-classification-in-delphi-tensorflow-lite-model-7445733-2

実際の画像を再現するために、28×28ピクセルの入力は、784ピクセルの1次元ベクトルにフラット化しています。つまり、画像を構成する784ピクセルのそれぞれは、0〜255のの範囲の値として格納されます。これは、画像が白黒で表示されるため、ピクセルのグレースケールを判断するのに役立ちます。入力画像の黒いピクセルは255で表され、白いピクセルは0で表されます。

digit-classifier-for-delphi-tensorflow-lite-for-delphi-delphi-machine-learning-building-neural-networks-with-delphi-3493358-2
digit-classifier-for-delphi-tensorflow-lite-model-for-delphi-machine-learning-in-delphi-programming-language-3221555-2

下記のリンクにアクセスしてサンプルコードをダウンロードし、実際に試してみてください。

https://github.com/qq33095304/TensorFlow-Lite-Delphi


What's New for RAD Studio 11

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

コメント

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

IN THE ARTICLES