KeyError: “No object named ‘CATModel’ found in ‘model’ registry!”
解决办法1:
1.转到BasicSR-master文件夹下
cd BasicSR-master
2.运行该命令
python setup.py develop
3.如果还是提示相同的错,则可以尝试将你报错的:
项目/basicsr/models/cat_model.py文件
放到这个文件夹下
BasicSR-master/basicsr/models/
然后再去运行命令
python setup.py develop
解决办法2:
其实这个错,大概率是因为你修改过模块,然后运行代码的时候,会报错提示你修改过的模块并没有进行注册。
这个是我项目的archs文件夹:
我将craft_arch.py文件复制了一份,并且稍微进行了修改并重命名为model1.py。
然后修改配置文件:
# network structures
network_g:
#将下面这行代码注释,并进行修改为model1
#type: CRAFT
type: model1
upscale: 4
in_chans: 3
img_size: 64
window_size: 16
img_range: 1.
depths: [2, 2, 2, 2]
embed_dim: 48
num_heads: [6, 6, 6, 6]
mlp_ratio: 2
resi_connection: '1conv'
然后跑程序的时候就报错:
KeyError: “No object named ‘XXXModel‘ found in ‘model‘ registry!“
解决办法:
1.将你环境下的basicsr卸载掉
pip uninstall basicsr
#(这里要记一下所安装basicsr的版本号,防止后面出问题恢复)
2.然后在项目根文件夹下运行命令:
cd CRAFT/CRAFT-SR
python setup.py develop
3.运行完成后,可以再次尝试跑一下程序,如果还是不行,就转到archs文件夹下:
在该路径下运行命令:
cd CRAFT/CRAFT-SR/basicsr/archs
#这个命令会将模块进行手动注册
python model1.py
然后再次尝试跑一下你的程序。