Pointnet++环境配置(Windows11和ubuntu)及训练教程

本文使用的是Pytorch版本的Pointnet++代码,主要包含完整的环境配置及训练过程,包括在训练时遇到的坑。

目录

1.Windows11环境配置

2.Ubuntu环境配置

3.训练教程

         3.1分类(Classification)训练

3.2零件分割(Part Segmentation)训练

3.3场景分割(Semantic Segmentation)训练


代码地址

1.Windows11环境配置

这里主要是pytorch的安装比较重要,其他的包没有太多的限制。

我的电脑配置:

系统:Windows11  处理器:R7000P   显卡:3060

由于是Windows系统,可以不安装cuda和cudnn,使用anaconda来安装GPU版本的pytorch即可。

anaconda的深度学习环境信息如下:

Python版本:3.7

torch版本:1.11.0+cuda11.3(通过官方命令安装,教程比较多,就不放命令了)

其他安装包版本信息:

absl-py                      1.3.0
antlr4-python3-runtime       4.9.3
astunparse                   1.6.3
attr                         0.3.2
attrs                        22.1.0
backcall                     0.2.0
brotlipy                     0.7.0
cachetools                   5.2.0
certifi                      2022.9.24
cffi                         1.15.1
charset-normalizer           2.0.4
colorama                     0.4.6
coloredlogs                  15.0.1
commonmark                   0.9.1
coremltools                  6.1
cryptography                 38.0.1
cvms                         0.1.1
cycler                       0.11.0
decorator                    5.1.1
einops                       0.6.0
fairscale                    0.4.6
filelock                     3.9.0
flatbuffers                  1.12
fonttools                    4.38.0
gast                         0.4.0
gitdb                        4.0.10
GitPython                    3.1.31
google-auth                  2.14.0
google-auth-oauthlib         0.4.6
google-pasta                 0.2.0
grpcio                       1.50.0
h5py                         3.8.0
huggingface-hub              0.12.0
humanfriendly                10.0
idna                         3.4
imageio                      2.31.2
importlib-metadata           5.0.0
ipython                      7.34.0
jedi                         0.18.1
keras                        2.9.0
Keras-Preprocessing          1.1.2
kiwisolver                   1.4.4
libclang                     14.0.6
lxml                         4.9.3
Markdown                     3.4.1
MarkupSafe                   2.1.1
matplotlib                   3.5.3
matplotlib-inline            0.1.6
mkl-fft                      1.3.1
mkl-random                   1.2.2
mkl-service                  2.4.0
mpmath                       1.2.1
networkx                     2.6.3
numpy                        1.21.5
oauthlib                     3.2.2
omegaconf                    2.3.0
onnx                         1.12.0
onnx-simplifier              0.4.0
onnxruntime                  1.13.1
onnxruntime-gpu              1.12.0
onnxsim-no-ort               0.4.0
opencv-python                4.6.0.66
opt-einsum                   3.3.0
packaging                    20.9
pandas                       1.3.5
parso                        0.8.3
pickleshare                  0.7.5
Pillow                       9.2.0
pip                          22.2.2
prompt-toolkit               3.0.32
protobuf                     3.20.0
psutil                       5.9.4
pyasn1                       0.4.8
pyasn1-modules               0.2.8
pycparser                    2.21
Pygments                     2.13.0
pyOpenSSL                    22.0.0
pyparsing                    3.0.9
pyreadline                   2.1
PySocks                      1.7.1
python-dateutil              2.8.2
pytz                         2022.6
PyWavelets                   1.3.0
PyYAML                       6.0
requests                     2.28.1
requests-oauthlib            1.3.1
rich                         12.6.0
rsa                          4.9
scikit-image                 0.19.3
scikit-learn                 0.19.2
scipy                        1.7.3
seaborn                      0.12.1
setuptools                   63.2.0
six                          1.16.0
smmap                        5.0.0
sympy                        1.10.1
tensorboard                  2.9.0
tensorboard-data-server      0.6.1
tensorboard-plugin-wit       1.8.1
tensorflow                   2.9.0
tensorflow-estimator         2.9.0
tensorflow-hub               0.12.0
tensorflow-intel             2.11.0
tensorflow-io-gcs-filesystem 0.27.0
tensorflowjs                 3.19.0
termcolor                    2.1.0
thop                         0.1.1.post2209072238
tifffile                     2021.11.2
timm                         0.6.12
torch                        1.11.0
torchaudio                   0.11.0
torchsummary                 1.5.1
torchvision                  0.12.0
tqdm                         4.64.1
traitlets                    5.5.0
typing_extensions            4.3.0
urllib3                      1.26.12
wcwidth                      0.2.5
Werkzeug                     2.2.2
wheel                        0.37.1
win-inet-pton                1.1.0
wincertstore                 0.2
wrapt                        1.14.1
zipp                         3.10.0

