Skip to content

py-img-gen/python-image-generation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pythonで学ぶ画像生成(機械学習実践シリーズ)

CI License Python Diffusers

Pythonで学ぶ画像生成

本レポジトリではインプレス社より出版されている 北田 俊輔 著 の機械学習シリーズ「Pythonで学ぶ画像生成」で扱うソースコードを管理しています。 ソースコードは Jupyter Notebook 形式でまとめられており、Google Colab 等で実行することを想定しています。

ソースコードの解説は主に書籍内に記載されており、本レポジトリのソースコードは補助教材となっています。

Warning

本書で使用する環境やライブラリの変更等に伴い、補助教材の内容を予告なく更新する場合があります。そのため、常に最新の情報を確認し、本文の内容を読み替えてください。

本書籍は「画像生成の基礎から実践までを一冊に凝縮」というテーマで各章が構成されています。 まず​「画像生成とは​何か」と​いう​基本を​解説し、​次に​画像生成を​支える​深層学習の​基礎を​押さえます。​その上で、​現在の​最先端技術である​拡散モデルと、​その​効率化・応用例と​して​Stable Diffusionなどを​詳しく​取り上げています。​最後には、​拡散モデルが​もたらす革新的な​可能性と​同時に、​技術の​制限や​倫理的な​課題にも​言及し、​将来の​さらなる​発展・応用に​向けた​展望を​示しています。

  • 6章 + 各章末に実装に役立つコラム付き
  • Python・PyTorchで学ぶ画像生成の実装
  • Diffusersによる最先端技術の実践
  • 画像生成を中心とした様々なタスクの解説を多数収録

📦 動作要件

本書のサンプルコードではでは以下の環境での動作を想定しています。

🐍 / 📦 ドキュメント / レポジトリ 最低要件
🐍 python https://docs.python.org/ja/3.10/ 3.10 以上
📦 pytorch https://github.com/pytorch/pytorch 2.0 以上
📦 transformers https://github.com/huggingface/transformers 4.48.0 以上
📦 diffusers https://github.com/huggingface/diffusers 0.31.0 以上
📦 py-img-gen https://github.com/py-img-gen/py-img-gen-lib 0.1.0 以上

📕 書籍の内容と補助教材

Jupyter Notebook の補助教材があるセクションには Open in Colab のバッジを付与しています。バッジをクリックすると該当するノートブックを Colab で開くことができます。

Note

本レポジトリでは jupytext を使用して scripts/ 以下に各 Jupyter Notebook に対応するスクリプトを用意しています。合わせてご確認ください。

第 1 章: 画像生成とは?

Section GitHub Colab
1. 画像生成の概要 --- ---
2. テキストからの画像生成 Open In GitHub Open In Colab
3. 画像生成技術の進歩による弊害 --- ---

第 2 章: 深層学習の基礎知識

Section GitHub Colab
1. 深層学習の概要 --- ---
2. 深層学習の訓練と評価 Open In GitHub Open In Colab
Open In GitHub Open In Colab
3. 注意機構と Transformer モデル Open In GitHub Open In Colab

第 3 章: 拡散モデルの導入

Section GitHub Colab
1. 生成モデル --- ---
2. DDPM(ノイズ除去拡散確率モデル) Open In GitHub Open In Colab
Open In GitHub Open In Colab
3. スコアベース生成モデル Open In GitHub Open In Colab
4. 拡散モデルの生成品質の向上 Open In GitHub Open In Colab

第 4 章: 潜在拡散モデルと Stable Diffusion

Section GitHub Colab
1. LDM(潜在拡散確率モデル) --- ---
2. CLIP Open In GitHub Open In Colab
3. Stable Diffusion を構成する要素 Open In GitHub Open In Colab
4. Stable Diffusion v1 Open In GitHub Open In Colab
5. Stable Diffusion v2 Open In GitHub Open In Colab
6. Stable Diffusion XL Open In GitHub Open In Colab
7. Stable Diffusion v3 Open In GitHub Open In Colab

第 5 章: 拡散モデルによる画像生成技術の応用

Section GitHub Colab
1. パーソナライズされた画像生成 Open In GitHub Open In Colab
Open In GitHub Open In Colab
2. 制御可能な画像生成 Open In GitHub Open In Colab
Open In GitHub Open In Colab
3. 拡散モデルによる画像編集 Open In GitHub Open In Colab
Open In GitHub Open In Colab
Open In GitHub Open In Colab
4. 画像生成モデルの学習および推論の効率化 Open In GitHub Open In Colab
Open In GitHub Open In Colab
5. 学習済み拡散モデルの効果的な拡張 Open In GitHub Open In Colab
Open In GitHub Open In Colab
6. 生成画像の倫理・公平性 Open In GitHub Open In Colab
Open In GitHub Open In Colab

第 6 章: 画像生成の今後

Section GitHub Colab
1. 拡散モデルの発展に伴う議論 --- ---
2. 拡散モデルによる画像生成の倫理 --- ---
3. 画像生成にとどまらない拡散モデルのの進化と今後 --- ---

💬 コラム

🔗 関連リンク

🗣️ 読者の声

近年、生成AIの技術革新により「画像生成」の世界は急速に発展しています。そんな中、注目すべき一冊が『Pythonで学ぶ画像生成 機械学習実践シリーズ』です。本書は、深層学習を基盤とした画像生成について、基礎理論から実践的なPython実装例までを丁寧に解説しており、画像生成の全貌に迫る実践的な指南書と言えるでしょう。

画像生成の学びたい人にまず手渡したい本がやっとできたという気持ちになっています。著者の北田さんお疲れ様でした。(僕は気合が足りなくてかけませんでした・・・

前半は初学者でも分かりやすく、図や丁寧なコードで分かりやすく説明されており、読みやすいです。 図に関しても、ただ論文の図を貼っただけみたいなものではなく、今回のために分かりやすく作っていたり、注釈に理解できるように丁寧に解説が書いてあり、感動しました。 後半以降は、最近流行りの「画像編集」の手法や、プロンプト忠実性を高める手法、一貫性モデルなど、研究的な話も読めます。 内容的には少し難しくなるはずですが、とても分かりやすく簡潔に書かれているため、「手法の凄さ」と「設計の意図」がスッと入ってくるようになっており、無駄がないです。

❓ 疑問点・修正点

疑問点や修正点は以下の Issue にて管理しています。不明点などございましたら以下を確認し、解決方法が見つからない場合には新しく Issue を作成してください。

https://github.com/py-img-gen/python-image-generation/issues

疑問点は他の読者にとっても疑問になり得ます。積極的な Issue の活用により、他の読者にとっても有益な知識の共有が進み、コミュニティ全体での問題解決が効率的になります。どうぞよろしくお願いします!

About

🎨 書籍「Pythonで学ぶ画像生成」のコードを配置したリポジトリです

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages