stable_diffusion.openvino - Intel CPU での Stable Diffusion を使用した Text-to-Image 生成の実装。

()

Created at: 2022-08-24 05:25:51
Language: Python
License: Apache-2.0

stable_diffusion.openvino

Intel CPU での Stable Diffusion を使用した Text-to-Image 生成の実装。

要件

  • Linux、Windows、MacOS
  • Python 3.8 以降
  • CPUはOpenVINO対応。

インストール要件

pip install -r requirements.txt

テキストの説明から画像を生成

usage: demo.py [-h] [--model MODEL] [--seed SEED] [--beta-start BETA_START] [--beta-end BETA_END] [--beta-schedule BETA_SCHEDULE] [--num-inference-steps NUM_INFERENCE_STEPS]
               [--guidance-scale GUIDANCE_SCALE] [--eta ETA] [--tokenizer TOKENIZER] [--prompt PROMPT] [--init-image INIT_IMAGE] [--strength STRENGTH] [--mask MASK] [--output OUTPUT]

optional arguments:
  -h, --help            show this help message and exit
  --model MODEL         model name
  --seed SEED           random seed for generating consistent images per prompt
  --beta-start BETA_START
                        LMSDiscreteScheduler::beta_start
  --beta-end BETA_END   LMSDiscreteScheduler::beta_end
  --beta-schedule BETA_SCHEDULE
                        LMSDiscreteScheduler::beta_schedule
  --num-inference-steps NUM_INFERENCE_STEPS
                        num inference steps
  --guidance-scale GUIDANCE_SCALE
                        guidance scale
  --eta ETA             eta
  --tokenizer TOKENIZER
                        tokenizer
  --prompt PROMPT       prompt
  --init-image INIT_IMAGE
                        path to initial image
  --strength STRENGTH   how strong the initial image should be noised [0.0, 1.0]
  --mask MASK           mask of the region to inpaint on the initial image
  --output OUTPUT       output image name

テキストから画像への例

python demo.py --prompt "Street-art painting of Emilia Clarke in style of Banksy, photorealism"

画像から画像への例

python demo.py --prompt "Photo of Emilia Clarke with a bright red hair" --init-image ./data/input.png --strength 0.5

例 イナピンティング

python demo.py --prompt "Photo of Emilia Clarke with a bright red hair" --init-image ./data/input.png --mask ./data/mask.png --strength 0.5

Web デモの例

YouTube のサンプル ビデオ

streamlit run demo_web.py

パフォーマンス

CPU 反復あたりの時間 合計時間
インテル(R) Core(TM) i5-8279U 7.4 秒/it 3.59分
AMD Ryzen スレッドリッパー 1900X 5.34 秒/it 2.58分
Intel(R) Xeon(R) Gold 6154 CPU @ 3.00GHz 1秒/それ 33秒
インテル(R) コア(TM) i7-1165G7 @ 2.80GHz 7.4 秒/it 3.59分
Intel(R) Core(TM) i7-11800H @ 2.30GHz (16 スレッド) 2.9秒/it 1.54分

謝辞

免責事項

著者は、このプロジェクトを使用して生成されたコンテンツについて責任を負いません。このプロジェクトを使用して、違法、有害、攻撃的なコンテンツなどを作成しないでください。