深度学习-CPGNet部署运行

1、训练代码部署运行
1.1 部署
新建虚拟环境:

conda create --name cpgnet-new python=3.7 

安装依赖:

CUDA==11.3
Pytorch==1.12.1
PyYAML@5.4.1
scipy@1.3.1
nuscenes
pytz
rospkg
pyquaternion
opencv-python
scikit-learn
matplotlib
tqdm
cachetools

编译安装c++代码:

python3 setup.py install

1.2 运行
准备工作:
config_cpgnet_sgd_bili_sample_ohem_fp16.py中pretrain_epoch根据实际情况修改,如下所示,没有预训练模型,所以设为0:

class pretrain:
   pretrain_epoch = 0

cpgnet.py中下图所示代码解注释:
请添加图片描述下图所示代码注释:
请添加图片描述
执行以下指令开始训练:

python train.py --config config/config_cpgnet_sgd_bili_sample_ohem_fp16.py

2、python运行测试
single_infernece.py文件中修改配置文件路径、模型路径及拼接点云话题:

config_path = 'config/config_cpgnet_sgd_bili_sample_ohem_fp16.py'
model_path = 'experiments/config_cpgnet_sgd_bili_sample_ohem_fp16/checkpoint/47-model.pth'
sub_lidar_topic = "/merge_pointcloud"

single_infernece.py中解注释:

# np_p = get_xyz_points(msg_cloud, True)
# resample
# 不验证trt模型时解注释
# choice = np.random.choice(np_p.shape[0], 30000, replace=True)
# np_p = np_p[choice]

single_infernece.py中注释:

test_data_path='/home/mdj/data/sm_stone_label_data/bin/002457.bin'
np_p = np.fromfile(test_data_path, dtype=np.float32).reshape(-1,4)[:, :4]
# 验证trt模型使用
np_p = np_p[:30000]

执行以下指令开始运行测试:

roscore
cd ~/data/jidong/carmo_02/stone/
rosbag play front_lidar_pinglu_stone.bag
cd ~/catkin_ws/pointcloud_merge
source install/setup.bash
roslaunch launch/carmo.launch
python single_infernece.py

3、onnx代码运行
cpgnet.py中下图所示代码注释:
请添加图片描述下图所示代码解注释:
请添加图片描述
export_onnx.py文件中修改配置文件路径、模型路径:

config_path = 'config/config_cpgnet_sgd_bili_sample_ohem_fp16.py'
model_path = 'experiments/config_cpgnet_sgd_bili_sample_ohem_fp16/checkpoint/47-model.pth'

执行以下指令开始导出onnx:

pytthon export_onnx.py

4、TensorRT代码部署运行
4.1 部署
安装依赖:
TensorRT-8.6.0.12
编译:

cd ~/catkin_ws/CPGNet/c++_inference/
catkin_make install

4.2 运行

cd ~/data/jidong/carmo_02/stone/
rosbag play front_lidar_pinglu_stone.bag
cd ~/catkin_ws/CPGNet/c++_inference/
source install/setup.bash
roslaunch launch/carmo.launch

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/739332.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

振弦式渗压计:土壤力学与地下水流动研究的关键工具

当谈论到地下水流动和土壤力学时,振弦式渗压计是一种至关重要的工具。这篇文章将探讨振弦式渗压计的原理、工作方式以及其在土壤力学和地下水流动研究中的重要性。 振弦式渗压计的原理 振弦式渗压计利用了振动传感器和压力传感器的组合来测量土壤中的水压力。其基本…

Python数据分析-二手车价格预测分析

一、研究背景 随着我国的机动车数量不断增长,人均保有量也随之增加,机动车以“二手车”形式在流通环节,包括二手车收车、二手车拍卖、二手车零售、二手车置换等环节的流通需求越来越大。二手车作为一种特殊的“电商商品”,因为其…

nacos的创建

nacos压缩包 链接:https://pan.baidu.com/s/1AYVKZvosDkcMMbTIB48Iew?pwd1234 提取码:1234 首先将下载好的nacos压缩包上传到linux环境中,然后解压缩(解压缩命令) tar -zxvf nacos-server-2.3.0.tar.gz解压成功后如…

美的集团员工自爆工资+年终奖收入明细,网友说:这待遇,老婆根本不让跳槽!...

发现需求:研究与实践是关键 在任何领域,只要深入研究,就会发现无数的需求。如果没有发现需求,那只能说明对行业的了解还不够透彻。学校通过考试发现学生的问题,职场上也一样,通过不断实践发现问题。理论知识…

[职场] 提升学历考研再就业有必要吗 #其他#知识分享

提升学历考研再就业有必要吗 有很多人觉得自己学历不够高,求职第一关可能就通过不了。因此想要继续攻读,最近有人问小编提升学历考研有必要吗?“硕士学历和三年的工作经验哪个更重要?” 这个还是要针对具体岗位而言。综合类型的岗位往往不需…

