StoryMaker部署过程
简介
StoryMaker是小红书开源的方案,是一种个性化解决方案,不仅可以保留多个角色场景中面部的一致性,还可以保留服装、发型和身体的一致性,从而可以制作由一系列图像组成的故事。
其功能有:
两幅肖像合成
多种应用
使用方法见:
StoryMaker的github主页
可以直接从Huggingface下载模型。
如果无法访问Huggingface,可以使用hf-mirror下载模型。
使用hf-mirror进行下载的方法如下:
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download --resume-download RED-AIGC/StoryMaker --local-dir checkpoints --local-dir-use-symlinks False
对于人脸编码器,因为默认链接无效,您需要通过此URL手动下载到models/buffalo_l,里面有五个模型,分别是
buffalo_l
buffalo_m
buffalo_s
buffalo_sc
antelopev2
准备好所有模型后,文件夹树应如下所示:
.
├── models
├── checkpoints/mask.bin
├── pipeline_sdxl_storymaker.py
└── README.md
但是具体要使用代码是还需下载模型,需要下载的模型有
https://huggingface.co/laion/CLIP-ViT-H-14-laion2B-s32B-b79K
https://huggingface.co/huaquan/YamerMIX_v11
还需要下载github上的一些文件
https://github.com/RedAIGC/StoryMaker/tree/main/examples
https://github.com/RedAIGC/StoryMaker/tree/main/ip_adapter
https://github.com/RedAIGC/StoryMaker/blob/main/pipeline_sdxl_storymaker.py
在下载IP-Adapter后需要输入指令
pip install .
需要注意的是IP-Adapter必须是StoryMaker主页提供的,而不是腾讯ailab的,因为二者并不完全相同。否则会出现这样的报错
ImportError: cannot import name 'faceid_plus' from 'ip_adapter.ip_adapter_faceid' (/usr/local/lib/python3.8/dist-packages/ip_adapter/ip_adapter_faceid.py)
因为ailab的ip_adapter_faceid.py中根本就没有faceid_plus
最后的文件树应如下所示
.
├── models
├── checkpoints/mask.bin
├── laion //存放CLIP-ViT-H-14-laion2B-s32B-b79K
├── huaquan //存放YamerMIX_v11
├── IP-Adapter
├── examples
├── pipeline_sdxl_storymaker.py
└── README.md
各种重要的包的版本
pip install opencv-python transformers accelerate insightface
本人使用的是
accelerate==1.0.1
opencv==4.6.0
opencv-contrib-python==4.10.0.84
opencv-python==4.7.0.72
opencv-python-headless==4.5.2.52
transformers==4.45.2
insightface==0.7.3
onnxruntime-gpu==1.19.2
pip时可以使用阿里云,具体方法见pip 换源为阿里云
如果有冲突的话大概率是包的版本问题,可以尝试卸载包后再重新安装,或安装不同版本的包
下载代码时,如果网络问题导致无法在服务器里直接下载,可以现在本地下载,之后上传到服务器中。可以使用git下载github和huggingface上的文件,如要下载文件夹里的内容,可以参考DownGit
硬件配置
GPU:3090(基本上跑满了,因为显存要23GB)
硬盘空间:50GB起
运行结果
官方已经给出了运行结果,具体结果在examples/results
文件夹里
有用的链接
【已解决】如何在服务器中下载huggingface模型,解决huggingface无法连接
【最新】CUDA Toolkit版本及可用PyTorch对应关系(参考官网)
pytorch,torchvision与python版本对应关系及安装命令
【ImportError】from torch._C import * # noqa: F403; ImportError: xxx: defined symbol: iJIT_NotifyEvent
cannot import name ‘DEFAULT_CIPHERS‘ from ‘urllib3.util.ssl_‘解决
AttributeError: partially initialized module ‘cv2‘ has no attribute ‘_registerMatType‘
ImportError: cannot import name ‘_registerMatType’ from ‘cv2.cv2’
partially initialized module ‘cv2’ has no attribute ‘_registerMatType’