BrushNet即插即用的局部图片修复项目

下载模型

官方给出了模型的下载地址,如果你在中国大陆境外,可以顺利访问谷歌云盘,并且速度不错,你可以直接从官方的地址进行下载

谷歌网盘链接:https://drive.google.com/drive/folders/1fqmS1CEOvXCxNWFrsSYd_jHYXxrydh1n

 

如果你在中国大陆境内,我下面打包好了所有的模型,你可以直接通过百度网盘下载

链接:https://pan.baidu.com/s/15ZYZJ2nyGC6iMMGLGnmt-g?pwd=7vz5
提取码:7vz5

模型下载下来之后,解压到项目的根目录

BrushNet即插即用的局部图片修复项目

模型文件夹的结构如下,主要解压的时候不要嵌套了“data”目录

BrushNet即插即用的局部图片修复项目

修改启动文件

项目原启动文件并不是自动打开浏览器的,需要手动复制IP地址到浏览器的地址栏,这不太方便,因此我对启动文件进行了修改,具体方法如下:

找到“BrushNet\examples\brushnet”路径下面的“app_brushnet.py”文件,用文本编辑器(可以是记事本,最好是notepad++)打开

BrushNet即插即用的局部图片修复项目

将下面一行修改为后面的多行

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”要正确!

BrushNet即插即用的局部图片修复项目

右键-编辑,用记事本打开这个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

(4)
打赏 微信扫一扫 微信扫一扫
朋远方的头像朋远方
上一篇 2024年3月28日 下午6:20
下一篇 2024年4月6日 上午8:56

相关推荐

发表回复

登录后才能评论

评论列表(8条)

  • appl的头像
    appl 2024年4月16日 上午10:02

    *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检测,因为有时候一些正常的提示词也会生成黑图。

    • 朋远方的头像
      朋远方 2024年4月16日 下午1:50

      @appl将这一行修改为 has_nsfw_concept = None

    • appl的头像
      appl 2024年4月16日 下午3:20

      @朋远方您好,改完生图会提示错误:

      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

    • appl的头像
      appl 2024年4月16日 下午3:26

      @朋远方可以了,感谢。

  • 3403的头像
    3403 2024年4月25日 下午3:33

    ValueError: operands could not be broadcast together with shapes
    大佬,生图最后一步报错,请问这个要怎么处理?

    • 朋远方的头像
      朋远方 2024年4月25日 下午5:43

      @3403要看你具体的参数设置以及cmd日志里面的报错截图才能分析问题出在哪里

  • appl的头像
    appl 2024年5月20日 上午11:49

    大佬再请教一下您,有什么工具或者方法可以转换sd的模型给这个软件使用,这个软件自带的模型感觉有点不好看,感谢。

    • 朋远方的头像
      朋远方 2024年5月23日 上午10:26

      @applBrushNET就是一个专门训练出来做局部修复的模型,并不是一个软件,只不过项目方为这个模型开发了一个基于gradio的操作界面而已,所以BrushNet的核心就是它的模型