问题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
相关推荐
Lsir10110_4 小时前
【Linux】进程信号(下半)
linux·运维·服务器
skywalk81634 小时前
unbound dns解析出现问题,寻求解决之道
运维·服务器·dns·unbound
酉鬼女又兒4 小时前
零基础入门Linux指南:每天一个Linux命令_pwd
linux·运维·服务器
云飞云共享云桌面4 小时前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
skywalk81634 小时前
走近科学:unbound dns域名服务器自己本地解析出现问题,寻求解决之道
运维·服务器·dns·unbound
zl_dfq4 小时前
Linux 之 【多线程】(pthread_xxx、轻量级进程、原生线程库、线程ID、__thread、线程栈、线程与信号、线程与程序替换)
linux
choke2334 小时前
Python 基础语法精讲:数据类型、运算符与输入输出
java·linux·服务器
袁煦丞 cpolar内网穿透实验室4 小时前
远程调试内网 Kafka 不再求运维!cpolar 内网穿透实验室第 791 个成功挑战
运维·分布式·kafka·远程工作·内网穿透·cpolar
AZ996ZA5 小时前
自学linux的第二十一天【DHCP 服务从入门到实战】
linux·运维·服务器·php
_OP_CHEN5 小时前
【Linux系统编程】(二十八)深入 ELF 文件原理:从目标文件到程序加载的完整揭秘
linux·操作系统·编译·c/c++·目标文件·elf文件