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

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

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

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

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

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

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

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

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

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

二、基于扩散器包diffusers实现

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

相关推荐

  1. NAS with RLpytorch相关问题

    2024-07-10 22:32:04       49 阅读
  2. docker compose部署项目记录

    2024-07-10 22:32:04       21 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 22:32:04       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 22:32:04       5 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 22:32:04       4 阅读
  4. Python语言-面向对象

    2024-07-10 22:32:04       7 阅读

热门阅读

  1. EventBus原理分析

    2024-07-10 22:32:04       10 阅读
  2. Modelsim中使用tcl命令导出仿真数据到txt文件

    2024-07-10 22:32:04       12 阅读
  3. Spring中@Transactional的实现和原理

    2024-07-10 22:32:04       10 阅读
  4. H5小游戏开发,广告游戏开发制作

    2024-07-10 22:32:04       10 阅读
  5. 电脑多开卡顿的所有原因汇总

    2024-07-10 22:32:04       13 阅读
  6. 【C语言】通过fgets和fscanf了解读写文件流的概念

    2024-07-10 22:32:04       10 阅读