second.pytorch安装踩坑实录

KITTIVIEW的使用方法(second,pointpiillras的可视化工具) KITTIVIEW的使用方法(second,pointpiillras的可视化工具) 1,修改second.pytorch下的second的子目录 中的kittiview链接。 用下面这段代码替换掉kittiviewer/frontend/index.html. <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="wi 阅读详情

写在前面

下载的时候一定要注意second.pytorch的版本,不然安装完spconv后,尝试Kitti Viewer Web的时候可能会一直报错“cannot import name 'rbbox_intersection'”,附上没有此问题的代码仓库:https://github.com/traveller59/second.pytorch/tree/v1.5.1

后续我又尝试了second.pytorch1.6版本,附上仓库链接:https://github.com/traveller59/second.pytorch,当我安装成功spconv1.2之后准备训练时,总是报错cannot import name 'non_max_suppression' from 'spconv.utils',暂时没有解决办法。。后面又新建conda环境从新来过,pytorch1.3.1,torch0.4.2,开始并不行。报错libcudart.so.9.0: cannot open shared object file: No such file or directory,这里说torchvision版本不对,换成0.2.2,也不行。又pip install torchvision==0.4.2换回来。然后重新clone了仓库,改了改数据路径,居然能跑了。唉,跑吧,反正可以抓耗子了。。。

安装步骤

安装

  1. 克隆代码
    ###如果克隆失败,可以手动进入仓库网址下载,再上传服务器###
    git clone https://github.com/traveller59/second.pytorch/tree/v1.5.1
    cd ./second.pytorch/second
    
    
    ###这里是1.6版本,由于需要使用pointpillars,我又踩了一遍坑
    git clone https://github.com/traveller59/second.pytorch
    cd ./second.pytorch/second
  2. 安装依赖包(对1.6版本和1.5.1版本都是一样的)
    ###如果有Anaconda###
    conda install scikit-image scipy numba pillow matplotlib
    pip install fire tensorboardX protobuf opencv-python
    
    ###如果没有Anaconda###
    pip install numba scikit-image scipy pillow
    pip install fire tensorboardX protobuf opencv-python
  3. 安装spconv
    参考我的博客安装spconv踩坑实录,这里需要注意,如果使用second.pytorch1.6版本,需要安装spconv1.2。second.pytorch1.5.1对应spconv1.0
  4. 设置环境变量(<path_to_second>需要换成你自己second.pytorch1.6版本或者second.pytorch-1.5.1的所在路径)
    export NUMBAPRO_CUDA_DRIVER=/usr/lib/x86_64-linux-gnu/libcuda.so
    export NUMBAPRO_NVVM=/usr/local/cuda/nvvm/lib64/libnvvm.so
    export NUMBAPRO_LIBDEVICE=/usr/local/cuda/nvvm/libdevice
    ###如果用的是1.6版本,添加下面这行
    export PYTHONPATH=<path_to_second>/second.pytorch:$PYTHONPATH
    ###如果用的是1.5.1版本,添加下面这行
    export PYTHONPATH=<path_to_second>/second.pytorch-1.5.1:$PYTHONPATH

     

准备数据集

问题记录

1. ModuleNotFoundError: No module named 'second.core.point_cloud'

在create_data.py中搜索发现并没有用到下面这行导入的bound_points_jit,直接注释掉即可。

#from second.core.point_cloud.point_cloud_ops import bound_points_jit

2.image file is truncated

我下载了kitti 3D目标检测数据集之后,解压的时候发现test集中有一张000683是损坏的,从test.txt中将此序号删除,该编号对应的calib和velodyne中的文件也一并删除,但是删除后仍然报错image file is truncated,参考这里,在create_data.py的开头添加了两行如下,问题解决。

from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True

目录结构

