You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ROS2 Humble运行PointPillars推理时遇numpy.float属性错误求助

解决ROS2 Humble下PointPillars推理的AttributeError: module 'numpy' has no attribute 'float'问题

核心原因

numpy从1.20版本开始移除了numpy.float、numpy.int等旧的Python内置类型别名,改用numpy.float64、numpy.int64等明确的类型,而你使用的PointPillars仓库代码(或其依赖的第三方库)仍在调用这些已废弃的别名。

具体修复方案

1. 定位并修改问题代码

  • 从终端报错信息中找到触发错误的文件路径和行号,定位到代码中np.float或numpy.float的调用位置。
  • 将所有numpy.float替换为numpy.float64(原numpy.float实际指向的双精度类型);若业务需要单精度,可改用numpy.float32。
  • 若后续遇到类似的numpy.int错误,同理替换为numpy.int64或numpy.int32。

2. 临时兼容 workaround(无需修改代码)

如果暂时不想改动仓库代码,可在运行节点前设置numpy兼容环境变量:

export NUMPY_EXPERIMENTAL_ARRAY_FUNCTION=0

执行完上述命令后,再启动ROS2节点:

ros2 run lidar_object_detection lidar_publisher_node

注意:此方法仅为临时方案,长期使用可能遇到其他兼容性问题,建议优先修改代码。

3. 对齐依赖库版本

  • 查看PointPillars仓库的requirements.txt文件,确认指定的numpy版本。若要求版本低于1.20,在当前ROS2环境(或Anaconda环境)中安装对应版本:
pip install numpy==1.19.5

确保在目标环境中执行该命令,避免干扰系统全局包。

4. 重新构建并测试

修改代码或调整依赖后,重新构建ROS2包并更新环境变量:

colcon build --packages-select lidar_object_detection
source install/setup.bash

再次运行节点验证问题是否解决。


内容的提问来源于stack exchange,提问作者Abbas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 05:22:08