2.Ubuntu环境配置

1.显卡:华硕 ATS GeForce RTX4070-o12G-GAMING



 20.04  显卡驱动版本:NVIDIA-Linux-x86_64-535.129.03.run

cuda :

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

cudnn:

cudnn-linux-x86_64-8.9.5.30_cuda11-archive

通过anaconda配置的环境,在官网找的命令安装的,版本是2.1.0+cu118

在ubuntu中cuda版本要完全对应才能用,比如我的全是11.8版本。

其他安装包版本:

absl-py                 2.0.0
asttokens               2.4.1
backcall                0.2.0
Brotli                  1.0.9
cachetools              5.3.2
certifi                 2023.7.22
charset-normalizer      3.3.2
contourpy               1.1.1
cycler                  0.12.1
decorator               5.1.1
einops                  0.7.0
executing               2.0.1
filelock                3.9.0
fonttools               4.44.3
fsspec                  2023.12.2
gmpy2                   2.1.2
google-auth             2.25.2
google-auth-oauthlib    1.0.0
grpcio                  1.60.0
huggingface-hub         0.19.4
idna                    3.4
importlib-metadata      7.0.1
importlib-resources     6.1.1
ipython                 8.12.3
jedi                    0.19.1
Jinja2                  3.1.2
kiwisolver              1.4.5
Markdown                3.5.1
MarkupSafe              2.1.1
matplotlib              3.7.4
matplotlib-inline       0.1.6
mkl-fft                 1.3.1
mkl-random              1.2.2
mkl-service             2.4.0
mpmath                  1.3.0
networkx                3.1
numpy                   1.24.3
oauthlib                3.2.2
olefile                 0.46
opencv-python           4.8.1.78
packaging               23.2
pandas                  2.0.3
parso                   0.8.3
pexpect                 4.9.0
pickleshare             0.7.5
Pillow                  8.2.0
pip                     23.3
prompt-toolkit          3.0.43
protobuf                3.20.0
psutil                  5.9.6
ptyprocess              0.7.0
pure-eval               0.2.2
pyasn1                  0.5.1
pyasn1-modules          0.3.0
pycocotools             2.0.7
Pygments                2.17.2
pyparsing               3.1.1
PySocks                 1.7.1
python-dateutil         2.8.2
pytz                    2023.3.post1
PyYAML                  6.0.1
requests                2.31.0
requests-oauthlib       1.3.1
rsa                     4.9
safetensors             0.4.1
scipy                   1.10.1
seaborn                 0.13.0
setuptools              68.0.0
six                     1.16.0
stack-data              0.6.3
sympy                   1.11.1
tensorboard             2.14.0
tensorboard-data-server 0.7.2
thop                    0.1.1.post2209072238
timm                    0.9.12
torch                   2.1.0+cu118
torchaudio              2.1.0+cu118
torchvision             0.16.0+cu118
tqdm                    4.66.1
traitlets               5.14.0
triton                  2.1.0
typing_extensions       4.8.0
tzdata                  2023.3
urllib3                 2.1.0
wcwidth                 0.2.12
Werkzeug                3.0.1
wheel                   0.41.2
zipp                    3.17.0

3.训练教程
3.1分类(Classification)训练

数据下载:下载ModelNet到data/modelnet40_normal_resampled/​​​​​​​

训练命令:我使用的pycharm,直接在pycharm中打开终端,运行命令

