直接使用作者的源码复现: RyanHangZhou/tensorflow-LG-GAN
实验环境:Python 3.6, CUDA 9.0, cuDNN 7.6.4, Pytorch 0.4.1, NVCC, Ubuntu 16.04,tensorflow1.8.0
与作者的环境略有不同,所以在复现过程中也遇到了很多问题。
tf_op编译
首先是tf_ops算子的编译,作者在Github issues里面写到算子是借鉴的pointnet++和pu-net中的算子模块,作者的tf_ops模块没有.cu的模块,可以从官方实现中找到。
gcc版本问题
然后有可能会出现gcc版本过高的问题:
#error -- unsupported GNU version! gcc versions later than 6 are not supported!
降低gcc版本:Ubuntu 18.04.1 安装低版本GCC
关键代码:
sudo apt-get install -y gcc-5
sudo apt-get install -y g++-5
cd /usr/bin
sudo rm -r gcc //移除之前的软链接
sudo ln -sf gcc-5 gcc // 建立gcc-5的软链接 此处尝试使用gcc-5.5.0,但是报错
sudo rm -r g++ //同上
sudo ln -sf g++-5 g++ //同上
加载pointnet模型的问题
作者虽然在官方实现里有提供他训练好的checkpoint,但是一直都加载不出来,显示没有model.ckpt,可能是版本不同的原因,推荐大家还是把自己训练好的checkpoint放上去。charlesq34/pointnet