AI绘画:PhotoMaker Win11本地安装记录!

昨天介绍一个叫PhotoMaker的AI绘画开源项目。挺不错的!

通过这个项目可以快速制作特定人脸的AI绘画作品,相比传统的技术效果会好很多,效率也高很多。

今天趁热打铁,本地电脑装装看,并且记录,分享一下!

本文主要面向有一定配置基础的人,所以废话我就尽量少说了。

把步骤说清楚,把命令留下,把坑填了,就收工了。

会装的可以结束阅读直接去GitHub了。

想努力一下的可以慢慢看,我尽量把关键信息写清楚。

不想努力的直接拉到最后~~哈啊哈!

 

0.准备工作

准备一张牛逼的英伟达显卡!

Windows11+Conda+git

1.克隆代码

打开CMD工具,通过CD命令进入到制定目录,然后克隆代码。

git clone https://github.com/TencentARC/PhotoMaker.git
cd PhotoMaker

2.创建虚拟环境并激活

官方推荐的版本信息如下:

  • Python >= 3.8(推荐 Anaconda or Miniconda
  • PyTorch >= 2.0.0

使用Conda工具,创建一个虚拟环境,创建成功之后激活虚拟环境。

conda create -n photemaker python=3.10
conda activate photomaker

3.安装依赖

常规安装方法如下:

pip install -r requirements.txt

由于在Windows下面安装,又会有些不一样。需要修改一下这个文件。

注释掉下面三项:

#torch==2.0.1
#torchvision==0.15.2
#pytorch-cuda==11.8

运行上面的安装命令,装完之后,单独安装一下Torch!

安装过程网络不好的,可以设置conda镜像pip镜像

 

4.下载模型

这个项目用到了两类模型,一个是PhotoMaker,还有一个是基于SDXL的基础模型。

运行代码之后会自动下载。

下载部分代码如下:

from huggingface_hub import hf_hub_download
photomaker_path = hf_hub_download(repo_id="TencentARC/PhotoMaker", filename="photomaker-v1.bin", repo_type="model")

当然,你也可以手动下载。那就得明白各种路径的问题!

模型默认会下载在C盘,大概7G左右,准备好足够的硬盘空间。

C盘扛不住的,可以设置环境变量:

SET HF_HUB_CACHE=./models

这样C就解脱了,压力给到D>E>F。

 

5. 运行测试

喜欢研究代码的,可以直接根据项目主页上提供的演示代码来运行项目。

但是本文以配置为主,就不展开讲代码了。

直接运行网页版Demo:

python gradio_demo/app.py

运行成功之后,打开网址,就可以使用了。

从文章来看,配置过程简直小菜一碟!

而实际安装过程肯定没有那么顺利!

这就叫,搞定之后云淡风轻,搞的过程痛不欲生

下面来说说我遇到的几个问题。

 

6. 遇到的问题

但凡涉及网络的问题,我都不认为是问题。大家都知道有这个问题,但是不能说是什么问题。

pytorch-cuda包找不到!

ERROR: Could not find a version that satisfies the requirement pytorch-cuda==11.8 (from versions: none)
ERROR: No matching distribution found for pytorch-cuda==11.8

这个问题上面有提到,直接安装就会报这个错误。原因大概是,这个依赖文件,就不是为Windows用户准备的。

所以,我的选择是,直接注释掉。

Torch版本的问题

 

如果只是简单使用:

pip install torch

那肯定是不行滴,Linux玩家专属。

Windows需要:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

你可以不指定GPU,但是必须带个尾巴!

Fork异常

ValueError: cannot find context for 'fork'

看到这个问题时,我就默默说了句fxxk。

鬼知道什么问题!

经过查询,基本确定和操作系统差异有关。

把源代码中的fork换成spawn就可以了。

 

无法导入photomaker

 

ModuleNotFoundError: No module named 'photomaker'

所有问题都解决之后,根据官方主页上提供的运行命令,运行app.py就会出现这个错误了。

VSCode里面可以看到导入正常,但是运行命令就是为出现这个问题。

可能是我对Import的路径问题理解不够深刻。

我先是暴力解决,直接把gradio_demo文件下面的两个文件拖动到上一级目录了。

然后直接用如下命令:

python app.py

后来思考了一下它的导入机制。我只要在根目录创建一个run.py。

里面添加一行代码:

import gradio_demo.app

这样就不用去移动那两个文件,直接使用:

python run.py

这样就可以了。

上面的问题都解决了,你应该可以在Windows正常运行这个项目了。

但是,你还要面临最后一个考验:OOM

我先是在3060上配置运行的,可以启动,但是跑到最后就提示显存不够了,直接摆烂了。

最后又在3090上折腾了一阵子,终于可以愉快的玩耍了。

我开头说了,不想努力的拉到最后,主要基于两点:

  1. 硬件不够硬,就直接不用努力了。
  2. 硬件够硬,可以等我的一键运行包。

给公众号“托尼不是塔克“ 发送关键词photomaker获取!

最后夹带点私货。

在线演示可以看这里:

https://github.com/dream80/TonyDemo

Colab脚本可以看这里:

https://github.com/dream80/TonyColab

在线演示人太多,可能有点崩溃了!

最后…

不管你会没会,不能白看哦。

起码点个赞再走!!!

收工!

 

小尾巴==========================
公众号:托尼不是塔克
交流群
知识星球
==============================