# ModelNet40
## Select different models in ./models ## e.g., pointnet2_ssg without normal features
python train_classification.py --model pointnet2_cls_ssg --log_dir pointnet2_cls_ssg
python test_classification.py --log_dir pointnet2_cls_ssg## e.g., pointnet2_ssg with normal features
python train_classification.py --model pointnet2_cls_ssg --use_normals --log_dir pointnet2_cls_ssg_normal
python test_classification.py --use_normals --log_dir pointnet2_cls_ssg_normal## e.g., pointnet2_ssg with uniform sampling
python train_classification.py --model pointnet2_cls_ssg --use_uniform_sample --log_dir pointnet2_cls_ssg_fps
python test_classification.py --use_uniform_sample --log_dir pointnet2_cls_ssg_fps# ModelNet10
## Similar setting like ModelNet40, just using --num_category 10## e.g., pointnet2_ssg without normal features
python train_classification.py --model pointnet2_cls_ssg --log_dir pointnet2_cls_ssg --num_category 10
python test_classification.py --log_dir pointnet2_cls_ssg --num_category 10
3.2零件分割(Part Segmentation)训练

数据准备:下载ShapeNet 到data/shapenetcore_partanno_segmentation_benchmark_v0_normal/

训练命令:

python train_partseg.py --model pointnet2_part_seg_msg --normal --log_dir pointnet2_part_seg_msg
python test_partseg.py --normal --log_dir pointnet2_part_seg_msg
3.3场景分割(Semantic Segmentation)训练

数据准备:下载S3DIS到data/s3dis/Stanford3dDataset_v1.2_Aligned_Version/

cd data_utils
python collect_indoor3d_data.pypython train_semseg.py --model pointnet2_sem_seg --test_area 5 --log_dir pointnet2_sem_seg
python test_semseg.py --log_dir pointnet2_sem_seg --test_area 5 --visual

PS:前两行命令是数据处理的命令,主要是进行数据读取和生成相应的训练数据格式,在Ubuntu上是正常运行的,在Windows上运行会失败,无法生成训练用的数据格式,所以最好在Ubuntu上训练,如果一定要用Windows,可以ubuntu上生成数据格式在导到Windows上,数据生成不需要安装torch

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode中shell题解

常见的shell awk用法 # grades.txt 如下:Alice 85 Bob 92 Charlie 78 Alice 90 Bob 88# awk程序 {name $1score $2sum[name] scorecount[name] }END {for (name in sum) {avg sum[name] / count[name]printf "学生 %s 的平均分是 %.2f\n", name, av…

中科亿海微UART协议

引言 在现代数字系统设计中,通信是一个至关重要的方面。而UART(通用异步接收器/发送器)协议作为一种常见的串行通信协议,被广泛应用于各种数字系统中。FPGA(现场可编程门阵列)作为一种灵活可编程的硬件平台…

个体诊所软件方案,农村医疗服务站社区门诊电子处方管理系统软件教程

个体诊所软件方案,农村医疗服务站社区门诊电子处方管理系统软件教程 一、软件程序问答 1、处方单软件有病历汇总吗 如下图,软件以 佳易王电子处方软件V17.2版本为例说明 点击 病历汇总统计 按钮, 可以按明细查询或病历汇总查询&#xf…

基于JavaWeb实验室预约管理系统(源码+数据库+文档)

一、项目简介 本项目是一套基于JavaWeb实验室预约管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,e…

rime中州韵 help lua Translator

lua 是 Rime中州韵/小狼毫输入法强大的武器,掌握如何在Rime中州韵/小狼毫中使用lua,你将体验到什么叫 随心所欲。 先看效果 在 rime中州韵 输入效果一览 中的 👇 help效果 一节中, 我们看到了在Rime中州韵/小狼毫输入法中输入 h…

cpu优化方法

如何看谁拉高了cpu? cpu高的时候有没有抓到进程threadtop,从threadtop找到top 3线程和正常场景对比一下就知道是否有异常对明显有异常的线程,看下是否抓到simplerperf trace或systrace,从trace中找到高频调用栈是否异常如果没有…

力扣133. 克隆图

深度优先遍历 思路: 使用一个哈希表存储已经被克隆过的节点,key 为原节点,value 为克隆的节点;从原节点开始遍历,如果已经被克隆过,则回到其克隆节点;否则,克隆该节点,并…

常见位运算模板方法总结(包含五道例题)

哈喽大家好&#xff0c;今天博主给大家带来算法基础常见位运算的模板&#xff0c;可以说大家遇到的百分之九十与位运算有关的题都可以用得上。话不多上我们上干货&#xff1a; 一.基础位运算符 << 左移运算符 >> 右移运算符 ~ 取反 & 与运算 | …

八股文打卡day18——操作系统(1)

面试题&#xff1a;进程和线程的区别&#xff1f; 我的回答&#xff1a; 1.概念上。进程是系统进行资源分配和调度的基本单位。线程是系统进行运算调度的最小单位。线程是进程的子任务&#xff0c;一个进程至少包含一个线程&#xff0c;一个进程可以运行多个线程&#xff0c;…

