mmpretrain icon indicating copy to clipboard operation
mmpretrain copied to clipboard

[Bug] 关于模型扩展的问题

Open qsd-github opened this issue 1 year ago • 5 comments

分支

main 分支 (mmpretrain 版本)

描述该错误

首先我是准备自己写一个模型,然后运行,我是先按照教程安装了mmpretrain的包,然后按照教程把对应的配置文件都配置好了,按照tools/train.py config/xxx.py运行后报我这个模型没有注册,问题在于它一直调用的是我安装的最初始的mmpretrain,所以找不到这个模型,然后我卸载掉,直接在mmpretrain包里面运行tools/train.py config/xxx.py,给我报KeyError: 'ImageClassifier is not in the mmengine::model registry. 我查看了github上相关的问题,第一种是需要安装mmpretrain,但是会产生第一个的问题,第二种是配置文件default_scope = 'mmpretrain',我已经配置好了,但是还是报错,我现在能运行的方式就是修改模型之后再次python setup.py install放入到python解释器里面,但是这样很麻烦,请问有什么办法解决这个问题或者说是我哪里操作不当导致的?

环境信息

tools/train.py config/xxx.py

其他信息

我不知道是不是我的操作问题还是啥?但是修改模型后每次导入这种操作很麻烦,请问官方如何解决这个问题?

qsd-github avatar Jan 02 '24 05:01 qsd-github

可以试试在自己的mmpretrain根目录使用命令 pip install -v -e . 安装源码包,这样就可以使用自己的修改的源码了

https://mmpretrain.readthedocs.io/zh-cn/latest/get_started.html#id4

NagatoYuki0943 avatar Jan 03 '24 09:01 NagatoYuki0943

我知道原因了,使用的安装命令是错误的,我使用的是python setup.py install,这个就是直接把库安装到里面,是静态的,所以每次都需要修改,教程中使用的是mim install -e ".[multimodal]"是动态的,生成.egg并指向此包,所以修改的时候就会动态的进行修改!

qsd-github avatar Jan 03 '24 10:01 qsd-github

python setup.py install

每次都要修改,指的是每次改完源码后都要运行一下python setup.py install吗

pheotry avatar Jan 10 '24 02:01 pheotry

python setup.py install

每次都要修改,指的是每次改完源码后都要运行一下python setup.py install吗

是的,因为我使用python setup.py install进行安装的时候是静态的,在修改代码后需要python里面的库是之前的,而使用pip install -e .是动态的,是生成一个egg包指向我的库,所以在修改的时候python中的库就会自动修改

qsd-github avatar Jan 10 '24 03:01 qsd-github

python setup.py install

每次都要修改,指的是每次改完源码后都要运行一下python setup.py install吗

是的,因为我使用python setup.py install进行安装的时候是静态的,在修改代码后需要python里面的库是之前的,而使用pip install -e .是动态的,是生成一个egg包指向我的库,所以在修改的时候python中的库就会自动修改

好的谢谢,我说自定义的模块怎么识别不到,我直接导入了

pheotry avatar Jan 10 '24 06:01 pheotry