OpenSSL命令手册

正文共:999 字 10 图,预估阅读时间:1 分钟 我们前面编译安装了OpenSSL命令工具(CentOS编译安装OpenSSL 3.3.1),这是一个强大的安全套接字层密码库,可以用于实现各种加密和认证协议,如…

工程文档CAD转换必备!在 Java 中将 DWG 转换为 JPG

Aspose.CAD 是一个独立的类库,以加强Java应用程序处理和渲染CAD图纸,而不需要AutoCAD或任何其他渲染工作流程。该CAD类库允许将DWG, DWT, DWF, DWFX, IFC, PLT, DGN, OBJ, STL, IGES, CFF2文件、布局和图层高质量地转换为PDF和光栅图像格式。 Aspose AP…

金融行业专题|某头部期货基于 K8s 原生存储构建自服务数据库云平台

为了进一步提升资源交付效率,不少用户都将数据库应用从物理环境迁移到容器环境。而对于 Kubernetes 部署环境,用户不仅需要考虑数据库在性能方面的需求,还要为数据存储提供更安全、可靠的高可用保障。 近期,某头部期货机构基于 S…

HTML静态网页成品作业(HTML+CSS)——家乡泉州介绍网页(3个页面)(表格布局)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,table布局,未使用Javacsript代码,共有3个页面。…

想拥有一个独一无二的AI人物?Lora炼丹训练模型教程来啦

之前答应过大家放出来的Lora本地训练教程,终于写好啦。 会训练lora,代表着你可以生成属于你的独一无二的角色。 你可以让这个角色在各种不同背景的地方出现,可以让它摆出各种姿势,满足你的无限幻想。 还有的商家,用…

24.6.16

星期一: 补cf global round26 C2 cf传送门 思路:有效操作2只有一次,且反转后不会再出现负数,即后面能贡献 2^n-i个方案,再乘上前面 2^(k>0的次数) 代码如下&…

Linux源码阅读笔记05-进程优先级与调度策略-实战分析

基础知识 Linux 内核当中有 3 种调度策略: SCHED_OTHER 分时调度策略;SCHED_FIFO 实时调度策略,先到先服务;SCHED_RR 实时调度策略,时间片轮转。 如果有相同优先级的实时进程(根据优先级计算的调度权值是…

用一个实例看如何分享大量照片 续篇一

继续上篇的实例分享,在此罗列一些应该注意的细节,以便在下次可以更加省时省力。 最重要的是呈现构想,如按活动/主题、班级/板块、地区/国家等等,这些都应该事先计划好,事后改动工作量巨大,因为太容易出错&a…

redis高可用-主从同步

目录 一:背景 二:实现方式 三:实际使用 一:背景 上一节我们介绍了centos下redis下的安装配置,是在单台服务器部署一个redis服务,这种模式是单机模式下使用的,如果出现服务故障,re…

windows11关闭microsoft defender实时保护后会自动打开,怎么不让他打开

Windows 11中关闭Microsoft Defender的实时保护 打开windows安全中心 --> 点击病毒和威胁防护 --> 点击管理设置 -->关闭实时保护 单关闭后系统可能会在一段时间后自动重新开启以确保系统安全。如果你确实需要永久关闭实时保护,可以尝试以下方法。但请注…

RecyclerVIew->加速再减速的RecyclerVIew平滑对齐工具类SnapHelper

XML文件 ItemView的XML文件R.layout.shape_item_view <?xml version"1.0" encoding"utf-8"?> <FrameLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"100dp"android:layout_heig…

199.罗马数字转整数(力扣)

代码解决 class Solution { public:// 定义一个哈希表来存储罗马数字符号及其对应的整数值unordered_map<char, int> res {{I, 1},{V, 5},{X, 10},{L, 50},{C, 100},{D, 500},{M, 1000},};// 将罗马数字字符串转换为整数的函数int romanToInt(string s) {int num 0; …

【golang学习之旅】Go中的变量——基本数据类型(2)

系列文章 【golang学习之旅】使用VScode安装配置Go开发环境 【golang学习之旅】报错&#xff1a;a declared but not used 【golang学习之旅】Go 的基本数据类型 【golang学习之旅】深入理解字符串string数据类型 【golang学习之旅】go mod tidy 【golang学习之旅】记录一次 p…

pdf压缩大小,PDF压缩大小不影响清晰度

你是否曾为PDF文件过大而烦恼&#xff1f;想要分享或上传文件时&#xff0c;却因为它的体积而束手无策&#xff1f;别担心&#xff0c;今天我将为大家分享一些简单实用的 PDF 压缩技巧&#xff0c;让你的文件轻松压缩pdf。 打开“轻云处理pdf官网”&#xff0c; 的网站。然后上…