└── KITTI_DATASET_ROOT <-- 在second/data/目录下
       ├── training    <-- 7481 train data
       |   ├── image_2 <-- for visualization
       |   ├── calib
       |   ├── label_2
       |   ├── velodyne
       |   └── velodyne_reduced <-- empty directory
       └── testing     <-- 7517 test data
           ├── image_2 <-- for visualization
           ├── calib
           ├── velodyne
           └── velodyne_reduced <-- empty directory

1.1.5.1版本做如下操作

###创建kitti infos
python create_data.py create_kitti_info_file --data_path=data/KITTI_DATASET_ROOT
###创建reduced point cloud
python create_data.py create_reduced_point_cloud --data_path=data/KITTI_DATASET_ROOT
###创建groundtruth数据库信息
python create_data.py create_groundtruth_database --data_path=data/KITTI_DATASET_ROOT

2.1.6版本做如下操作

python create_data.py kitti_data_prep --root_path=data/KITTI_DATASET_ROOT

3.修改配置信息

second/configs中有每个训练参数文件的配置。打开文件找到下面对应的部分,将数据路径修改成自己的数据路径即可,比如我的是''../data/KITTI_DATASET_ROOT/dataset_infos_train.pkl''。

train_input_reader: {
  ...
  database_sampler {
    database_info_path: "/path/to/dataset_dbinfos_train.pkl"
    ...
  }
  dataset: {
    dataset_class_name: "DATASET_NAME"
    kitti_info_path: "/path/to/dataset_infos_train.pkl"
    kitti_root_path: "DATASET_ROOT"
  }
}
...
eval_input_reader: {
  ...
  dataset: {
    dataset_class_name: "DATASET_NAME"
    kitti_info_path: "/path/to/dataset_infos_val.pkl"
    kitti_root_path: "DATASET_ROOT"
  }
}

尝试Kitti Viewer Web

问题记录

1.如果使用的是1.5.1版本,先修改backend.py中的一行代码,否则会出现加载数据失败的问题。

#将以下代码
app.run(host='127.0.0.1', threaded=True, port=port)
#改为
app.run(host='0.0.0.0', threaded=True, port=port)

2.版本1.6报错RuntimeError: Working outside of request context.根据报错位置,将/home/gye/anaconda3/envs/pointpillars/lib/python3.7/site-packages/werkzeug/local.py的306行return self.__local()的括号去掉

#将return self.__local()改为
return self.__local

 

步骤

  1. 服务器上运行一下命令backend.py(端口号默认是为16666)
    #1.5.1版本运行(端口号默认是16666)
    python backend.py main
    
    #1.6版本运行,1.6暂时有点问题,不能正确显示,搞好了再回来填坑
    python main.py main

  2. 服务器上启动Web服务器
    python -m http.server

  3. 本机连接服务器指定端口(servername和serverIP分别是你的服务器用户名和IP)
    ssh -L xxxx:0.0.0.0:8000 servername@serverIP

  4. 本机浏览器打开网页http://127.0.0.1:16666(不要刷新这个网页,我刷新了一次就崩溃了,然后从头来过。。。)打开界面之后,在右侧输入自己文件所对应的路径,下面是我的路径。
    backend:http://serverIP:16666
    rootPath:/home/gye/PointCloud/objectDetection/second.pytorch-1.5.1/second/data/KITTI_DATASET_ROOT
    infoPath:/home/gye/PointCloud/objectDetection/second.pytorch-1.5.1/second/data/KITTI_DATASET_ROOT/kitti_infos_val.pkl
    load
    DetPath:/home/gye/PointCloud/objectDetection/second.pytorch-1.5.1/second/pytorch/allKindsOutput/results/step_74240/result.pkl
    loadDet
    checkpointPath:/home/gye/PointCloud/objectDetection/second.pytorch-1.5.1/second/pytorch/allKindsOutput/voxelnet-74240.tckpt
    configPath:/home/gye/PointCloud/objectDetection/second.pytorch-1.5.1/second/configs/all.fhd.config
    buildNet
    inference
  5. 路径补全之后,依次点击load等按钮即可。我的在最后inference的时候报了inference fail的错误,但是尝试点击下一张时,能正常显示ground truth和预测框,没有去深究。

