第一次下载V1的stable diffusion (https://github.com/CompVis/stable-diffusion) 到本地调试,根据其要求创建了虚拟环境,自动运行了setup.py文件,长这样
from setuptools import setup, find_packages
setup(
name='latent-diffusion',
version='0.0.1',
description='',
packages=find_packages(),
install_requires=[
'torch',
'numpy',
'tqdm',
],
)
这个文件直接把stable-diffusion 安装到了我虚拟环境的python 包里,用pip list输出长这样
后来代码被我改了很多来调试学习,于是为了再一次看看原本的代码是什么样,我又重新git clone代码库下载,存放在temmmmmmp/stable-diffusion,虚拟环境没有变,还是用的第一次创建的那个
自此bug出现了,运行scripts/txt2img.py报了各种错,找不到各种东西,最后发现是如下的所有import,凡是从stable-diffusion里面import的module,都不是从temmmmmmp/stable-diffusion里import的,而是从原来的stable-diffusion文件夹下import进来的,原来的早就被我改得面目全非,当然找不到
import argparse, os, sys, glob
import cv2
import torch
import numpy as np
from omegaconf import OmegaConf
from PIL import Image
from tqdm import tqdm, trange
from imwatermark import WatermarkEncoder
from itertools import islice
from einops import rearrange
from torchvision.utils import make_grid
import time
from pytorch_lightning import seed_everything
from torch import autocast
from contextlib import contextmanager, nullcontext
from ldm.util import instantiate_from_config
from ldm.models.diffusion.ddim import DDIMSampler
from ldm.models.diffusion.plms import PLMSSampler
为什么我在temmmmmmp/stable-diffusion下执行txt2img,而包却从../stable-diffusion里import过来?
文章来源:https://www.toymoban.com/news/detail-533723.html
就是因为setup.py把第一次下载下来的stable-diffusion安装到了我的python包里,并且改动后是立即生效,不用reinstall,这就是为了方便大家在服务器上任何地方都能直接import stable-diffusion下的module,但这个功能我并不需要,而且把我坑傻了,浪费了两个多小时来debug文章来源地址https://www.toymoban.com/news/detail-533723.html
到了这里,关于stable diffusion 调试天坑 (setup.py)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!