关于复现StableDiffusion相关项目时踩坑的记录

研究文生图也有了一段时间,复现的论文也算是不少,这篇博客主要记录我自己踩的坑。

目前实现文生图的项目主要分为两类:

一、基于Stable-diffusion原项目文件实现

原项目地址:https://github.com/Stability-AI/stablediffusion

1. 有一部分论文的代码都是基于这个原项目进行开发的。我们不太可能每个项目都重新去创建一个虚拟环境,所以我们难免会在同一个环境上运行多个项目。但是python它的环境相对而言并不是特别友好,同一个包的不同版本也会有差异。所以常常会出现一些问题。

就拿我之前复现Vico来说吧。我训练好模型进行推理的时候,它给我报错:

它说它无法联网下载模型,但是我明明已经在项目代码中把它配置成本地的路径了,怎么说也不可能再出这种问题。然后我就看它的错误回溯,我发现它在运行的时候居然跑了同文件夹下Dreambooth的代码,当时我以为是因为文件同名,系统获取依赖路径的时候自动顺序读取了,然后我就打印系统路径:

我把跟Dreambooth有关的都删除了之后,仍然不起作用。想了想肯定还是环境的问题。后来才发现,是因为没有将本地项目ldm安装,而环境仍然使用的是之前安装的ldm。其实解决也很简单,就是需要执行 pip install -e .就行。

 包括它如果说没有ldm模块实际上也是这个问题:

2. NameError: name 'trainer' is not defined

如果遇到这种问题,一般都是pytorch-lighting的版本问题可以试试1.7.6或者1.5.9

二、基于扩散器包diffusers实现

基于diffusers实现,其实用扩散器包实现是相对简单的。很多东西都已经配置好了。但是不同的diffusers版本之间是存在的不兼容的问题的,所以如果你运行不出来记得看看diffusers版本是否符合当前项目。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是浮夸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值