附录

另一位博主的全套配置史
https://blog.csdn.net/r1141207831/article/details/103756292

 

 

PointPillar踩坑实录-保姆级Debug教程 PointPillar代码复现环境配置教程 阅读详情

相关推荐

second.pytorch:用于KITTI对象检测的PointPillars

点柱 欢迎来到PointPillars。 此存储库演示了如何通过对现有开放源代码库进行最小的要求更改,来在上重现(将在CVPR 2019上发布)的。 这不是官方的nuTonomy代码库,但可以用于匹配已发布的PointPillars结果。 警告:此代码未得到积极维护。 此代码可用于在论文的第一个版本重现结果。 对于还可以在nuScenes上重现PointPillars结果的主动维护的存储库,我们建议使用 。 我们不是存储库的所有者,但是我们与作者合作并认可了他的代码。 入门 这是的一个分支,此处复制了原始README的相关子集。 代码支持 仅支持python 3.6 +,pytorch 0.4.1+。 代码仅在Ubuntu 16.04 / 18.04上进行了测试。 安装 1.克隆代码 git clone https://github.com/nutonomy/second.pytor

在Linux服务器的Docker上安装PCDet

一、安装步骤: ①设置conda虚拟环境: conda create -n PCDet python=3.6 conda activate PCDet ②下载pytorch1.3和cudatoolkit10.0: conda install pytorch=1.3 torchvision cudatoolkit=10.0 ③测试pytorch是否可用: python import torch print(torch.cuda.is_available()) ④下载spconv1.2 + 刷新一下文件列表:

qq_43430964的博客 979

HDFView安装及使用教程

简介:直接用记事本打开hdf5文件的话,是一团乱码。HDFView是用来查看hdf5文件的软件,可以免费使用,好多人都有闪退的情况,这是因为没有添加环境变量。

qq_43722079的博客 7万+

Kitti数据集可视化

Table of Contents 1. Kitti数据集可视化 1.1. 背景 1.2. 实现 1.3. Kitti Viewer Web 安装使用 1.3.1. 安装cuda和cudnn 1.3.2. 安装Anaconda 1.3.3. 创建并配置conda环境 1.3.4. 安装spconv 1.3.5. 使用Kitti Viewer Web 1Kitti数据集可视化 1.1背景 激光点云的显示没有图片那么直观,对于图像,ubuntu有自带的..

www_minna_com的博客 3299

从零到一:用STM32 FOC算法驯服无刷电机的艺术

本文详细介绍了如何使用STM32和FOC算法实现无刷电机的高性能控制。从硬件搭建、参数识别到闭环调节,一步步解析FOC算法的核心原理与调优技巧,帮助开发者掌握电机控制的关键技术,实现从零到一的精准驯服。

kkk56的博客 910

Python3.11安装fairseq避坑指南:解决dataclasses兼容性问题(附详细代码修改)

本文详细解析了在Python 3.11环境下安装Fairseq时因dataclasses模块规则变更导致的安装失败问题。通过定位核心配置文件,将`default=SomeConfig()`修改为`default_factory=SomeConfig`,并调整依赖版本,提供了从源码修改到环境验证的完整解决方案,确保Fairseq顺利运行。

weixin_29098367的博客 492

安装OpenPCDet遇到的问题

安装OpenPCDet次数较多,总结出的一些错误。

weixin_44013732的博客 9944

快速上手CH340N电路设计(CH340N USB转串口模块 USB Type-C接口 CH340系列芯片讲解)

一、上模块 二、功能分析 l 芯片:CH340N l 输入接口:USB、TYPE-C l 输出接口:TTL(5V\3.3V\GND\TX\RX) l 指示灯:电源、TX、RX 三、CH340x芯片 l CH340 是一个 USB 总线的转接芯片,实现 USB 转串口 l 全速 USB 设备接口,兼容 USB V2.0 l 硬件全双工串口,内置收发缓冲区,支持通讯波特率 50bps~2Mbps l 支持常用的 MODEM 联络信号 RTS、DTR、DCD、RI、DS...

