fastai 2.5 : Welcome to fastai (概要) (翻訳/解説)
翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 04/06/2022 (v2.5.6)
* 本ページは、fastai の以下のドキュメントを翻訳した上で適宜、補足説明したものです:
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
- 人工知能研究開発支援
- 人工知能研修サービス(経営者層向けオンサイト研修)
- テクニカルコンサルティングサービス
- 実証実験(プロトタイプ構築)
- アプリケーションへの実装
- 人工知能研修サービス
- PoC(概念実証)を失敗させないための支援
- お住まいの地域に関係なく Web ブラウザからご参加頂けます。事前登録 が必要ですのでご注意ください。
◆ お問合せ : 本件に関するお問い合わせ先は下記までお願いいたします。
- 株式会社クラスキャット セールス・マーケティング本部 セールス・インフォメーション
- sales-info@classcat.com ; Web: www.classcat.com ; ClassCatJP
fastai 2.5 : Welcome to fastai (概要)
fastai は現代的なベストプラクティスを使用して高速で正確なニューラルネットの訓練を単純化します。
インストール
Google Colab を使用することでどのようなインストールもなく fastai を利用できます。実際、このドキュメントの総てのページも対話的なノートブックとして利用可能です – それをオープンするために任意のページの上部で “Open in colab” をクリックしてください (高速に実行させるために Colab ランタイムを “GPU” に確実に変更してください!) 詳細は Using Colab の fasat.api ドキュメントを見てください。
Linux or Windows を実行しているのであれば (MB: Mac はサポートされません) 貴方自身のマシンに conda (強く推奨) で fastai をインストールできます。Windows については、重要な注意事項のために “Running on Windows” を見てください。
miniconda (推奨) を使用している場合、次を実行してください (conda を mamba で置き換える場合にはインストールプロセスは遥かに高速でより信頼性が高いことに注意してください) :
conda install -c fastchan fastai
… あるいは Anaconda を使用している場合には次を実行します :
conda install -c fastchan fastai anaconda
pip でインストールするには、次を使用してください : “pip install fastai”。pip でインストールする場合、PyTorch インストール手順 に従って最初に PyTorch をインストールするべきです。
fastai を貴方自身で開発する計画があったり、最先端にいることを望む場合には、editable インストールを使用できます (これを行なう場合、それと共に fastcore の editable インストールも使用する必要があります)。最初に PyTorch をインストールしてから :
git clone https://github.com/fastai/fastai
pip install -e "fastai[dev]"
fastai の学習
fastai (そして深層学習) を始める最良の方法は この書籍 を読み、フリーコース を完了することです。
fastai で可能なことを見るには、Quick Start を見てください、これは画像分類器, 画像セグメンテーション・モデル, テキストセンチメント・モデル, レコメンデーションシステム, tabular モデルを構築する 5 行程度のコードを使用する方法を示します。アプリケーションの各々について、コードは殆ど同じです。
貴方のデータセットで貴方のモデルを訓練する方法を学習するために チュートリアル を読み通してください。fastai ドキュメントに目を通すためにナビゲーション・サイドバーを利用してください。総てのクラス, 関数, そしてメソッドがここで文書化されています。
ライブラリの設計と同期について学習するには、査読付き論文 を読んでください。
fastai について
fastai は深層学習ライブラリで、実践者には標準的な深層学習領域で最先端の結果を素早く簡単に提供可能な高位コンポーネントを提供し、そして研究者には新しいアプローチを構築するためにミックスして調和させられる低位コンポーネントを提供します。それは容易性、柔軟性、高性能において大きな妥協なしに両者を遂行することを目的としています。これは、分離された抽象の視点から多くの深層学習とデータ処理テクニックの共通の基礎的なパターンを表現する、注意深く階層化されたアーキテクチャのおげで可能になります。これらの抽象化は基礎となる Python 言語のダイナミズムと PyTorch ライブラリの柔軟性を活用することで簡潔に明確に表現できます。fastai は以下を含みます :
- テンソルに対する意味的型階層を伴う Python のための新しい型ディスパッチシステム
- GPU 最適化コンピュータビジョン・ライブラリ、これは pure Python で拡張できます。
- 現代的な optimizer の一般的な機能を 2 つの基本的なピースにリファクタリングする optimizer、最適化アルゴリズムを 4-5 行のコードで実装できるようにします。
- 新規の 2-way コールバックシステム、これはデータ、モデルや optimzer のどの部分にもアクセスできて訓練の間のどのポイントでも変更できます。
- 新しいデータブロック API
- And much more …
fastai はおよそ 2 つの主要な設計目標に体系化されます : それは近づきやすく素早く生産的で、一方でまた深くハッキング可能で configurable であることです。構成可能なビルディングブロックを提供する 低位 API の階層の上に構築されます。こうして、高位 API の一部を書き換えたり、ニーズに合わせて特定の動作を追加することを望むユーザは低位を使用する方法を学習する必要はありません。
他のライブラリからの移行
plain PyTorch, Ignite や他の PyTorch-ベース・ライブラリから移行すること、更に他のライブラリと連携して fastai を使用することさえも非常に簡単です。一般に、既存のデータ処理コード総てを使用することができますが、訓練に必要なコードの総量を削減して最新のベストプラクティスより簡単に活用することができます。ここに幾つかのポピュラーなライブラリからの役立つ移行ガイドがあります :
以上