M-3LAB / Real3D-AD

[NeurIPS 2023] Offical code for <Real3D-AD: A Dataset of Point Cloud Anomaly Detection>. A 3D point cloud anomaly detection dataset and benchmark.
106 stars 8 forks source link

关于benchmark测试脚本的报错 #9

Closed lzd-1230 closed 5 months ago

lzd-1230 commented 5 months ago

作者您好, 在debian11下配好环境之后我运行start.sh中在相关地方出现报错

在main_patchcore_fpfh_raw.py等代码中concatenate时候会报错

main_patchcore_fpfh_raw.py

Traceback (most recent call last):
  File "main_patchcore_fpfh_raw.py", line 226, in <module>
    main() 
    ............
  File "main_patchcore_fpfh_raw.py", line 180, in run
    ap_mask = np.concatenate(np.asarray(masks_gt))
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (100,) + inhomogeneous part.

main_patchcore_pointmae.py

INFO:__main__:Computing evaluation metrics.
Traceback (most recent call last):
  File "main_patchcore_pointmae.py", line 210, in <module>
    main()
  .................
  File "main_patchcore_pointmae.py", line 156, in run
    ap_mask = np.concatenate(np.asarray(masks_gt))
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (100,) + inhomogeneous part.

main_reg3dad.py

INFO:__main__:Computing evaluation metrics.
Traceback (most recent call last):
  File "main_reg3dad.py", line 236, in <module>
    main()
  ........
  File "main_reg3dad.py", line 180, in run
    ap_mask = np.concatenate(np.asarray(masks_gt))
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (100,) + inhomogeneous part.

我修改的地方只有在第一次运行的时候找不到 pointmae_pretrain.pth, 然后我将下载下来的权重 pretrain.pth 改名成前者

shirowalker commented 5 months ago

作者您好, 在debian11下配好环境之后我运行start.sh中在相关地方出现报错

在main_patchcore_fpfh_raw.py等代码中concatenate时候会报错

main_patchcore_fpfh_raw.py

Traceback (most recent call last):
  File "main_patchcore_fpfh_raw.py", line 226, in <module>
    main() 
    ............
  File "main_patchcore_fpfh_raw.py", line 180, in run
    ap_mask = np.concatenate(np.asarray(masks_gt))
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (100,) + inhomogeneous part.

main_patchcore_pointmae.py

INFO:__main__:Computing evaluation metrics.
Traceback (most recent call last):
  File "main_patchcore_pointmae.py", line 210, in <module>
    main()
  .................
  File "main_patchcore_pointmae.py", line 156, in run
    ap_mask = np.concatenate(np.asarray(masks_gt))
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (100,) + inhomogeneous part.

main_reg3dad.py

INFO:__main__:Computing evaluation metrics.
Traceback (most recent call last):
  File "main_reg3dad.py", line 236, in <module>
    main()
  ........
  File "main_reg3dad.py", line 180, in run
    ap_mask = np.concatenate(np.asarray(masks_gt))
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (100,) + inhomogeneous part.

我修改的地方只有在第一次运行的时候找不到 pointmae_pretrain.pth, 然后我将下载下来的权重 pretrain.pth 改名成前者

我没有用过debian环境,但看上去不是环境问题。(“这个错误通常是由于试图将一个包含多个元素的序列赋值给一个numpy数组的单个元素所引起的。numpy数组中的每个元素都应该是单个值,而不是多个值组成的序列。”)看上去像是读取文件格式的问题,是不是没有在代码中修改对应的数据集位置呢?或者可能需要单步调试一下,在line 153行"scores_xyz, segmentations_xyz, labels_gt, masks_gt = PatchCore.predict( test_loader )"里面看看是不是在predict的时候返回的结果出现了格式错误的情况。