东小东博客 5万+

second.pytorch代码分析(code-framework & tricks)

简述 之所以想写这篇博客,主要原因在于阅读别人的代码时候,首先希望把流程架构弄清楚,然后才方便进行修改。second.pytorch代码量比较大,刚开始拿到时候,我也是一头雾水,硬着头皮往下面去看,配置环境(没有跑起来的建议去下载我的docker镜像,深度学习的利器,避免二次配置软件环境问题),让其跑起来方便调试来进行阅读。话不多说,现在开始进行简要分析一下second.pytorch点云检测这部...

AutoXTruck专栏 4469

光耦选型避坑指南:如何根据CTR参数精准计算输入输出电阻(附24V工业场景实例)

本文深入解析光耦选型核心,聚焦电流传输比(CTR)参数及其衰减特性,提供从输出需求反向推导输入输出电阻的精准计算方法。文章以24V工业场景为例,结合光电耦合器数据手册,详细阐述了如何根据CTR最小值进行降额设计,并给出包含反接保护、TVS管等在内的完整保护电路方案,旨在构建高可靠、长寿命的信号隔离电路,避免因选型或设计不当导致的系统故障。

nept的博客 1030

Ubuntu零基础入门到精通【3.10讲】:旧版本 Ubuntu 升级与迁移路线:从 20.04 到 24.04 的完整实战指南

🏆 本文收录于 《滚雪球学 Ubuntu》 专栏。 本专栏面向有一定计算机基础,但尚未系统学习 Linux / Ubuntu 的读者,采用“滚雪球式学习法”:先装好、再会用、再理解、再优化、再实战,带你从第一次进入 Ubuntu 桌面 / 终端开始,逐步掌握 Ubuntu 的日常使用、命令操作、软件安装、系统配置、开发环境搭建与服务器部署能力。

**My Coding Family** 1227

second.pytorch环境配置记录

简述   second.pytorch代码集成一些3d激光雷达点云的学习算法,关于这方面资料相对较少,主要是3d点云深度学习算法也是这两年才开始发力。学习资料相对单一,本文首先记录自己配置second.pytorch的nvidia-docker环境所踩过的坑,后期会分别写一写当前的3d-lidar点云的深度学习算法。这里,也推荐大家参考second.pytorch的环境配置教程。ok,让我们开始s...

AutoXTruck专栏 9525

ican项目四汽车零件智能测量

ican项目四汽车零件智能测量

weixin_72050316的博客 555

second.pytorch环境配置及训练运行折腾史

