ComfyUI实现老照片修复——AI修复老照片(ComfyUI-ReActor / ReSwapper)解决天坑问题及加速pip下载
AI修复老照片,试试吧,不一定好~~哈哈
2023年4月曾用过ComfyUI,当时就感慨这个工具和虚幻的蓝图很像,以后肯定是专业人玩的。
2024年我写代码去了,AI做图没太关注,没想到,现在ComfyUI真的变成了工作室必备之物。
comfyui的安装方法当年就写在这里了,不再赘述。
《Windows安装Stable Diffusion ComfyUI及问题解决记录(注意不是Stable Diffusion WebUI)》
如果你要学习的话,建议先用WebUI,然后再学ComfyUI,这样会比较容易理解流程和节点。
本文作业流参考:https://openart.ai/workflows/whale_harmful_43/old-photo-reimagine—restoration/zCDY2MxghuM1ZZp1wx6M
网上盛传的ComfyUI Reactor Node的下载地址已经停用了,本文使用官方当前最新版本~~~~坑很多。
1. 下载
常用的节点和模型太多,不在此处记录。需要你根据错误提示自行寻找所需内容。
天坑极多,慎入慎入啊。
-
节点:
- https://github.com/Gourieff/ComfyUI-ReActor
- https://github.com/somanchiu/ReSwapper
-
模型:
-
https://huggingface.co/datasets/Gourieff/ReActor/tree/main/models
最重要的是facerestore_models目录下模型和inswapper_128.onnx

-
https://huggingface.co/lllyasviel/ControlNet/tree/main/models
ControlNet如果已经安装可以不必考虑,但必须要存在depth、lineart和openpose模型。
-
2. 解压
-
节点:
-
custom_nodes/ComfyUI-ReActor

-
custom_nodes/ReSwapper

-
-
模型:
-
models\reswapper

-
models\facerestore_models

-
models\ControlNet
我的ComfyUI中的ControlNet引用到了WebUI中,你在配置时也需注意这一点。

-
3. 工作流
根据需要拖出节点


4. 配置
注意在与prompt中需要针对图片内容进行描述,比如这里提示原照片是军装 Military uniform

5. 出图
单个人物准确率较高,但一个画面出现多个人物就可能会失真。


6. 问题及补充
1. 问题一:在timm中找不到ImageNetInfo等函数

如果出现这个错误提示,那么问题出在 transformers.models.timm_wrapper 模块中,该模块依赖了 timm 库,但当前版本的 timm 中似乎缺少 ImageNetInfo,导致导入失败。
试试用命令升级或安装缺失的timm
pip install --upgrade transformers
pip install --upgrade timm
生图时依旧错,卡在Reactor Fast Face Swap节点,尝试去掉错误的语句
# 原句是这句,无论安装什么都无法使用
#if is_timm_available():
# from timm.data import ImageNetInfo, infer_imagenet_subsettry:from timm import is_timm_available
except ImportError:def is_timm_available():return Falseif is_timm_available():# 如果timm可用,但没有这些具体函数,可以这样处理try:# 注释掉原来的导入# from timm.data import ImageNetInfo, infer_imagenet_subset# 直接定义一个空的类和函数class ImageNetInfo:def __init__(self):passdef infer_imagenet_subset():return Noneexcept ImportError:ImageNetInfo = Noneinfer_imagenet_subset = None
这么写就可以跳过这一步了,可实际上后面还有几个天坑等着,而且这一步中如果仅有Reactor Fast Face Swap节点,且该节点的属性face_restore_modle有值,那么极可能出错,这时候可增加一个节点ReActor Face Booster,由其属性boost model选择codeformer来让图像变高清且不出错。
可能是因为当前
reactor所需的timm版本较低,应该是个bug,未来会解决。
2. 问题二:提示找不到buffalo_l
此处 https://github.com/deepinsight/insightface/releases 选择 buffalo_l.zip 下载
之前下载reswapper模型时就有个压缩包buffalo_l.zip,解压到下面的目录即可,你能想象是这个目录?官网可没给任何提示。
models/└── insightface/└── models/└── buffalo_l/ # 解压到这个文件夹
3. 问题三:提示找不到inswapper_128.onnx等文件
把models\reswapper中的内容复制到models\insightface,注意是复制,因为reswapper中的模型是提供给前端节点选择的,而执行时需要调用insightface里的,我验证这个情况的过程是:
- 当我去掉
reswapper中的模型文件,在节点里选择的时候该模型也就消失了, - 当我保留
reswapper中的模型文件,去掉insightface目录中的文件,则在节点选择时正常,而在生图时会提示不存在该模型。 - 我想未来版本会解决这个问题的,或者在哪里可以配置一下路径。

