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

BrushNet 是一种基于扩散的文本引导图像修复模型,可以即插即用到任何预先训练的扩散模型中。具体是做什么的,你可以先看下面的视频

项目的github主页:https://github.com/TencentARC/BrushNet

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

本地部署教程

克隆仓库文件到本地

可以直接通过git命令来克隆

git clone https://github.com/TencentARC/BrushNet.git

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

也可以通过下载zip压缩包到本地解压

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

不管通过那种方式,你最后都会得到像下面的文件夹

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

新建虚拟环境+安装Python库

进入到该文件夹中,在路径栏输入“cmd”命令,回车,会打开一个cmd命令窗口。

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

在cmd窗口中先后执行如下的命令:

用conda创建一个名为“brushnet”的虚拟环境

conda create -n brushnet python=3.9 -y

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

激活该虚拟环境

conda activate brushnet

升级pip

python -m pip install --upgrade pip

安装torch三件套

pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu116

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

安装扩散器和依赖包

您可以使用以下命令安装扩散器:

pip install -e .

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

安装项目所需的依赖包

接着继续执行如下的命令,安装项目所需的依赖包

cd examples/brushnet/
pip install -r requirements.txt

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

原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/brushnetjichajiyongdejubutupianxiufuxiangmu/.html

Like (5)
Donate 微信扫一扫 微信扫一扫
朋远方的头像朋远方
Previous 2024年3月28日 下午6:20
Next 2024年4月6日 上午8:56

相关推荐

发表回复

Please Login to Comment

Comments(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的核心就是它的模型