试跑PointNet(PyTorch版本)

运行作者源码

pointnet的环境配置见我上一篇博文,源码见https://github.com/yanx27/Pointnet_Pointnet2_pytorch。刚开始跑的时候,通过语句:

torch.backends.cudnn.enabled = False

禁用cudnn,只用CPU跑,确实是可以跑起来的。但是如果用CUDA,则报错“CUDA_STATUS_NOT_SUPPORTED”,这是版本不匹配所致,在我上一篇博文中已经解决。

可是还是有“cuda out of memory”的错误(如下图)。我将代码中的batch_size从24改成了8,总算是可以跑起来了。大概跑完modelnet40的分类任务需要66个小时。

试跑PointNet(PyTorch版本)_第1张图片

根据参考资料,我使用命令nvidia-smi查看gpu占用情况,如图所示:

试跑PointNet(PyTorch版本)_第2张图片

不过我的GPU Memory Usage显示为N/A,按照参考资料,这是因为

当显卡在window下以WDDM模式运行时,GPU memory usage项是not available。而想要以TCC模式运行的话,需要特定的显卡型号才行:
Note: NVIDIA GeForce GPUs (excluding GeForce GTX Titan GPUs) do not support TCC mode.

不过老板说这个无伤大雅,显存不够以后买新显卡,那我暂时就不管了吧~

60多个小时之后看结果就是了。

训练结果:

试跑PointNet(PyTorch版本)_第3张图片

测试结果:

试跑PointNet(PyTorch版本)_第4张图片

参考资料:

  1. 显存充足,tensorflow报 CUDA out of memory错误,https://blog.csdn.net/hustwayne/article/details/92672405

  2. 显存充足,但是却出现CUDA error:out of memory错误可能是什么原因?https://bbs.csdn.net/topics/392517352

  3. 关于nvidia-smi显示GPU Memory Usage为N/A的问题,https://blog.csdn.net/weixin_45626238/article/details/104407986

在自建数据集上运行pointnet

运行的时候出现了一个小错误(下图),想要导入pointnet.py这个模块,结果IDE想给我导入别的文件夹下的名为pointnet的包。

sys.path

可以用sys.path这个命令查看,然后用sys.path.remove()删除引起歧义的路径即可。

试跑PointNet(PyTorch版本)_第5张图片

参考资料:http://www.360doc.com/content/18/0103/16/14146901_718723537.shtml

你可能感兴趣的:(深度学习)