4. 问题四:提示找不到vit-base-nsfw-detector模块
下载模型:https://huggingface.co/AdamCodd/vit-base-nsfw-detector/tree/main
放入models\nsfw_detector\vit-base-nsfw-detector目录下~~,这么深层真是无语~~ 。好像不下载onnx中的内容也没出错。

5. 问题五:GFPGAN 出错
具体情况不记得了,反正如果遇到问题就去GFPGAN官网 https://github.com/TencentARC/GFPGAN 找答案。

我应该就执行了这两句:
pip install basicsr
pip install facexlib
6. 问题六:CodeFormer 出现问题
官网:https://github.com/sczhou/CodeFormer

我就执行了这句,之前遇到的codeformer相关错误就没了。
pip3 install -r requirements.txt
7. 问题七:其它情况检查一遍

8. 问题八:pip 下载速度太慢
为了加速pip的下载,请用国内镜像的方式
# 临时使用
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name# 永久配置
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
最后生图是成功了,但安装过程让我深深崩溃,现在学会遇到什么model出错,就去该model的github上去找答案,该安装安装。
总结一句话:多国混战,调这调那,尚未成熟,任重道远。
参考:
ComfyUI Reactor Node 安装和配置指南
人脸修复哪家强?GPEN,GFPGAN和CodeFormer三大神器对比
pip install速度太慢的多种解决方案
相关文章:
ComfyUI实现老照片修复——AI修复老照片(ComfyUI-ReActor / ReSwapper)解决天坑问题及加速pip下载
AI修复老照片,试试吧,不一定好~~哈哈 2023年4月曾用过ComfyUI,当时就感慨这个工具和虚幻的蓝图很像,以后肯定是专业人玩的。 2024年我写代码去了,AI做图没太关注,没想到,现在ComfyUI真的变成了工…...
OpenEuler学习笔记(十一):OpenEuler上搭建LAMP环境
LAMP环境指的是Linux、Apache、MySQL(或MariaDB)和PHP的组合,下面为你介绍在OpenEuler上搭建LAMP环境的详细步骤: 1. 系统更新 首先要更新系统中的软件包,保证系统处于最新状态。 sudo dnf update -y2. 安装Apache…...
Mongodb 慢查询日志分析 - 1
Mongodb 慢查询日志分析 使用 mloginfo 处理过的日志会在控制台输出, 显示还是比较友好的. 但是如果内容较大, 就不方便查看了, 如果可以导入到 excel 就比较方便筛选/排序. 但是 mloginfo 并没有提供生成到 excel 的功能. 可以通过一个 python 脚本辅助生成: import pandas…...
MySQL面试题2025 每日20道【其四】
1、你们生产环境的 MySQL 中使用了什么事务隔离级别?为什么? 中等 在生产环境中,MySQL数据库的事务隔离级别通常由开发团队或数据库管理员根据应用的需求来设定。MySQL支持四种标准的事务隔离级别: 读未提交(Read Unc…...
微服务学习-Nacos 注册中心实战
1. 注册中心的设计思路 1.1. 微服务为什么会用到注册中心? 服务与服务之间调用需要有服务发现功能;例如订单服务调用库存服务,库存服务如果有多个,订单服务到底调用那个库存服务呢(负载均衡器)࿰…...
k8s服务StatefulSet部署模板
java 服务StatefulSet部署模板 vim templates-test.yamlapiVersion: apps/v1 kind: StatefulSet metadata:labels:app: ${app_labels}name: ${app_name}namespace: ${app_namespace} spec:replicas: ${app_replicas_count}selector:matchLabels:app: ${app_labels}template:la…...
07 区块链安全技术
概述 区块链的安全特性 区块链解决了在不可靠网络上可靠地传输信息的难题,由于不依赖与中心节点的认证和管理,因此防止了中心节点被攻击造成的数据泄露和认证失败的风险。 区块链安全防护的三大特点 共识机制代替中心认证机制数据篡改“一发动全身”…...
Adobe的AI生成3D数字人框架:从自拍到生动的3D化身
一、引言 随着人工智能技术的发展,我们见证了越来越多创新工具的出现,这些工具使得图像处理和视频编辑变得更加智能与高效。Adobe作为全球领先的创意软件公司,最近推出了一项令人瞩目的新技术——一个能够将普通的二维自拍照转换成栩栩如生的三维(3D)数字人的框架。这项技…...
dfs专题四:综合练习
key:画出决策树(就是找个简单例子模拟一下的树状决策图) dfs传参 or 全局变量: int, double等常量/比较小的变量,可以dfs参数传递vector等线性O(N)变量,要用全局变量 回溯&#x…...
【线性代数】列主元法求矩阵的逆
列主元方法是一种用于求解矩阵逆的数值方法,特别适用于在计算机上实现。其基本思想是通过高斯消元法将矩阵转换为上三角矩阵,然后通过回代求解矩阵的逆。以下是列主元方法求解矩阵 A A A 的逆的步骤: [精确算法] 列主元高斯消元法 步骤 1&am…...
大写——蓝桥杯
1.题目描述 给定一个只包含大写字母和小写字母的字符串,请将其中所有的小写字母转换成大写字母后将字符串输出。 输入描述 输入一行包含一个字符串。 输出描述 输出转换成大写后的字符串。 输入输出样例 示例 输入 LanQiao输出 LANQIAO评测用例规模与约定 对…...
HTML `<head>` 元素详解
在 HTML 文档中,<head> 元素是一个非常重要的部分,它包含了文档的元数据(metadata)和其他与文档相关的信息。虽然 <head> 中的内容不会直接显示在网页上,但它对网页的行为、样式和搜索引擎优化(…...
一文速通stack和queue的理解与使用
CSTL之stack和queue 1.stack1.1.stack的基本概念1.2.stack的接口 2.queue2.1.queue的基本概念2.2.queue的接口 3.priority_queue3.1.priority_queue的基本概念3.2.priority_queue的接口3.3.仿函数 4.容器适配器5.deque5.1.deque的简单了解5.2.deque的优缺点 🌟&…...
Antd React Form使用Radio嵌套多个Select和Input的处理
使用Antd React Form使用Radio会遇到嵌套多个Select和Input的处理,需要多层嵌套和处理默认事件和冒泡,具体实现过程直接上代码。 实现效果布局如下图 代码 <Formname"basic"form{form}labelWrap{...formItemLayoutSpan(5, 19)}onFinish{on…...
Vue - toRefs() 和 toRef() 的使用
一、toRefs() 在 Vue 3 中,toRefs()可以将响应式对象的属性转换为可响应的 refs。主要用于在解构响应式对象时,保持属性的响应性。 1. 导入 toRefs 函数 import { toRefs } from vue;2. 将响应式对象的属性转换为 ref const state reactive({count: 0,message:…...
Python3 OS模块中的文件/目录方法说明九
一. 简介 前面文章简单学习了 Python3 中 OS模块中的文件/目录的部分函数。 本文继续来学习 OS 模块中文件、目录的操作方法:os.pipe() 方法、os.popen() 方法。 二. Python3 OS模块中的文件/目录方法 1. os.pipe() 方法 os.pipe() 方法用于创建一个管道, 返回…...
OpenCV文字绘制支持中文显示
OpenCV版本:4.4 IDE:VS2019 功能描述 OpenCV绘制文本的函数putText()不支持中文的显示,网上很多方法推荐的都是使用FreeType来支持,FreeType是什么呢?FreeType的官网上有介绍 FreeType官网 https://www.freetype.or…...
opengrok_windows_多工程环境搭建
目录 多工程的目录 工程代码下载和log配置 工程的索引 工程部署 工程测试 参考列表 多工程的目录 工程代码下载和log配置 工程代码下载 在每个工程的src目录下,下载工程代码,以下载pulseaudio的代码为例。 git clone gitgithub.com…...
基于ollama,langchain,springboot从零搭建知识库三【解析文档并存储到向量数据库】
安装环境 安装pgvector,先设置docker镜像源: vim /etc/docker/daemon.json {"registry-mirrors": ["https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com","https://mirror.ccs.tencentyun.com",&…...
Elasticsearch 和arkime 安装
安装一定要注意版本号,不然使用不了 这里Ubuntu使用ubuntu-20.04.6-desktop-amd64.iso elasticsearch这里使用Elasticsearch 7.17.5 | Elastic arkime这里使用wget https://s3.amazonaws.com/files.molo.ch/builds/ubuntu-20.04/arkime_3.4.2-1_amd64.deb 大家想…...
从“工具辅助”到“智慧赋能”:青软青之深度集成LIMS、ELN、AUTO等核心系统,打造全场景智慧实验室新范式
在科研创新迭代加速、检验检测产业升级纵深推进的今天,实验室作为创新源头,其运行效率与管理水平直接决定研发效能与质量。传统依赖人工记录、纸质流转和信息孤岛的模式,已难以适应复杂实验需求与严苛合规监管。智慧实验室,正成为…...
一个月突变!Linux内核大佬懵了:上个月还是“AI垃圾”,这个月AI Bug报告却突然靠谱?
整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)最近在做开源项目维护的开发者,可能会有一种奇怪的错觉:Bug 似乎报告变多了,而且变准了——更准确地说,是 AI 报的 Bug,突然开始“靠谱了”。…...
Polars 2.0清洗性能天花板在哪?实测对比Dask/Modin/Vaex:单机1TB数据清洗仅需11.3秒(附完整安装脚本)
第一章:Polars 2.0 大规模数据清洗技巧Polars 2.0 引入了更严格的惰性执行模型、增强的字符串与时间处理能力,以及原生支持多线程 I/O 的 LazyFrame API,显著提升了 TB 级数据清洗的吞吐与可控性。相比 Pandas,其列式内存布局与零…...
Agent在零售行业能解决哪些痛点?——深度解析零售企业智能自动化转型路径
在2026年零售行业加速迈向智能化的背景下,AI Agent(人工智能智能体)已不再仅仅是技术实验室的产物,而是演变为重构行业价值链的核心驱动力。传统的零售运营长期受困于人力密集型模式,面临着全球化运营复杂度高、数据孤…...
3步快速上手!终极缠论量化工具:基于TradingView本地SDK的几何交易可视化完整指南
3步快速上手!终极缠论量化工具:基于TradingView本地SDK的几何交易可视化完整指南 【免费下载链接】chanvis 基于TradingView本地SDK的可视化前后端代码,适用于缠论量化研究,和其他的基于几何交易的量化研究。 缠论量化 摩尔缠论 缠…...
导入MotorCAD API(需先安装MotorCAD的Python接口)
基于Motorcad的4极6槽 内转子采用内插式磁钢 3000rpm 输出转矩 2.6Nm 效率93%外径 94mm 轴向长度70mm 功率800w 直流母线380V 永磁同步电机(永磁直流无刷)模型(PMSM或者是BLDC) 最近捣鼓了个小功率PMSM模型,用MotorCAD搭了个4极6槽内插式的&a…...
WSL+VSCode+Jupyter+R配置总结(2026年)
题记:网上相关的资料很多了,现阶段跟随AI也能少走很多弯路,但体验下来依旧有些细节没有被很好的提及,故写本文一方面作为自己的备忘录,一方面希望帮助更多像我一样的新手。 用了上述的配置跑了scanpy一年多了…...
十分钟用快马AI搭建中科院期刊分区查询工具原型
最近在帮实验室整理投稿期刊清单时,发现中科院分区查询是个高频需求。每次都要登录官网、输入验证码、反复跳转页面,特别影响效率。于是想做个简易查询工具,正好用InsCode(快马)平台试试快速原型开发,没想到十分钟就搭出了可用版本…...
Win11Debloat开源工具:焕新Windows系统体验的极简优化指南
Win11Debloat开源工具:焕新Windows系统体验的极简优化指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter an…...
坚定信心,顺势而为 ——中国企业出海与人工智能时代语言服务行业的新机遇
坚定信心,顺势而为——中国企业出海与人工智能时代语言服务行业的新机遇前言人工智能技术的逐步成熟以及智能体的普遍应用是最近两三年的热点和趋势,很多人说,2026年是智能体爆发的元年。春节期间,豆包、千问、元宝等50亿元的红包…...
