0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PatchCoreの推論でつまずいた人へ:学習済みモデルで1枚の画像をColab上で推論するまでの試行錯誤メモ

Posted at

はじめに

前回の記事では Azure Machine Learning Studio の Notebook 上で Anomalib を使い、PatchCore による画像の異常検知モデルを学習させました。今回はその続編として、「学習済みの重みを使って推論まで持っていく」までのメモです。

  • やりたいこと:学習済み PatchCore モデル (model.ckpt) を使って、任意の画像を推論したい
  • 最初の試み:Docker 環境で実行 → 依存関係インストールに時間がかかり断念
  • 切り替え:Google Colab に移行して実行。なんとか成功

異常検知の PoC や検証で「まず一枚だけでもいいから推論してみたい」ときに、参考になればうれしいです。


対象読者

ValueError: Category 'bottle' not found in the input path で詰まった方へ


実行環境

項目 内容
実行環境 Google Colab(GPUなしでも動作)
モデル重み /content/drive/MyDrive/Colab Notebooks/ckpts/model.ckpt
入力画像 /content/drive/MyDrive/Colab Notebooks/dataset-hack.png

1. ローカル Docker でやろうとした話(うまくいかなかった)

まずは手元の Docker 環境で実行しようとしました。
依存関係は anomalib の pyproject.toml から引っ張ってきてインストール。…しかし、時間がかかりすぎて断念。

回線がのんびり屋さんでした。素直に Colab に切り替えることに。


2. Colab セットアップ(省略)

依存関係のインストールなどはここでは割愛。PyTorch、lightning、anomalib、timm あたりを揃えれば動きます。


3. モデル読み込み & 推論用データセット作成

以下のように、事前に学習した重みを読み込み、単一画像を PredictDataset に包んで推論しました。

from anomalib.models import Patchcore
from anomalib.data import PredictDataset
from anomalib.engine import Engine
from pathlib import Path

# モデル読み込み
ckpt_path = "/content/drive/MyDrive/Colab Notebooks/ckpts/model.ckpt"
model = Patchcore.load_from_checkpoint(ckpt_path)

# 単一画像のデータセット化
image_path = "/content/drive/MyDrive/Colab Notebooks/dataset-hack.png"
dataset = PredictDataset(
    path=Path(image_path),
    image_size=(256, 256),  # 学習時と合わせる
)

# 推論実行
engine = Engine()
predictions = engine.predict(model=model, dataset=dataset)

4. 結果の保存先と可視化

推論結果の画像は以下のようなパスに保存されていました:

/content/results/Patchcore/MVTec/bottle/latest/images/dataset-hack.png

おわりに:得られたことと次のステップ

  • PatchCore の学習済み重みを Colab 上で読み込み、任意画像 1 枚の推論まで確認できた
  • 推論結果の保存先も特定でき、可視化まで一通り完了
  • 次は、Docker 環境でもサクッと推論できるように整えていきたい

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?