TensorFlow(PyTorch)

TA12_1 画像分類2 Web

この記事は約8分で読めます。

tensorflow.jsを使った検討モデルです。TA12 画像分類2 検討と同じ機能です。
ほとんどLLMで作成しています。

# TensorFlow.js フォルダ分類転移学習デモ

## 概要

このツールは、ブラウザ上でフォルダごとに分類された画像データをアップロードし、TensorFlow.js を用いて転移学習(ファインチューニング)を行うデモアプリです。学習済みモデルの保存・読み込みや、画像による推論、一括推論(バッチ推論)もサポートしています。

## 主な機能
- フォルダごとに分類された画像データのドラッグ&ドロップ(Chrome/Firefox両対応)または選択アップロード
- クラスごとの画像枚数プレビュー
- モデルの転移学習(MobileNetベース)
- 学習進捗のグラフ表示
- モデルの保存・読み込み
- 任意画像による推論
- フォルダ単位の一括推論・結果のJSONダウンロード
- モデル初期化(クラス情報を保持したまま再構築)

## 使い方
1. **画像データの準備**
- 例: `apple/`, `banana/`, `orange/` など、クラスごとにフォルダ分けした画像を用意します。
2. **画像のアップロード**
- 画面の「フォルダをここにドラッグ&ドロップ」エリアに、複数のクラスフォルダをまとめてドラッグ&ドロップします。
- または、フォルダ選択ボタンから複数フォルダを選択します。
- **Chromeの場合:** ドラッグ&ドロップ時は「サブフォルダ名」がクラス名になります。各クラスごとに1階層のフォルダ分けを推奨します。
- **Firefoxの場合:** ドラッグ&ドロップで相対パスが維持されるため、より柔軟にクラス分けが可能です。
3. **学習**
- クラスごとの画像枚数が表示され、「モデルを学習」ボタンが有効になります。
- 「モデルを学習」ボタンを押すと転移学習が始まり、進捗とグラフが表示されます。
4. **モデルの保存・読み込み**
- 学習後、「モデルを保存」ボタンで学習済みモデルとクラス名をダウンロードできます。
- 「モデルを読み込む」ボタンで保存済みモデルを再利用できます。
5. **推論**
- 「推論したい画像をアップロードしてください」から画像を選択し、「推論開始」ボタンで推論結果が表示されます。
6. **一括推論(バッチ推論)**
- 「フォルダ一括」タブで画像フォルダを選択し、「一括推論開始」ボタンで全画像の推論結果を表示・JSONでダウンロードできます。
7. **モデル初期化**
- 「初期化」ボタンで学習済みモデルのみをリセットし、クラス情報や画像情報は保持したまま再学習が可能です。

## 技術スタック
- HTML/CSS/JavaScript
- [TensorFlow.js](https://www.tensorflow.org/js)
- [MobileNet](https://github.com/tensorflow/tfjs-models/tree/master/mobilenet)
- Chart.js

## 注意事項
- 画像データはローカルでのみ処理され、サーバーには送信されません。
- ブラウザによっては大量の画像や大きな画像で動作が重くなる場合があります。
- Chromeのドラッグ&ドロップでは、各画像の「直上のフォルダ名」がクラス名となります。
↑改修

## ライセンス
MIT License

TensorFlow.js フォルダからの転移学習デモ

学習させたいカテゴリごとのフォルダ(例:apple/, banana/, orange/)をまとめてここにドラッグ&ドロップしてください。

フォルダをここにドラッグ&ドロップしてください。

ファイルが選択されていません。

学習パラメータ:

学習進捗:

準備完了。

推論したい画像をアップロードしてください。

推論結果:

画像を選択してください。

使い方

・MobileNetモデルを読み込むまで待ちます。
・学習用のフォルダで分けた画像グループを入力します(まとめて)。環境によっては、フォルダ当たり100枚しか入力できないようです。
・単一画像の場合は、検査したい画像を選んで、推論開始します。予測結果を評価します。

フォルダ指定

まとめて評価したい場合には、評価したい画像をいれたフォルダを指定します。
フォルダの場合には、jsonファイルで結果を出力するようにできます。
(batch_prediction_results .json:名前は固定)

モデルの保存と読み込み

学習したモデルを保存して、再度利用できます。
保存した場合、3つのファイルが作成されます。1つのbin、2つのjsonファイルになります。
読み込む時には3つすべて指定します。

ファイル

TA12_1.zip

覚書

学習しなくても、検査します。
MobileNetが1000クラス分類用の出力層を持っていることによります。

コメント

Translate »
タイトルとURLをコピーしました