当前位置: 代码迷 >> 综合 >> 复现pointnet++在windows10+pytorch1.x上的分类,来自课程白勇老师的点云处理精讲
  详细解决方案

复现pointnet++在windows10+pytorch1.x上的分类,来自课程白勇老师的点云处理精讲

热度:21   发布时间:2023-12-24 08:43:10.0

1 序言
  未设置虚拟机和linux环境,使用了anaconda 创建python环境,根据白勇老师的课程进行学习,本人之前未系统学过python,边摸索边学习。后面发现白老师给的代码和视频有一些差别,当然python厉害的同学一眼就能看到,我这个菜鸡记录下来自己复习和学习。
2,配置环境

Anaconda+Pycharm

Cuda10.2

Cudnn(我是默认的安装)

Python3.7

3  准备工作

 3.1打开Annaconda Promt,创建一个虚拟环境专门应用于Pointnet.Pytorch项目的运行。

onda create -n <虚拟环境的名字> python=<版本号>
conda create -n mypytorch python=3.7

3.2 输入activate mypytorch 激活环境  

//安装pytorch环境
conda install pytorch==1.1.0 torchvision==0.3.0 -c pytorch

选择文件夹,克隆代码,我在d盘创建了mypytorch的文件夹

D:
cd mypytorch
git clone https://github.com/yanx27/Pointnet_Pointnet2_pytorch.git

(小插曲之前从gitee上复制代码时,报错,思考了一下,未在环境中链接gitee,哈哈)

3.3 下载数据

从百度网盘下载modelnet40分类数据集文件modelnet40_normal_resampled.zip并放置到data目录下解压后产生文件夹:data/modelnet40_normal_resampled
原始训练命令:

python train_cls.py --model pointnet2_cls_msg --normal --log_dir
pointnet2_cls_msg --batch_size 16

4 开始训练

最开始未认真看,直接丢上去了代码,然后报错,怎么回事?认真看了下命令和复制代码,发现了一些不同。
1, train_cls.py  我下的版本变成了 python train_classification.py

2, aryument 中 --normal 变成了--use_normal

训练命令因此改成了:

python train_classification.py --model pointnet2_cls_msg --use_normal --log_dir=log --batch_size 8

仅仅修改了选择参数,也可以在train_classification.py里面进行修改。
(还在继续,如果出现问题会继续修改)

中间没有发生问题,但是训练模型的时间有点长,我是笔记本rtx2060,使用了8g内存,跑了50个小时。。。

另外课程更新了新的内容:程序更新说明,另外gethub上也对代码进行了说明。如图


测试代码:因为我把log文件夹名设置为了log,在此进行对应。默认名称的文件夹已存在。

python test_classification.py --use_normals --log_dir log

 提示测试完成,结果是0.89
其实我想看分类结果,但是没有显示。课程也没有可视化,倒是netron软件可以对pth文件进行可视化,但是仅仅保存了参数,该软件表示的不是很完整。

 点云分割可以进行可视化,待台式机安装好以后进行实验。windows 和笔记本不适合点云训练。

  相关解决方案