专栏算法工具链J6E bevformer 参考算法无法转换成hbm模型,数据处理异常出错!

J6E bevformer 参考算法无法转换成hbm模型,数据处理异常出错!

已解决
vilon8882024-10-29
132
12
1 参考了文档, 在尝试bevformer过程中,转换数据的时候,命令是“python3 tools/datasets/nuscenes_packer.py --src-data-dir /data/horizon_j6/data/nuscenes_srcdata/nuscenes/ --pack-type lmdb --target-data-dir /data/horizon_j6/data/j6e_nuscenes_lmdb/v1.0-trainval --version v1.0-trainval --split-name val”,解压数据都是按照文档要求存放,报下面的错误,

2 使用命令“python3 tools/compile_perf_hbir.py --config configs/bev/bevformer_tiny_resnet50_detection_nuscenes.py --out-dir ./ --opt 2”转换bc模型到hbm的时候,卡死了,最后进程直接被杀死,没有hbm模型生成,这是什么原因?

使用的是horizon_j6_open_explorer_v3.0.22-py310_20240924版本OE包,开发环境是gpu docker

算法工具链
征程6
评论1
0/1000
  • Huanghui
    Lv.5

    收到,先看看

    2024-10-29
    0
    11
    • vilon888回复Huanghui:

      拜托啦,谢谢!!

      2024-10-29
      0
    • vilon888回复Huanghui:
      请问nuscenes_packer 打包数据集错误,这个有解决方法了吗??
      2024-10-31
      0
    • Huanghui回复vilon888:
      按着这个帖子做吧:地平线开发者社区
      1. 打包数据集的问题按照上面的帖子做事OK的,验证过的!

      2. 转换bc模型到hbm的时候卡死的问题,上述帖子的步骤也是验证过的,灭有问题。 程序卡死和被KILL目前判断跟机器的配置可能有关,因为模型比较大(编译过程内存、CPU占用比较多),可能会被系统保护性杀死。可以换一个服务器试试。另外提个建议,如果只是尝试编译,可以--opt 0, 这样编译速度快一些,可以早点出结果。当然部署前还是要--opt 3的哈

      2024-10-31
      0
    • vilon888回复Huanghui:

      嗯嗯,opt 0, 1 都可以成功,但是2就会卡死, 3没有这个选项,你确定这版本有3?

      2024-10-31
      0
    • Huanghui回复vilon888:

      哈哈,记成J5的了,hbdk4的compile确实只有O0,O1,O2, opt 0, 1 都可以成功,那O2应该也可以成功的,只是O2进行的编译优化项有点多,一方面比较慢看起来就像是假死,另一方面就像上面我说的优化过程需要的内存、CPU等系统资源较多,系统处于自我保护可能会KILL你的编译进程,换一台配置大一些的服务机就可以啦

      2024-10-31
      0
    • vilon888回复Huanghui:

      了解,,谢谢~~~~

      2024-10-31
      0
    • vilon888回复Huanghui:
      hihi, 我完全按照帖子地平线开发者社区做了,我的原始nuscenes 数据目录严格按照贴子,,但任然报错:

      2024-10-31 05:47:55,174 INFO [nuscenes_dataset.py:2814] Node[0] process sample cef5745a54e24c7a9111d449e336b4ed ...

      Process ForkProcess-2:

      Traceback (most recent call last):

       File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap

        self.run()

       File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run

        self._target(*self._args, **self._kwargs)

       File "/usr/local/lib/python3.10/dist-packages/hat/data/datasets/data_packer.py", line 39, in _read_worker

        raise e

       File "/usr/local/lib/python3.10/dist-packages/hat/data/datasets/data_packer.py", line 34, in _read_worker

        block = packer.pack_data(idx)

       File "/usr/local/lib/python3.10/dist-packages/hat/data/datasets/nuscenes_dataset.py", line 2916, in pack_data

        data_meta = self.dataset[idx]

       File "/usr/local/lib/python3.10/dist-packages/hat/data/datasets/nuscenes_dataset.py", line 2617, in __getitem__

        return self._gen_info(self.samples[index])

       File "/usr/local/lib/python3.10/dist-packages/hat/data/datasets/nuscenes_dataset.py", line 2829, in _gen_info

        self._gen_occ_gt(scene, sample_info)

       File "/usr/local/lib/python3.10/dist-packages/hat/data/datasets/nuscenes_dataset.py", line 2422, in _gen_occ_gt

        occ_labels = np.load(occ_gt_path)

       File "/usr/local/lib/python3.10/dist-packages/numpy/lib/npyio.py", line 390, in load

        fid = stack.enter_context(open(os_fspath(file), "rb"))

      FileNotFoundError: [Errno 2] No such file or directory: '/data/horizon_j6/data/nuscenes_srcdata/nuscenes/occ3d/gts/scene-0273/cef5745a54e24c7a9111d449e336b4ed/labels.npz'

      2024-10-31 05:47:55,275 INFO [nuscenes_dataset.py:2814] Node[0] process sample 2e3374eb19ee46e09fd0fa90281fbc7d ...

      感觉这个pack过程还用到occ 3d的gts, 难道执行这个脚本前,需要执行摸个occ 3d gts生成脚本吗?

      看call stack,这个已经是hat库里面的调用了,

      2024-10-31
      0
    • Huanghui回复vilon888:

      收到,不应该呀,这个是我才跑过一次的!我再看看哈

      2024-10-31
      0
    • vilon888回复Huanghui:

      好的,拜托啦,,从代码来看,确实去找occ3d gt了,但这个是没有的。

      2024-10-31
      0
    • 未见青山老回复vilon888:

      OCC数据下载步骤:

      1. 在README 的 Download 一节,下载对应版本(mini or trainval)的数据。

      2. 将下载的 gts.tar.gz 解压到 nuscene/occ3d 目录下。

      2024-10-31
      0
    • vilon888回复未见青山老:

      非常感谢~~~


      2024-11-01
      0