验证python版本
python
验证tensorflow版本
在python下输入
import tensorflow as tf
tf.__version__
验证cuda版本
nvcc -V
运行前准备
输入ssh
输入密码
进入环境
conda activate tf
训练
分类用的数据集为modelnet40,该数据集含有40个CAD模型
进入页面
cd autodl-nas/pointnet-master
使用gpu训练代码
CUDA_VISIBLE_DEVICES=0 python train.py
如果是用cpu训练则需要调整一下参数,因为源代码默认batchsize为32
python train.py \
--batch_size=8 \
--max_epoch=250
查看gpu利用率
nvidia-smi
根据图
可知gpu利用率基本维持在80%以上
获取部分结果截图
可视化
tensorboard --logdir log
评估模型及可视化输出错误的预测
CUDA_VISIBLE_DEVICES=0 python evaluate.py --visu
部分分割
如果是cpu版本则使用代码
python train.py \
--batch=8 \
--epoch=250
gpu版本
cd part_seg
CUDA_VISIBLE_DEVICES=0 python train.py
CUDA_VISIBLE_DEVICES=0 python test.py
此时报错
tensorflow.python.framework.errors_impl.ResourceExhaustedError: 2 root error(s) found.
(0) Resource exhausted: OOM when allocating tensor with shape[32,4944,2048,1] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
[[{{node gradients/seg/conv1/Conv2D_grad/Conv2DBackpropInput}}]]
Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.
查询百度后说是gpu显存不够,我是rtx2080ti,11gb,4核cpu,16gb。调整代码中的batch,默认是32,设置为8,可以正常运行
场景语义分割
cd sem_seg
CUDA_VISIBLE_DEVICES=0 python train.py