【Linux--多线程同步与互斥】

目录 一、线程互斥1.1相关概念介绍1.2互斥量mutex1.3互斥量接口1.3.1初始化互斥量1.3.2销毁互斥量1.3.3互斥量加锁1.3.4互斥量解锁1.3.5使用互斥量解决上面分苹果问题 1.4互斥原理 二、可重入与线程安全2.1相关概念2.2常见线程不安全的情况2.3常见不可重入的情况2.4 可重入与线…

PiflowX组件-JDBCWrite

JDBCWrite组件 组件说明 使用JDBC驱动向任意类型的关系型数据库写入数据。 计算引擎 flink 有界性 Sink: Batch Sink: Streaming Append & Upsert Mode 组件分组 Jdbc 端口 Inport&#xff1a;默认端口 outport&#xff1a;默认端口 组件属性 名称展示名称默…

获奖、买房、出课、维权、购车,我的2023年度总结。

时光如水&#xff0c;岁月如梭。一个典型的小学语文作文的开头。 但是随着年龄的增长&#xff0c;越来越觉得时间过得真的很快啊。转眼间2023年就这么过去了。回看这一年&#xff0c;发现真的做了很多事。 按照惯例&#xff0c;做个总结吧。 获奖 很多人都知道&#xff0c;我去…

百度高级Java面试真题

今年IT寒冬&#xff0c;大厂都裁员或者准备裁员&#xff0c;作为开猿节流主要目标之一&#xff0c;我们更应该时刻保持竞争力。为了抱团取暖&#xff0c;林老师开通了《知识星球》&#xff0c;并邀请我阿里、快手、腾讯等的朋友加入&#xff0c;分享八股文、项目经验、管理经验…

Spring04

一、AOP的概念 AOP 为 (Aspect Oriented Programming) 的缩写&#xff0c;意为&#xff1a;面向切面编程&#xff0c;底层是使用动态代理的技术实现对目标方法的增强和控制访问等功能。 其中AOP中有几个重要的概念: 1、通知:增强的逻辑&#xff0c;或者后期要加入的代码。 2、目…

【js】js解析Token:

一、效果&#xff1a; 二、实现&#xff1a; export function getTokenObject(token) {//通过split()方法将token转为字符串数组,数组中的第二个字符进行解析return token ? JSON.parse(decodeURIComponent(escape(window.atob(token.split(".")[1].replace(/-/g &…

docker Mysql-udf-http

1.Mysql-udf-http镜像已上传到dockerhub中 docker pull heidaodageshiwo/mysql-udf-http:v1 2.启动镜像(默认密码root1234) docker run -tid -p 3306:3306 --namemysql-udf-http --privilegedtrue heidaodageshiwo/mysql-udf-http:v1 3.命令 [rootlocalhost ~]# docker im…

odoo17 | 开发环境设置

前言 开始odoo17开发之前&#xff0c;请先掌握python的基本语法和工具包的使用&#xff0c;以及postgres数据库的安装&#xff0c;和简单的sql使用。以及一些前端的html、css、javascript等前端知识&#xff0c;以及xml、json等数据传输的使用。 本教程同时适用于odoo15-17 …

C++判定终端ip和目标ip是否在同一局域网内

程序如下&#xff1a;用于判断给定的终端 IP、子网掩码和目标 IP 是否在同一局域网内。请注意&#xff0c;这个程序假设 IP 地址是用整数表示的。 #include <iostream> #include <sstream> #include <vector> #include <bitset>// Function to check …

《微信小程序开发从入门到实战》学习六十八

6.6 网络API 6.6.1 网络API 使用wx.request接口可以发起网络请求。该接口接受一个Object参&#xff0c;参数支持属性如下所示&#xff1a; url(必填)&#xff1a;开发者服务器地址 data&#xff1a;请求的参数&#xff0c;类型为string/object/ArrayBuffer header&#xf…

go语言语法基础

文章目录 前言一、输入和输出常用的字符串格式化符号 二、注释三、Go常用基本语言数据类型数字类型布尔类型字符类型变量与常量数组和切片数组切片 map类型创建map增删改查特别提醒 指针 四、运算符五、条件判断语句if系列switch六、循环语句for循环标准写法死循环while循环do …