下载模型
官方给出了模型的下载地址,如果你在中国大陆境外,可以顺利访问谷歌云盘,并且速度不错,你可以直接从官方的地址进行下载
谷歌网盘链接:https://drive.google.com/drive/folders/1fqmS1CEOvXCxNWFrsSYd_jHYXxrydh1n
如果你在中国大陆境内,我下面打包好了所有的模型,你可以直接通过百度网盘下载
链接:https://pan.baidu.com/s/15ZYZJ2nyGC6iMMGLGnmt-g?pwd=7vz5
提取码:7vz5
模型下载下来之后,解压到项目的根目录
模型文件夹的结构如下,主要解压的时候不要嵌套了“data”目录
修改启动文件
项目原启动文件并不是自动打开浏览器的,需要手动复制IP地址到浏览器的地址栏,这不太方便,因此我对启动文件进行了修改,具体方法如下:
找到“BrushNet\examples\brushnet”路径下面的“app_brushnet.py”文件,用文本编辑器(可以是记事本,最好是notepad++)打开
将下面一行修改为后面的多行
block.launch(server_name="127.0.0.1", share=False, server_port=12345)
修改为
import gradio as gr import webbrowser def launch_app(): url = "http://127.0.0.1:12345" webbrowser.open(url) block.launch(server_name="127.0.0.1", share=False, server_port=12345) import threading threading.Thread(target=launch_app).start()
如果是直接复制文章中的代码,主要空格要修改为如图所示,因为空格也是Python的语法!
添加bat启动批处理文件
上面的py文件修改完成之后,保存,然后回到项目的根目录,新建一个txt文档,并且重命名为“run_brushnet.bat”,这里的“run_brushnet”可以随便取名,后面的“.bat”要正确!
右键-编辑,用记事本打开这个bat文件,将下面的代码粘贴进去,然后保存!
@echo off call conda activate brushnet python examples/brushnet/app_brushnet.py pause
注意,call conda activate brushnet中的brushnet就是你在上面新建虚拟环境的时候自定义的名称,如果你的虚拟环境不是取的这个名字,要修改为你自己实际的虚拟环境的名称!
使用教程
运行
你可以将上面新建的bat文件右键发送到桌面快捷方式,这样每次使用的时候,可以直接在桌面双击该bat文件的快捷方式!注意,是创建快捷方式在桌面,而不是直接把这个bat文件剪切到桌面去!!!该bat文件不能离开项目的根目录,否则会出现找不到文件的报错!!!
双击该bat文件,就会自动运行并打开一个浏览器的窗口,跟stable diffusion webui一样!
参数设置
基本的参数设置参考如下的截图!
原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/brushnetjichajiyongdejubutupianxiufuxiangmu/.html
Comments(8)
*Noted that you need to ignore the nsfw detector in `src/diffusers/pipelines/brushnet/pipeline_brushnet.py#1261` to get the correct evaluation results. Moreover, we find different machine may generate different images, thus providing the results on our machine
请问这句提示修改这个位置,如何去掉NSFW检测,因为有时候一些正常的提示词也会生成黑图。
@appl:将这一行修改为 has_nsfw_concept = None
@朋远方:您好,改完生图会提示错误:
Traceback (most recent call last):
File “F:\AI\BrushNet\venv\lib\site-packages\gradio\queueing.py”, line 407, in call_prediction
output = await route_utils.call_process_api(
File “F:\AI\BrushNet\venv\lib\site-packages\gradio\route_utils.py”, line 226, in call_process_api
output = await app.get_blocks().process_api(
File “F:\AI\BrushNet\venv\lib\site-packages\gradio\blocks.py”, line 1550, in process_api
result = await self.call_function(
File “F:\AI\BrushNet\venv\lib\site-packages\gradio\blocks.py”, line 1185, in call_function
prediction = await anyio.to_thread.run_sync(
File “F:\AI\BrushNet\venv\lib\site-packages\anyio\to_thread.py”, line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File “F:\AI\BrushNet\venv\lib\site-packages\anyio\_backends\_asyncio.py”, line 2144, in run_sync_in_worker_thread
return await future
File “F:\AI\BrushNet\venv\lib\site-packages\anyio\_backends\_asyncio.py”, line 851, in run
result = context.run(func, *args)
File “F:\AI\BrushNet\venv\lib\site-packages\gradio\utils.py”, line 661, in wrapper
response = f(*args, **kwargs)
File “F:\AI\BrushNet\examples\brushnet\app_brushnet.py”, line 104, in process
image = pipe(
File “F:\AI\BrushNet\venv\lib\site-packages\torch\utils\_contextlib.py”, line 115, in decorate_context
return func(*args, **kwargs)
File “F:\AI\BrushNet\src\diffusers\pipelines\brushnet\pipeline_brushnet.py”, line 1261, in __call__
image, has_nsfw_concept = None
TypeError: cannot unpack non-iterable NoneType object
@朋远方:可以了,感谢。
ValueError: operands could not be broadcast together with shapes
大佬,生图最后一步报错,请问这个要怎么处理?
@3403:要看你具体的参数设置以及cmd日志里面的报错截图才能分析问题出在哪里
大佬再请教一下您,有什么工具或者方法可以转换sd的模型给这个软件使用,这个软件自带的模型感觉有点不好看,感谢。
@appl:BrushNET就是一个专门训练出来做局部修复的模型,并不是一个软件,只不过项目方为这个模型开发了一个基于gradio的操作界面而已,所以BrushNet的核心就是它的模型