专栏算法工具链如何调试BEV示例算法源码

如何调试BEV示例算法源码

已解决
Lmh2024-09-13
142
5

J5_OE_1.1.74


我们现在在尝试将自己的BEV算法在地平线J5板子上做QAT量化部署,然后通过社区了解到在OE包里有很多BEV感知的示例算法,于是计划将我们的算法也像示例算法一样将我们的算法写成地平线config的形式来实现部署。

然后我觉得地平线的config和mmdet3d的config有些类似,是将模型的类定义好之后,再对其进行一次包装函数使得其能够被“build”;因此我们想探入到模型的各个类中去,然后将自己的算法融入,(这部分是我结合对mmdet3d的理解所认为的,麻烦对地平线的build config机制做一个解答)

但是我们在vscode中进行debug调试时无法进入到模型定义的类,而是在单步调试进行到下图261行时继续调试会直接启动calibration操作,而没有进入到config中对应模型的类里边;请问如何可以查看到模型定义类的源码呢?我们是否可以通过替换地平线源码中的代码来使地平线可以build我们自己的算法模型呢?(我们使用bev_cft_efficientnetb3_nuscenes.py进行debug的)

算法工具链
评论3
0/1000
  • kotei左文亮
    Lv.3

    是要看封装的类的源码吗? 可以到docker环境里面的根目录去看看,例如 :/usr/local/lib/python3.10/dist-packages

    2024-09-13
    0
    2
    • Lmh回复kotei左文亮:
      docker环境是指这画横线这个路径吧?我们在这个路径下找不到/usr/local/lib/python3.10/dist-packages这个路径啊。包括我也试了在系统的/usr/local/lib/python3.10/dist-packages这个路径下,但这里是空的
      2024-09-14
      0
    • Lmh回复Lmh:

      不好意思,我在似乎是找到了,是这个路径吗?但是这个文件夹下有很多依赖包,请问BEV示例算法的源码在哪个位置呢

      2024-09-14
      0
  • 遥看瀑布挂前川
    Lv.2

    如何可以查看到模型定义类的源码?

    答:config中定义了model,每个model中各个模块由dict组成,dict中的type就是模块的实现的类,比如type="ViewFusion",查看ViewFusion的实现就使用grep命令,grep -rn "class ViewFusion" /usr/local/lib/python3.10/dist-packages/hat/,会输出该模块实现的源码/usr/local/lib/python3.10/dist-packages/hat/models/structures/view_fusion.py


    不建议把自己的模型放在发布包中build,参考算法是基于HAT框架开发的,用于对外交付和内部使用,外部使用无法代码维护,会导致后期无法使用最新版本的HAT或参考算法。使用方式建议参考horizon_model_train_sample/scripts/examples下的示例,在自己的工程代码中import使用。

    2024-09-14
    0
    0
  • kotei左文亮
    Lv.3

    哈喽,由于您长时间未回复,此问题就先关闭了,如还有疑问,可再发帖求助。

    2024-09-19
    0
    0