Python Streamlit:在本地電腦(CPU)運行個人 AI 圖像生成網頁應用程式
【Python Streamlit】ローカルPC(CPU)で動かす自分だけのAI画像生成Webアプリ
作者以 Python、Streamlit 和 Hugging Face Diffusers 製作可在本地 CPU 環境運行的 AI 圖像生成網頁應用程式,採用 DreamShaper 8。程式支援文字生成圖像及 Img2Img,並會自動把生成圖片、提示詞和種子值保存到歷史圖庫;快取功能令模型只需在首次載入。
今回はPythonとStreamlit、そしてHugging FaceのDiffusersライブラリを使って、ローカルPC(CPU環境)で手軽に動かせるAI画像生成Webアプリを作ったので、その魅力と仕組みをご紹介します。
「ハイスペックなGPUがないとAI画像生成は無理……」と諦めていませんか?このアプリなら、CPU環境であっても、モデルに「DreamShaper 8」を採用し、設定を最適化することで、お使いのパソコン上で画像生成とImg2Img(画像から画像への変換)を楽しむことができます。
テキストからの画像生成(Text-to-Image):英語のプロンプトを入力して、思い描いたイラストや写真を生成できます。
画像からの画像生成(Img2Img):ベースとなる画像をアップロードし、変更度合(Strength)を調整しながらアレンジが可能です。
履歴ギャラリー機能:過去に生成した画像と、そのときのパラメータ(プロンプトやシード値)を自動で保存し、タブ切り替えですぐに振り返ることができます。
- CPU環境への最適化と高速化 GPU(CUDA)を使わずCPUで動作させるため、演算精度を標準的な形式に固定しています。また、キャッシュ機能を活用することで、重たいAIモデルの読み込みを初回のみにし、2回目以降の操作を快適に行えるように工夫しています。
高速かつ安定したスケジューラの採用
サンプリングアルゴリズムには、少ないステップ数でも綺麗な描写がしやすい専用のスケジューラを採用しています。CPUでの処理時間を考慮し、デフォルトのステップ数も軽めに設定できるよう調整されています。テキスト生成とImg2Imgのシームレスな切り替え
ベース画像がアップロードされているかどうかをアプリが自動で判断し、テキストからの生成と画像からの生成のパイプラインをスムーズに切り替える設計になっています。自動保存&履歴ギャラリー機能
生成した画像はタイムスタンプ付きのファイル名で専用フォルダに保存され、同時にプロンプトやシード値などの設定情報も一緒に保存されます。タブを「履歴ギャラリー」に切り替えるだけで、過去に作った作品を一覧で振り返ることができます。
実際にこのアプリを動かすには、Python環境といくつかのライブラリが必要です。
PythonとStreamlitを使えば、手軽に自分だけのAI画像生成Webツールを作ることができます。「クラウドのサービスだと制限が気になる」「ローカル環境で色々試してみたい」という方にぴったりの構成です。ローカルで(しかも骨董品で・・・)これくらいの画像が生成できればまあまあ遊べますよ。
Streamlitでデプロイしたので触ってみたい人はコメントください。
來源:DEV Community · dev.to



