赞
踩
第一次下载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过来?
就是因为setup.py把第一次下载下来的stable-diffusion安装到了我的python包里,并且改动后是立即生效,不用reinstall,这就是为了方便大家在服务器上任何地方都能直接import stable-diffusion下的module,但这个功能我并不需要,而且把我坑傻了,浪费了两个多小时来debug
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。