Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 添加自定义TensorFlow OP_C++_Tensorflow_Ubuntu_Cuda_Nvcc - Fatal编程技术网

C++ 添加自定义TensorFlow OP

C++ 添加自定义TensorFlow OP,c++,tensorflow,ubuntu,cuda,nvcc,C++,Tensorflow,Ubuntu,Cuda,Nvcc,我尝试使用的是紧凑双线性池的Tensorflow实现,因为它用于的“学习图像处理检测的丰富功能”论文中。使用TensorFlow版本1.12.0和CUDA 8.0以及g++5.4.0构建顺序批处理\u fft.so。然而,他们确实说我们可以使用不同版本的Tensorflow(在我的例子中是2.4.0)和不同的编译器(g++7.5.0)以及不同的CUDA版本(11.0)重建顺序批处理fft.so。当我尝试使用下面compile.sh中的命令构建sequential\u batch\u fft.so

我尝试使用的是紧凑双线性池的Tensorflow实现,因为它用于的“学习图像处理检测的丰富功能”论文中。使用TensorFlow版本1.12.0和CUDA 8.0以及g++5.4.0构建
顺序批处理\u fft.so
。然而,他们确实说我们可以使用不同版本的Tensorflow(在我的例子中是2.4.0)和不同的编译器(g++7.5.0)以及不同的CUDA版本(11.0)重建
顺序批处理fft.so
。当我尝试使用下面
compile.sh
中的命令构建
sequential\u batch\u fft.so

TF_INC=$(python -c 'import tensorflow as tf; print(tf.sysconfig.get_include())')
TF_LIB=$(python -c 'import tensorflow as tf; print(tf.sysconfig.get_lib())')

# Use 0 if the TensorFlow binary is built with GCC 4.x
# see https://docs.computecanada.ca/wiki/GCC_C%2B%2B_Dual_ABI for details
USE_CXX11_ABI=0

nvcc -std=c++11 -c -o sequential_batch_fft_kernel.cu.o \
sequential_batch_fft_kernel.cu.cc \
-D_GLIBCXX_USE_CXX11_ABI=$USE_CXX11_ABI -DNDEBUG \
-L$TF_LIB -ltensorflow_framework \
-I $TF_INC -D GOOGLE_CUDA=1 -x cu -Xcompiler -fPIC

g++ -std=c++11 -shared -o ./build/sequential_batch_fft.so \
sequential_batch_fft_kernel.cu.o \
sequential_batch_fft.cc \
-D_GLIBCXX_USE_CXX11_ABI=$USE_CXX11_ABI -DNDEBUG \
-L$TF_LIB -ltensorflow_framework \
-I $TF_INC -fPIC \
-lcudart -lcufft -L/usr/local/cuda/lib64

rm -rf sequential_batch_fft_kernel.cu.o
我在终端中得到的唯一输出是这个。


问题是除此之外没有其他事情发生。没有报告错误,并且不会结束生成。放了几个小时还是什么都没有。我完全不知道这是为什么。后来我决定尝试使用TensorFlow提供的一个示例,得到了相同的结果。这里有什么问题?我真的很困惑,因为没有错误,只有一个永无止境的程序。

原来问题出在tensorflow_框架上。通过在../site packages/tensorflow中创建符号链接
ln-s libtensorflow_framework.so.2 libtensorflow_framework.so
。此外,我认为我的项目路径不适合,因为它包含空间。不太确定这一点,但当我使用TensorFlow安装在没有空间的路径上时,一切都很好