高端网站建设设计公司有哪些,东莞做外贸网站公司,中信建设有限责任公司陈晓佳,游戏开发需要的软件官方实现代码地址#xff1a;lllyasviel/ControlNet: Let us control diffusion models! (github.com)
一、前言
此项目的使用需要显存大于8G#xff0c;训练自己的ControlNet或需要更大#xff0c;因此请注意查看自身硬件是否符合。
在此之前请确保已经安装好python以及…官方实现代码地址lllyasviel/ControlNet: Let us control diffusion models! (github.com)
一、前言
此项目的使用需要显存大于8G训练自己的ControlNet或需要更大因此请注意查看自身硬件是否符合。
在此之前请确保已经安装好python以及相关IDE工具。
二、环境安装
这里主要还是基于官网文档来进行代码复现。
1.创建虚拟环境
conda env create -f environment.yaml
conda activate control
注如果你之前安装过stablediffusion相关项目的虚拟环境也可以继续使用只需要安装没有装过的安装包即可但可能在使用过程中会出现一些问题大多可能都是安装包版本冲突的问题需要更换安装包版本后面我主要会讲一些我自己所遇到的问题。
2.下载clip-vit-large-patch14 将下载的所有文件存放于项目文件夹openai/clip-vit-large-patch14中。
3.下载想要运行的模型
lllyasviel/ControlNet · Hugging Face
从上述链接中下载想要运行使用的模型项目中给出了多个不同的示例脚本这里我以gradio_canny2image.py为例可以在代码中看到对应所用的模型我们将对应模型下载好了放到相应路径中即可比如这里要运行gradio_canny2image.py则需要下载control_sd15_canny.pth并放到models文件夹下。 三、运行
这里主要还是以 gradio_canny2image.py为例
python gradio_canny2image.py
如果一切正常则会出现如下界面
如果你是在本机运行的直接点 http://0.0.0.0:7860这个URL即可当然如果你和我一样是在服务器上跑的则需要将0.0.0.0改成服务器的IP地址运行运行所得界面如下 上面呢是一切都正常的情况然而我在复现过程中还是遇到了很多问题我总结了一些大多还是环境冲突的问题因为我用了之前创建的虚拟环境并没有重新建一个新的虚拟环境下面主要是讲我在复现过程中遇到的一些问题
1. 这里出现了一个莫名参数然后我看报错文件内容的路径确发现他跑到了stable diffusioin的项目文件夹下去了其实这个问题在我复现Dreambooth等项目的时候也有出现过说实话我也不太清楚为啥解决的办法目前只有重新创建一个新的虚拟环境。
2. 这里是我在安装basicsr软件包的时候出现了冲突问题我看了解决的方法主要是要先安装cython软件包于是我就安装了cython安装后还是出现了问题 说是找不到合适的tb-nightly版本然后我看网上有人说可能是源的问题于是我换成了阿里云的镜像
python -m pip install tb-nightly -i https://mirrors.aliyun.com/pypi/simple这次就安装好了然后再次去安装basicsr软件包就安装成功了 3. 这里说是在transformer处遇到一个未知的key原因是我的transformer版本太高了于是我把高版本给卸载了重新安装了4.19.2版本问题就得以解决了。
4. 然后我再次运行又出现了一个未知参数这次是发生在gradio上的原因也是我安装的版本过高于是我换成了项目给出的版本 gradio3.16.2但是后面还是出现了问题
如果你安装的也是 gradio3.16.2版本你也可以进入到gradio界面但是你会发现你在运行的时候一直在run但是不出结果如果你查看资源管理器你也会发现你的GPU使用率为0%。
命令行会报错AssertionError: No event data 这里实际上也是版本问题所以安装3.16.2也是会有问题的我们需要安装 3.38.0版本然后就可以顺利运行了
测试、出图 四、训练自己的ControlNet
ControlNet/docs/train.md 位于主 ·lllyasviel/控制网 (github.com)
官方的训练文档我个人认为比较详细并且我在训练过程中也没有遇到什么问题所以这里不过多叙述我自己也是按照上面的步骤试验了一下目前还在训练中...我用的是一块RTX 3090我把batchsize调成了1可以根据自己的GPU大小来调整参数。
还有就是我并没有看到他所设置的epoch大小不知道是如何设定的研究ing...