服务器的IP地址和用户名密码
服务器IP地址:47.112.147.126  
用户名:root
密码:XXXXXXXXX
一) 开通阿里云后首先查看是否有cuda和cudnn环境
1、查看cuda版本?
cat /usr/local/cuda/version.txt
2、查看cudnn版本?
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR ­A 2
3、跑我们的模型代码:看如下这个文件放在哪个目录下
python3.6 ~/pointcloud/pointSIFT­
master/train_and_eval_scannet.py
二)上传数据
1.把模型的zip文件和我们自己的scannet_train.pickle和
scannet_test.pickle文件上传到服务器的根目录:
下面红色部分的路径改为自己的路径
scp ­r /Users/wangzhiqiang/Desktop/pointcloud/pointSIFT­
master.zip root@47.112.98.141:/
2.也可以用shell和xftp上传速度会比这个快、按下图连接服务器

AI人工智能-点云分割算法项目之pointsift环境搭建和编译文档_多测师

AI人工智能-点云分割算法项目之pointsift环境搭建和编译文档_深圳多测师_02

三)接下来的任务安排:
任务一:
看下模型的输出、就是预测的、点云和label  的数组在哪里(是哪个函数的输
出) == 已确定evaluate_one_epoch这个函数可以完成
任务二:
1、需要熟悉网络结构   ­­ 正在进行当中
2、了解模型初调阶段,loss值下降到什么程度认为是收敛的,了解自己的数据
集npoint 设置
2、模型网络的输入和输出,原理,可以调整的参数
3、把代码自带数据集跑 16batch_size,50个epoch、看loss下降
任务三:test.py
这个测试集,就好比我们现在验证模型用的scannet_data_pointnet2数据
集,  真实数据集是我提供的las数据集。
这个"测试集",和"训练集和测试集"里面测试集有区别。   我说的测试集,是评
价训练好的模型效果的
test代码一般会返回1个评价指标  IOU、accuracy 之类。   它这个说的"测试
集",是说是测试用的数据,不是正式数据。
四)项目部署之修改配置文件和编译
一、先查看TensorFlow和Python的路径
(rapids) root@iZwz9ios3psx4j85ire2ypZ:~/pointcloud/pointSIFT­
master/tf_utils/tf_ops# find ~/ ­name tensorflow*
/root/anaconda3/envs/rapids/lib/python3.6/site­packages/tensorflow
如下为Python的路径:
(rapids) root@iZwz9ios3psx4j85ire2ypZ:~/pointcloud/pointSIFT­
master/tf_utils/tf_ops/grouping# which python3.6
/root/anaconda3/envs/rapids/bin/python3.6

AI人工智能-点云分割算法项目之pointsift环境搭建和编译文档_深圳多测师_03

