pointnet++复现
首先修改代码中所有错误,与自己的python和tensorflow适配,导入该导入的包,其中provider和eulerangles和plyfile都在utils文件下或者pointnet-master的代码中
修改tf_ops中的文件:参考第一篇与第二篇
注意:报错
/usr/bin/ld: cannot find -ltensorflow_framework,collect2: error: ld returned 1 exit status。
应该是没有修改sh文件时未能找到/usr/…/ltensorflow_framework这个路径
解决方法:
我是用的云服务器,将sh文件中的-ltensorflow_framework修改为-l:libtensorflow_framework.so.1
有的人可能是要改成-libtensorflow_framework
然后运行
cd tf_ops/sampling
sh tf_sampling_compile.sh
cd tf_ops/grouping
sh tf_grouping_compile.sh
cd tf_ops/d_interpolation
sh tf_interpolate_compile.sh
进入环境
conda activate tf
训练
cd autodl-nas/pointnet2-master
CUDA_VISIBLE_DEVICES=0 python train.py
报错
tensorflow.python.framework.errors_impl.NotFoundError: /root/autodl-nas/pointnet2-master/tf_ops/sampling/tf_sampling_so.so: undefined symbol: _ZN10tensorflow12OpDefBuilder4AttrESs
将sh文件中的-D_GLIBCXX_USE_CXX11_ABI=0改为1
再运行.sh文件
cd tf_ops/sampling
sh tf_sampling_compile.sh
cd tf_ops/grouping
sh tf_grouping_compile.sh
cd tf_ops/d_interpolation
sh tf_interpolate_compile.sh
训练结果可视化
tensorboard --logdir=log#这里要指定日志文件夹名字,因为默认似乎是logs,但是pointnet++分类训练生成的日志文件名为log
系统架构图
训练后验证结果
CUDA_VISIBLE_DEVICES=0 python evaluate.py --num_votes 12
可视化(此步骤无需gpu)
在utils文件下
sh compile_render_balls_so.sh
python show3d_balls.py
获得可视化结果
pointnet++复现相关推荐
- PointNet复现
PointNet复现 设备及运行环境基本情况: (1)硬件:ThinkPad P53移动图像工作站,CORE i7 -9850H 32G内存,显卡为NVIDIA Quadro T2000 4G : ( ...
- Pointnet++复现流程及问题解决
复现流程 1.通过github下载pointnet++的包; 2.以分类为例,在pointnet2-master目录下新建data文件夹,将modelnet40_ply_hdf5_2048数据集解压到 ...
- Pytorch1.7复现PointNet++点云分割(含Open3D可视化)(文末有一个自己做的书缝识别项目代码)
毕设需要,复现一下PointNet++的对象分类.零件分割和场景分割,找点灵感和思路,做个踩坑记录. 下载代码 https://github.com/yanx27/Pointnet_Pointne ...
- 点云网络的论文理解(一)-点云网络的提出 PointNet : Deep Learning on Point Sets for 3D Classification and Segmentation
1.摘要 1.1逐句翻译 Point cloud is an important type of geometric data structure. 点云是一种重要的数据结构. Due to its ...
- 点云网络的论文理解(二)- PointNet的pytorch复现
1.了解PointNet 为了更好的复现这个东西我们需要先了解这个东西,先把原文给出的图片放在这里,之后我们再一点点理解. 1.1点云的特点 1.1.1无序性:也就是说这个点的先后顺序和实际上是什么无 ...
- Pytorch:复现PointNet
文章目录 一.[点云分类]和[部件分割]: 1.1 复现结果展示 1.2 复现过程 1.3 复现过程中遇到的问题 1.3.1 分类遇到的问题 1.3.2 分类可视化(检验)遇到的问题 1.3.3 部件 ...
- 基于pointnet的3D物体分类和分割检测(复现不出来你直接敲我家门)
录 前言 一.资料下载 1.代码下载 2.数据集下载 二.环境配置 1.本文采用设备配置说明 2.虚拟环境配置 三.训练部分 1.分类训练部分 2.分割的训练部分 四.预测部分 1.分类结果展示 2. ...
- PointNet系列代码复现详解(1)—PointNet分类部分
想尽快入门点云,因此就从这个经典的点云处理神经网络开始.源码已经有了中文注释,但在一些对于自己不理解的地方添加了一些注释.欢迎大家一起讨论. 代码是来自github:GitHub - yanx27/P ...
- Python-Point Cloud 系列(二)——PointNet论文复现
文章目录 Point Net 介绍 网络结构 旋转变换矩阵 源码解析(详细) 源码下载 源码目录结构 PointNet.py ModelNetDataLoader.py 复现程序 原文数据集下载 其他 ...
最新文章
- 做好十足准备面字节跳动,五面都过了,HR告诉我这个原因我被刷了...
- 如何以类似JSON的格式打印圆形结构?
- php不是预定义超全局变量,五、PHP知识核心 预定义变量(超全局变量/数组)
- 几个常见的Python面试题分享,帮你顺利求职
- javascript中动态添加事件
- Junit单元测试学习笔记(一)
- redis大幅性能提升之使用管道(PipeLine)和批量(Batch)操作
- 完整的 .NET Core 目标框架的预处理器符号列表
- g120xa变频器调试参数_西门子G120XA变频器如何进行快速调试
- node.js 学习
- 综述 | 注意力机制
- Android 使用字符串动态获取资源ID
- 【论文翻译】卷积神经网络图像风格转移 Image StyleTransfer Using Convolutional Neural Networks
- 【Spring-tx】事务逻辑
- 数字信号的增益matlab,如何控制多频带滤波器通带增益?
- 生成doc和docx教程
- sql server 2008 r2 “远程过程调用失败“解决方案
- 电脑更换硬盘应该注意什么?
- PCIe | 基础知识点扫盲
- 使用RootTools实现对Android系统文件的读写