okpy

Pythonエンジニア兼テックリーダーが、多くのプロジェクトとチーム運営から得た実践的な知識を共有するブログです。

開発者向け: PyTorchの拡張ライブラリfastai

Python fastai ライブラリ完全ガイド

Pythonfastai は、PyTorch をベースに「実装が簡単な機械学習ライブラリ」を目指して開発された高機能ラッパーです。

1. fastai の概要

  • PyTorch の拡張ライブラリ
  • データの前処理、モデルの構築、訓練、検証をシンプルなAPIで実現
  • ディープラーニングや読学なしでプロトタイプを作成

インストール

pip install fastai

2. 使用例 (10個)

(1) データセットのロード

from fastai.vision.all import *
path = untar_data(URLs.MNIST_SAMPLE)
dls = ImageDataLoaders.from_folder(path)

(2) モデルの作成

learn = cnn_learner(dls, resnet18, metrics=accuracy)

(3) モデルの訓練

learn.fine_tune(1)

(4) 予測

img = PILImage.create(path/'valid'/'3'/'12.png')
pred_class, pred_idx, outputs = learn.predict(img)

(5) confusion matrix

interp = ClassificationInterpretation.from_learner(learn)
interp.plot_confusion_matrix()

(6) 低精度な例を表示

interp.plot_top_losses(5, nrows=1)

(7) モデルの保存

learn.export('model.pkl')

(8) モデルの読み込み

learn_inf = load_learner('model.pkl')

(9) 別のデータセットを使用

path = untar_data(URLs.PETS)

(10) 別のモデルを使用

learn2 = cnn_learner(dls, resnet34, metrics=accuracy)

3. fastai の主要機能

機能 説明
cnn_learner ResNet などのCNNモデルを構築
DataBlock カスタムデータパイプライン構築
ImageDataLoaders 画像データの読み込み
load_learner モデルの再利用
interpretation コンフュージョンマトリックス描画

まとめ

fastai は PyTorch の力を引き出しながら、解析コードを楽にする元となるライブラリです。モデル開発の第一歩に最適なツールです 🚀