赞
踩
在我们向Yolov8中添加注意力机制时,即便我们在克隆的项目的nn/modules/init.py以及nn/tasks.py中正确的导入了注意力机制,仍然会报错:“Keyerror”,似乎注意力机制仍然没有正确的导入。
实际上这是因为我们在配置虚拟环境时,使用了代码
pip install ultralytics
在这个过程中,“ultralytics”包会被安装到虚拟环境中。在这里我们一定要注意区分,虚拟环境中的“ultralytics”以及我们克隆的代码的“ultralytics”。前者是因为配置虚拟环境而安装的,后者是我们从Github上克隆的工程。
当我们在克隆的项目中导入了注意力机制时,我们并没有在虚拟环境的“ultralytics”包中导入注意力机制。但是在项目文件的init.py中,仍然会默认从虚拟环境的“ultralytics”中去寻找注意力机制。
大家可以通过这个包的修改日期判断出这一点。因此即便我们正确的在克隆的项目中导入了注意力机制,仍然会反复报错“Keyerror”。
在虚拟环境中对注意力机制进行导入。请参考这位博主的解决方法:
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_40941950/article/details/131620027
————————————————
在我们所克隆的项目文件中的init.py等文件中对导入的包进行修改。请参考这位up主的解决方法:
【【yolov8-09】全网最详细yolov8添加注意力机制-极端简单】 https://www.bilibili.com/video/BV1Jm411k7sa/?share_source=copy_web&vd_source=6e7335bfa47b4e851a609b8b0d58f1b9
使用其他的配置环境方法,在这里我们不直接采用
pip install ultralytics
的方法进行环境配置,而是首先对Github上的工程代码进行克隆,我们假设克隆后的路径为D:\ultralytics-main。
我们通过
pip install -e D:\ultralytics-main
来配置环境,在配置环境后,我们在Pycharm的终端进入虚拟环境,并且使用指令:
pip list
查看后可以发现,此时“ultralytics”包的可编辑路径已经变为了我们所克隆的项目路径。
本方法来自用户@qq_42983805
撰写本博客是因为我被这个问题困扰了很久。希望能够对这种常见问题的解决方法做一个汇总。如有侵权请联系我删除。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。