申明:本篇博客经过本人亲自实践,以下步骤都是本人亲自走过最后成功运行。在这过程中参考了这一篇博客(https://blog.csdn.net/Small_Munich/article/details/99053921),很感谢这位博主的帮助,也感谢原作者无私分享的程序(https://github.com/traveller59/second.pytorch),在他们的帮助下成功实现了second...

华青水上的博客 1万+

5、快速入门

点击启动实例按钮,并设计一个business key,每个实例会有一个business key, 业务主键,也相当于一个流程实例唯一key,一般会与一次业务强相关,比如一个订单号 ,此处取为shopping_1;付款程序完成后会流转到物流发货任务,此时java工程的相应订阅会收到任务,并进入断点,且读到到toWhere变量。单击shopping可以进入实时流程图的执行图,此时流程流转到第一个任务,需要业务系统完成此任务,并通知引擎。添加类,分别订阅流程中的加入购物车任务和物流发货任务。

leyoliu的博客 3495

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

NVIDIA_Jetson_Xavier安装second.pytorch环境

简述 说起在nvidia的xavier上面安装second.pytorch算法环境,也是醉了。没有什么特别的原因,就是在没有对second.pytorch算法pytorch模型进行tensorrt加速时候,单纯的项测试一下该算法能够跑多少fps,为以后优化过在tensorrt下进行对比。好吧,这个单纯的想法,导致付出时间不少。以此记录下来,避免其它相同需求的同学跨坑。ok,废话不多说,那我们开始遨...

AutoXTruck专栏 4216

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

代码复现 :SECOND pytorch版本 ①

源码: https://github.com/traveller59/second.pytorch 仅支持python 3.6 +,pytorch 1.0.0+。 在Ubuntu 16.04 / 18.04 / Windows 10中进行了测试。我们只关注KITTI数据集。 News 2019-4-1:发布了SECOND V1.6.0 alpha:New Data API,NuScenes支持,PointPillars支持,fp16和multi-gpu支持。 2019-3-21:SECOND V1.5.1

W1995S的博客 1841

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

代码复现 :SECOND pytorch版本 ②

1.下载 KITTI 数据集并首先创建一些目录: … 2.创建KITTI的相关信息: python create_data.py create_kitti_info_file --data_path=KITTI_DATASET_ROOT 3.创建缩减点云(reduced point cloud): python create_data.py create_reduced_point_cloud --data_path=KITTI_DATASET_ROOT 4.创建真值数据库(groundtruth-da

W1995S的博客 1379

SECOND PyTorch 3D目标检测完整指南:从入门到实战

SECOND PyTorch 是一个基于 PyTorch 框架的 3D 物体检测项目,专门针对 KITTI 和 NuScenes 数据集进行优化。这个强大的工具让开发者能够轻松实现高效的 3D 物体检测,特别是在自动驾驶和机器人视觉领域。 ## 🎯 项目核心功能 SECOND PyTorch 提供了完整的 3D 物体检测解决方案,包括: - **高效的体素化处理**:将点云数据转换为规则的

gitblog_01074的博客 1003

second算法复现及可视化记录

numpy.float64 object can’t be interpreted as an integer是因为numpy包版本太高,降低到1.17.0或更低版本即可,在降低numpy版本后,会有些其它包说与底版本的numpy包不适配,将有问题的包降低到与numpy适配的版本即可。spconv1.2文件下载下来后其中/third_party/pybind11的文件夹里是空的,到github上单独下载pybind111,在放到/third_party/pybind11的文件夹里。

jinseyanhuo的博客 2465

second.pytorch 1.6&1.5.1配置实录

参考:traveller59/second.pytorch 环境:

Jad_Goh的博客 791

second.pytorch踩坑

1、生成pkl数据的 --data_path要改为–root_path python create_data.py kitti_data_prep --root_path=KITTI_DATASET_ROOT 2、Kitti Viewer虽然已经弃用了(推荐用Kitti Viewer Web),但是仍可以用,需要修改几个地方: second/kittiviewer/viewer.py中把 from second.core.sample_ops import ( sample_from_databa

Never__Say__No的博客 616

Ubuntu16.04运行second.pytorch和PointPillars(主要记录遇到的问题)

一、环境 Ubuntu16.04 ROS-Kinetic 驱动版本384.130 CUDA:9.0.176 CUDNN:7.6.2 ROS自带 Python:3.5.2 安装版本 Tensorflow-GPU=1.8.0 Pytorch=1.1.0 Anaconda (base)Python3.7 Tensorflow-GPU=1.14.0 Pytorch=1.1.0 torchvision=0....

Doraemon_Zzn的博客 4262

代码阅读 :SECOND pytorch版本

代码量很大。。。 框架 second.pytorch -------- |---images |---second ----|---apex |---torchplus |---builder |---configs |---core

W1995S的博客 1092
上一篇: ubuntu18.04安装spconv踩坑实录
下一篇: ubuntu18.04非管理员用户安装cuda以及cudnn
阿瓜瓜瓜
博客等级 码龄9年 18粉丝 51原创
评论 26
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值