BrushNet 是一种基于扩散的文本引导图像修复模型,可以即插即用到任何预先训练的扩散模型中。具体是做什么的,你可以先看下面的视频
项目的github主页:https://github.com/TencentARC/BrushNet
本地部署教程
克隆仓库文件到本地
可以直接通过git命令来克隆
git clone https://github.com/TencentARC/BrushNet.git
也可以通过下载zip压缩包到本地解压
不管通过那种方式,你最后都会得到像下面的文件夹
新建虚拟环境+安装Python库
进入到该文件夹中,在路径栏输入“cmd”命令,回车,会打开一个cmd命令窗口。
在cmd窗口中先后执行如下的命令:
用conda创建一个名为“brushnet”的虚拟环境
conda create -n brushnet python=3.9 -y
激活该虚拟环境
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
安装扩散器和依赖包
您可以使用以下命令安装扩散器:
pip install -e .
安装项目所需的依赖包
接着继续执行如下的命令,安装项目所需的依赖包
cd examples/brushnet/ pip install -r requirements.txt
原创文章,作者:朋远方,如若转载,请注明出处: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的核心就是它的模型