赞
踩
首先修改代码中所有错误,与自己的python和tensorflow适配,导入该导入的包,其中provider和eulerangles和plyfile都在utils文件下或者pointnet-master的代码中
修改tf_ops中的文件:参考第一篇与第二篇
注意:报错
/usr/bin/ld: cannot find -ltensorflow_framework,collect2: error: ld returned 1 exit status。
应该是没有修改sh文件时未能找到/usr/…/ltensorflow_framework这个路径
解决方法:
我是用的云服务器,将sh文件中的-ltensorflow_framework修改为-l:libtensorflow_framework.so.1
有的人可能是要改成-libtensorflow_framework
然后运行
cd tf_ops/sampling
sh tf_sampling_compile.sh
cd tf_ops/grouping
sh tf_grouping_compile.sh
cd tf_ops/d_interpolation
sh tf_interpolate_compile.sh
进入环境
conda activate tf
cd autodl-nas/pointnet2-master
CUDA_VISIBLE_DEVICES=0 python train.py
报错
tensorflow.python.framework.errors_impl.NotFoundError: /root/autodl-nas/pointnet2-master/tf_ops/sampling/tf_sampling_so.so: undefined symbol: _ZN10tensorflow12OpDefBuilder4AttrESs
将sh文件中的-D_GLIBCXX_USE_CXX11_ABI=0改为1
再运行.sh文件
cd tf_ops/sampling
sh tf_sampling_compile.sh
cd tf_ops/grouping
sh tf_grouping_compile.sh
cd tf_ops/d_interpolation
sh tf_interpolate_compile.sh
tensorboard --logdir=log#这里要指定日志文件夹名字,因为默认似乎是logs,但是pointnet++分类训练生成的日志文件名为log
系统架构图
训练后验证结果
CUDA_VISIBLE_DEVICES=0 python evaluate.py --num_votes 12
在utils文件下
sh compile_render_balls_so.sh
python show3d_balls.py
获得可视化结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。