二、进入~/pointcloud/pointSIFT­
master/tf_utils/tf_ops/grouping改配置文件:
需要改4个地方的路径:都需要生成so文件
1、(rapids) root@iZwz9ios3psx4j85ire2ypZ:~/pointcloud/pointSIFT­
master/tf_utils/tf_ops/grouping# vim tf_grouping_compile.sh
把之前tf_grouping_compile.sh文件中的内容删除把如下内容复制进去
#/bin/bash
nvcc tf_grouping_g.cu ­o tf_grouping_g.cu.o ­c ­O2 ­
DGOOGLE_CUDA=1 ­x cu ­Xcompiler ­fPIC
# TF1.2
#g++ ­std=c++11 tf_grouping.cpp tf_grouping_g.cu.o ­o
tf_grouping_so.so ­shared ­fPIC ­I /usr/local/lib/python2.7/dist­
packages/tensorflow/include ­I /usr/local/cuda­8.0/include ­lcudart ­
L /usr/local/cuda­8.0/lib64/ ­O2 ­D_GLIBCXX_USE_CXX11_ABI=0
# TF1.4
g++ ­std=c++11 tf_grouping.cpp tf_grouping_g.cu.o ­o
tf_grouping_so.so ­shared ­fPIC ­I
/root/anaconda3/envs/rapids/lib/python3.6/site­
packages/tensorflow/include ­I /usr/local/cuda­10.0/include ­I
/home/jmydurant/a/root/anaconda3/envs/rapids/lib/python3.6/site­
packages/tensorflow/include/external/nsync/public ­lcudart ­L
/usr/local/cuda­10.0/lib64/ ­
L/root/anaconda3/envs/rapids/lib/python3.6/site­
packages/tensorflow ­ltensorflow_framework ­O2 ­
D_GLIBCXX_USE_CXX11_ABI=0
修改好之后输入内容编译:
如果输入下面内容没有反应赋予执行的权限:chmod +x
tf_grouping_compile.sh
(rapids) root@iZwz9ios3psx4j85ire2ypZ:~/pointcloud/pointSIFT­
master/tf_utils/tf_ops/grouping# ./tf_grouping_compile.sh
配置一下生成:tf_grouping_so.so*文件即可
如下的3个文件都和当前配置文件方式一致
2、vim tf_interpolate_compile.sh也是默认把TensorFlow的路径改
一下
把之前tf_interpolate_compile.sh文件中的内容删除把如下内容复制进去
# TF1.2
#g++ ­std=c++11 tf_interpolate.cpp ­o tf_interpolate_so.so ­shared
­fPIC ­I /usr/local/lib/python2.7/dist­packages/tensorflow/include ­I
/usr/local/cuda­8.0/include ­lcudart ­L /usr/local/cuda­8.0/lib64/ ­O2
­D_GLIBCXX_USE_CXX11_ABI=0
# TF1.4
g++ ­std=c++11 tf_interpolate.cpp ­o tf_interpolate_so.so ­shared ­
fPIC ­I /root/anaconda3/envs/rapids/lib/python3.6/site­
packages/tensorflow/include ­I /usr/local/cuda­10.0/include ­I
/root/anaconda3/envs/rapids/lib/python3.6/site­
packages/tensorflow/include/external/nsync/public ­lcudart ­L
/usr/local/cuda­10.0/lib64/ ­
L/root/anaconda3/envs/rapids/lib/python3.6/site­
packages/tensorflow ­ltensorflow_framework ­O2 ­
D_GLIBCXX_USE_CXX11_ABI=0
修改好之后输入内容编译./tf_interpolate_compile.sh
能生成.so文件即可
3、vim tf_pointSIFT_compile.sh  
把之前tf_pointSIFT_compile.sh文件中的内容删除把如下内容复制进去
#/bin/bash
nvcc pointSIFT.cu ­o pointSIFT_g.cu.o ­c ­O2 ­DGOOGLE_CUDA=1 ­
x cu ­Xcompiler ­fPIC
# TF1.4
g++ ­std=c++11 main.cpp pointSIFT_g.cu.o ­o tf_pointSIFT_so.so ­
shared ­fPIC ­I /root/anaconda3/envs/rapids/lib/python3.6/site­
packages/tensorflow/include ­I /usr/local/cuda­10.0/include ­I
/root/anaconda3/envs/rapids/lib/python3.6/site­
packages/tensorflow/include/external/nsync/public ­lcudart ­L
/usr/local/cuda­10.0/lib64/ ­
L/root/anaconda3/envs/rapids/lib/python3.6/site­
packages/tensorflow ­ltensorflow_framework ­O2 ­
D_GLIBCXX_USE_CXX11_ABI=0
把上面的内容复制进去后保存然后
输入内容编译./tf_pointSIFT_compile.sh
能生成.so文件即可
4、vim tf_sampling_compile.sh  
把之前tf_sampling_compile.sh文件中的内容删除把如下内容复制进去
#/bin/bash
nvcc tf_sampling_g.cu ­o tf_sampling_g.cu.o ­c ­O2 ­
DGOOGLE_CUDA=1 ­x cu ­Xcompiler ­fPIC
# TF1.2
#g++ ­std=c++11 tf_sampling.cpp tf_sampling_g.cu.o ­o
tf_sampling_so.so ­shared ­fPIC ­I /usr/local/lib/python2.7/dist­
packages/tensorflow/include ­I /usr/local/cuda­8.0/include ­lcudart ­
L /usr/local/cuda­8.0/lib64/ ­O2 ­D_GLIBCXX_USE_CXX11_ABI=0
# TF1.4
g++ ­std=c++11 tf_sampling.cpp tf_sampling_g.cu.o ­o
tf_sampling_so.so ­shared ­fPIC ­I
/root/anaconda3/envs/rapids/lib/python3.6/site­
packages/tensorflow/include ­I /usr/local/cuda­10.0/include ­I
/root/anaconda3/envs/rapids/lib/python3.6/site­
packages/tensorflow/include/external/nsync/public ­lcudart ­L
/usr/local/cuda­10.0/lib64/ ­
L/root/anaconda3/envs/rapids/lib/python3.6/site­
packages/tensorflow ­ltensorflow_framework ­O2 ­
D_GLIBCXX_USE_CXX11_ABI=0
把上面的内容复制进去后保存然后
输入内容编译./vim tf_sampling_compile.sh
能生成.so文件即可
5、模型调参改epoch和batch_size、在如下的文件里面
1)、把epoch改50、100、500等等  batch_size不能超过29,因为只有29个
场景
2)、vim train_and_eval_scannet.py  NUM_CLASS都改为4了 要改重新在2
个模块代码里面进行修改。
3)、vim scannet_dataset.py  如果要改分类需要把里面21的地方改写为4、
22的地方改为5

原文链接:https://www.cnblogs.com/xiaoshubass/p/13022110.html