PointCNN
PointCNN copied to clipboard
A problem about tf complie
i succeed in compiling the file of .so, but when i run the program of train_val_seg.py, there is a warning that the tf_sampling_so.so could not be found for undefined symbol: _ZN10tensorflow12OpDefBuilder4AttrESs. i'm confused about the problem and i failed to find a way to solve it. So i wonder whether you know how to solve this problem? i use tensorflow 1.13.1 cuda10.0, anaconda 10.130 and spyder 3.3.6. Hoping for you reply, thanks!
I am having the same issue. I expect this to be caused by the cuda version mismatch: this library was intended to work with cuda9 instead of cuda10. That said, I have no idea how to solve this issue, except from to downgrade the nvidia drivers, cuda, and tensorflow version (which I'd rather avoid)
Hi all, We just tested our code on tf 1.6, cuda8, python3.5, I'm not sure tensorflow custom op can work on tf1.13.1, cuda10.0.
Try use the following command and adjust as necessary
#/bin/bash
PYTHON=python
CUDA_PATH=/usr/local/cuda-10.0
TF_LIB=$($PYTHON -c 'import tensorflow as tf; print(tf.sysconfig.get_lib())')
TF_PATH=$TF_LIB/include
$CUDA_PATH/bin/nvcc tf_sampling_g.cu -o tf_sampling_g.cu.o -c -O2 -DGOOGLE_CUDA=1 -x cu -Xcompiler -fPIC
g++ -std=c++11 tf_sampling.cpp tf_sampling_g.cu.o -o tf_sampling_so.so -shared -fPIC -L$TF_LIB -ltensorflow_framework -I $TF_PATH/external/nsync/public/ -I $TF_PATH -I $CUDA_PATH/include -lcudart -L $CUDA_PATH/lib64/ -O2 -D_GLIBCXX_USE_CXX11_ABI=0
I could solve it at my end by removing -D_GLIBCXX_USE_CXX11_ABI=0 I am on CUDA 9.0 and tensorflow 1.10.1
The modified sh file look like below:
#/bin/bash PYTHON=python3 CUDA_PATH=/usr/local/cuda TF_LIB=$($PYTHON -c 'import tensorflow as tf; print(tf.sysconfig.get_lib())') #PYTHON_VERSION=$($PYTHON -c 'import sys; print("%d.%d"%(sys.version_info[0], sys.version_info[1]))') TF_PATH=$TF_LIB/include $CUDA_PATH/bin/nvcc tf_sampling_g.cu -o tf_sampling_g.cu.o -c -O2 -DGOOGLE_CUDA=0 -x cu -Xcompiler -fPIC g++ -std=c++11 tf_sampling.cpp tf_sampling_g.cu.o -o tf_sampling_so.so -shared -fPIC -L$TF_LIB -ltensorflow_framework -I $TF_PATH/external/nsync/public/ -I $TF_PATH -I $CUDA_PATH/include -lcudart -L $CUDA_PATH/lib64/ -O2
According to https://github.com/yulequan/PU-Net/issues/13 I solved this problem simply by remove "D_GLIBCXX_USE_CXX11_ABI=0" in the .sh file. By the way, I am using conda environment with tf1.6 and cuda10.0
According to yulequan/PU-Net#13 I solved this problem simply by remove "D_GLIBCXX_USE_CXX11_ABI=0" in the .sh file. By the way, I am using conda environment with tf1.6 and cuda10.0
Hello, can you tell me your version of Python?