ソースネクスト
ソニーストア
本ページはプロモーションが含まれています。
  
 

【Photo Maker】OSSの写真生成AIを試してみた(1) インストール編

 

スポンサーリンク

 
【Photo Maker】OSSの写真生成AIを試してみた(1) インストール編
 

少ない元データからオリジナルの人物に似た写真を作り出せるOSSの生成AI、Photo Makerを試してみた。今回は準備するところまで。
画像生成AIについてのまとめはこちら。

  
  

Photo Makerとは

Photo Makerは学習していないデータであるのに、少ない元データ、典型的な例では1枚の写真からプロンプトで指定されるいろいろな写真を作り出すことができる生成AIだ。
中国のテンセントが作成、提供する、ApacheライセンスのOSSだ。

PhotoMaker 写真生成AI

PhotoMaker 写真生成AI 出典:github 以下同じ

PhotoMaker 写真生成AI

PhotoMaker 写真生成AI

早速試してみよう。

インストール準備

使う機材はいつもの自作PC8代目のJisaku8。
CPUはRyzen 5700X、メモリ32GB、GPUはRTX3060(12GB)だ。最新スペックのものには劣るが割安で購入してくみ上げることができた。
もう元は取れているんじゃないかと思えるけど、いやいや、そんなことないない。
詳細はリンク先を参照。

インストールは下記手順で行う。

1 Pythonをインストール

すでにインストールしている場合は省略できる。
Pythonのインストール方法は、CALM2の記事を参照。

2 Pythonの仮想環境を作る

どこでもいいのだが、仮想環境はいくつもつくると思うので、今回はこうした。
まずコマンドプロンプトを開く。

C:\にPython フォルダを作成する。
c:
cd \
mkdir python
cd python

以下のコマンドで仮想環境を作る。
python3 -m venv PhotoMaker
「PhotoMaker」の個所はどういう名前でも構わない。

仮想環境ができたので、有効にする。
cd PhotoMaker\Scripts
activate

プロンプトに(PhotoMaker)と仮想環境の名称が先頭につく。

3 Gitからダウンロード

GitからPhoto Makerをダウンロードする。今回はコマンドラインでGitからダウンロードする。
mkdir \PhotoMaker
cd \PhotoMaker
git clone https://github.com/TencentARC/PhotoMaker.git

終わったら、インストール。
pip install -r requirements.txt

4 起動

下記コマンドでPhoto Makerを起動する。
python gradio_demo/app.py

エラー発生と対応

エラーになった。前も見たことがあるエラーだ。今回はどう対応したか記録しておこう。

File "C:\python\PhotoMaker\Lib\site-packages\spaces\zero\wrappers.py", line 42, in
Process = multiprocessing.get_context('fork').Process

PhotoMaker 写真生成AI

PhotoMaker 写真生成AI

これはWindowsにはforkがないためで、該当箇所をspawnに置き換えるだけ。
Process = multiprocessing.get_context('spawn').Process
PhotoMaker 写真生成AI

PhotoMaker 写真生成AI

続いてエラー。
(PhotoMaker) C:\PhotoMaker>python gradio_demo\app.py
Traceback (most recent call last):
File "C:\PhotoMaker\gradio_demo\app.py", line 16, in
from photomaker import PhotoMakerStableDiffusionXLPipeline
ImportError: cannot import name 'PhotoMakerStableDiffusionXLPipeline' from 'photomaker' (C:\python\PhotoMaker\Lib\site-packages\photomaker\__init__.py)

今度は、「PhotoMakerStableDiffusionXLPipeline」がないという。重症だな。
これについてはものはあるのだがパスが通ていないので発生するそうだ。
インストールしたc:\PhotoMakerの下にあるphotomakerフォルダをgradio_demoフォルダの中に移動すればよい。

これで起動した。

やたら時間がかかる

早速サンプル写真を指定してプロンプトを記述して生成開始。あれ。やたらと時間がかかる。絶望的に長い時間。見込みでは2,3分でできると思っていたのだが。
これはどうやらGPUが使われていないように思える。

gradio_demo/app.pyの32行目の後にprintを追加して確認した。下のマークしてある行が追加した行。


else:
device = "cpu"
except:
device = "cpu"
print(device)
MAX_SEED = np.iinfo(np.int32).max
STYLE_NAMES = list(styles.keys())

※インデントが狂っているので注意してください。ああ、直さなきゃ・・・

実行すると確かにcpuと表示される。CUDAの問題か。

GPU対応pytorchに入れ替え

GPUの有無にかかわらず同じライブラリを使えるように、GPU対応版とCPU版のpytorchがある。
誤ってCPU版がインストールされてしまったのだろう。

まずはtorchを入れ替える。
pip uninstall torch
pip cache purge
pip install torch -f https://download.pytorch.org/whl/torch_stable.html

するとエラー。
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
torchvision 0.15.2 requires torch==2.0.1, but you have torch 2.2.0+cu121 which is incompatible.
Successfully installed torch-2.2.0+cu121

バージョンがあってないようだ。
これはc:\PhotoMaker\requirement.txtの編集をする。下の2行をコメントにしてバージョンを指定しないようにする。
#torch==2.0.1
#torchvision==0.15.2

そのうえで再度インストールする。

pip install -r requirements.txt

起動時にエラーが表示されるが何とか使えるようになった。

次回は実際に動かすところを書く。

(Visited 41 times, 1 visits today)

PR

   
著者プロフィール
irvine
 ソフトウェア設計、ストレージ設計を経てクラウドにかかわる仕事をしている、東京郊外在住のエンジニア。
 仕事でUS,UK,SGなどの国とかかわる。
 自作PC、スマホ、タブレット、AV機器好き。ドラクエウォークはルーチンワーク。Linuxやストレージ、IT業界の動向は興味を持っている。
 新しい機器、サービスに興味あり。年数回のレビュー(自腹購入、ご依頼)と発表されて興味があるものの新製品机上レビューをやっている。
 2022年はJAPANNEXT様のアンバサダーを務めました。
 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です