HuggingFace Diffusers 0.12 : 訓練 : 概要 (🧨 Diffusers 訓練サンプル)

HuggingFace Diffusers 0.12 : 訓練 : 概要 (🧨 Diffusers 訓練サンプル) (翻訳/解説)

翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 02/17/2023 (v0.12.1)

* 本ページは、HuggingFace Diffusers の以下のドキュメントを翻訳した上で適宜、補足説明したものです:

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

クラスキャット 人工知能 研究開発支援サービス

クラスキャット は人工知能・テレワークに関する各種サービスを提供しています。お気軽にご相談ください :

◆ 人工知能とビジネスをテーマに WEB セミナーを定期的に開催しています。スケジュール
  • お住まいの地域に関係なく Web ブラウザからご参加頂けます。事前登録 が必要ですのでご注意ください。

お問合せ : 本件に関するお問い合わせ先は下記までお願いいたします。

  • 株式会社クラスキャット セールス・マーケティング本部 セールス・インフォメーション
  • sales-info@classcat.com  ;  Web: www.classcat.com  ;   ClassCatJP

 

HuggingFace Diffusers 0.12 : 訓練 : 概要 (🧨 Diffusers 訓練サンプル)

Diffusers 訓練サンプルは様々なユースケースについて diffusers ライブラリを効果的に使用する方法を実演するスクリプトのコレクションです。

Note : 推論のために diffusers を使用する方法の 公式 サンプルを探しているのであれば、src/diffusers/pipelines を見てください。

私たちのサンプルは 自己完結型調整しやすい初心者フレンドリー、そして 一つの目的だけのため であることを目指しています。より具合的にはこれらは以下を意味しています :

  • 自己完結型 (= Self-contained) : サンプルスクリプトは requirements.txt ファイルで見つかる “pip-install-able” な Python パッケージにだけ依存しています。サンプルスクリプトはどのようなローカルファイルにも 依存しません。これは、サンプルスクリプト, e.g. train_unconditional.py を単純にダウンロードして、必要な依存関係 e.g. requirements.txt をインストールして、そしてサンプルスクリプトを実行できることを意味します。

  • 調整しやすい (= Easy-to-tweak) : 私たちはできる限り多くのユースケースを提示する努力をしていますが、サンプルスクリプトは単なるサンプルです。それらは貴方の特定の問題ではそのままでは動作しませんし、それらを貴方のニーズに合わせるためには数行のコードを変更することが必要であることが想定されます。それを手助けするために、殆どのサンプルは必要に応じて調整して編集することを可能にするため、データの前処理と訓練ループを完全に公開しています。

  • 初心者フレンドリー : 最新のモデルのための最先端の訓練スクリプトを提供することを目的とはしていません、それよりも拡散モデルをより良く理解する方法とそれらを diffusers ライブラリで利用する方法として使用できるサンプルを提供します。特定の最先端の手法は初心者には複雑過ぎると考えた場合には意図的に除外している場合も多くあります。

  • 一つの目的だけのため : サンプルは一つのタスクそして一つのタスクのみを紹介するべきです。タスクがモデル視点からは非常に類似していても、例えば画像超解像度と画像修正は同じモデルと訓練手法を利用する傾向にありますが、サンプルにはできる限り読みやすく理解するのが容易であるように一つのタスクだけを紹介することを求めています。

私たちは拡散モデルの最もポピュラーなタスクをカバーする 公式 サンプルを提供します。公式サンプルは diffusers 保守者により 活発に 保守されていて、上記で定義されたサンプル・フィロソフィーに厳密に従うようにしています。If you feel like another important example should exist, we are more than happy to welcome a Feature Request or directly a Pull Request from you!

訓練サンプルは様々なタスクに対して拡散モデルを事前訓練や微調整する方法を示します。現在以下をサポートしています :

If possible, please install xFormers for memory efficient attention. This could help make your training faster and less memory intensive.

 

コミュニティ

加えて、コミュニティ サンプルを提供しています、これらはコミュニティにより追加されて保守されているサンプルです。コミュニティ・サンプルは訓練サンプルか推論パイプラインの両方から構成できます。そのようなサンプルについては、上記で定義されたフィロソフィーに関しては寛容で、全ての issue に対して保守を提供することも保証はできません。コミュニティに対して有用でも、まだポピュラーではないと判断されたり、上記のフィロソフィーに従っていないサンプルは コミュニティ examples フォルダに配置される必要があります。従ってコミュニティ・フォルダは訓練サンプルと推論パイプラインを含みます。

Note: Community サンプルはどのように diffusers を利用したいかをコミュニティに示す 素晴らしい最初の貢献 であり得ます 🪄。

 

重要な注意点

サンプルスクリプトの最新版を成功的に実行できることを確実にするためには、ソースからライブラリをインストールして幾つかのサンプル固有の requirements をインストールする必要があります。To do this, execute the following steps in a new virtual environment:

git clone https://github.com/huggingface/diffusers
cd diffusers
pip install .

Then cd in the example folder of your choice and run

pip install -r requirements.txt

 

以上