当前位置:   article > 正文

向Yolov8添加注意力机制报错:“Keyerror”的解决办法_yolov8添加注意力机制一直报错keyerror

yolov8添加注意力机制一直报错keyerror

导致问题的原因

在我们向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

撰写本博客是因为我被这个问题困扰了很久。希望能够对这种常见问题的解决方法做一个汇总。如有侵权请联系我删除。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/668695
推荐阅读
相关标签
  

闽ICP备14008679号