问题An object named ‘ResNetArcFace‘ was already registered in ‘arch‘ registry!

在安装 GFPGAN 的时候,一切都顺利,但是执行的时候出现了错误,哦还有一个问题,

问题一

就是如果basicsr安装不成功可以执行如下命令

复制代码
pip install -i https://mirrors.aliyun.com/pypi/simple tb-nightly
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple basicsr==1.4.2

转载无法安装basicsr的解决方法_basicsr安装失败-CSDN博客

问题二

回归上面的问题,如果执行出现了如下错误

复制代码
Traceback (most recent call last):
  File "F:\work\code\python\GFPGAN-master\inference_gfpgan.py", line 9, in <module>
    from gfpgan import GFPGANer
  File "F:\work\code\python\GFPGAN-master\gfpgan\__init__.py", line 2, in <module>
    from .archs import *
  File "F:\work\code\python\GFPGAN-master\gfpgan\archs\__init__.py", line 10, in <module>
    _arch_modules = [importlib.import_module(f'gfpgan.archs.{file_name}') for file_name in arch_filenames]
  File "F:\work\code\python\GFPGAN-master\gfpgan\archs\__init__.py", line 10, in <listcomp>
    _arch_modules = [importlib.import_module(f'gfpgan.archs.{file_name}') for file_name in arch_filenames]
  File "D:\ProgramData\anaconda3\envs\insightface\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "F:\work\code\python\GFPGAN-master\gfpgan\archs\arcface_arch.py", line 172, in <module>
    class ResNetArcFace(nn.Module):
  File "D:\ProgramData\anaconda3\envs\insightface\lib\site-packages\basicsr\utils\registry.py", line 56, in deco
    self._do_register(name, func_or_class, suffix)
  File "D:\ProgramData\anaconda3\envs\insightface\lib\site-packages\basicsr\utils\registry.py", line 42, in _do_register
    assert (name not in self._obj_map), (f"An object named '{name}' was already registered "
AssertionError: An object named 'ResNetArcFace' was already registered in 'arch' registry!

问题原因

发现是由于ResNetArcFace已经被注册,搜索了下,发下我安装的另外一个库已经包含了

问题解决方案

那咋办了

方法一

一个是重新开个环境,通过conda创建一个虚拟环境,排除环境依赖,也就不存在重复使用问题

conda create --name xxx python=3.11

方法二

一个是修改源码

复制代码
ResNetArc2Face

如下替换掉

然后源代码重新安装,执行解决此问题

复制代码
python setup.py develop
相关推荐
凡人叶枫6 分钟前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
AC赳赳老秦15 分钟前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
2601_9618752425 分钟前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
java_cj30 分钟前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
森G1 小时前
75、服务器源码解析---------云视频服务项目
linux·服务器·网络·c++·qt
阿米亚波1 小时前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm
张飞飞飞飞飞1 小时前
Tmux命令使用教程
linux·服务器·ubuntu
Fcy6481 小时前
Linux下 可重入函数、volatile关键字和SIGCHLD信号
linux·可重入函数·volatile关键字·sigchld
難釋懷1 小时前
Nginx反向代理中的容错机制
运维·nginx
杨浦老苏1 小时前
轻量级Docker仪表板Servedash
运维·docker·监控·群晖·仪表板