gpt4 book ai didi

c++ - 添加自定义 TensorFlow OP

转载 作者:行者123 更新时间:2023-12-04 18:43:26 24 4
gpt4 key购买 nike

我正在尝试通过 ronghanghu 使用紧凑型双线性池的 Tensorflow 实现因为它用于 implementation 《学习图像处理检测的丰富特征》纸。 ronghanghu使用 TensorFlow 版本 1.12.0 和 CUDA 8.0 和 g++ 5.4.0 来构建 sequential_batch_fft.so .但是,他们确实说我们可以重建 sequential_batch_fft.so使用具有不同编译器(g++ 7.5.0)和不同 CUDA 版本(11.0)的不同版本的 Tensorflow(在我的情况下为 2.4.0)。当我尝试构建 sequential_batch_fft.so使用 compile.sh 中的命令以下

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
我在终端中得到的唯一输出就是这个。
compile.sh output
问题是除此之外没有其他事情发生。没有报告错误,也不会结束构建。离开它几个小时,仍然没有。我完全不知道为什么会这样。后来我决定尝试做 TensorFlow 在 adding_an_op 上提供的示例之一。我得到了同样的结果。这里可能是什么问题?这对我来说真的很困惑,因为没有错误只是一个永无止境的程序。

最佳答案

原来问题出在 tensorflow_framework.so 上。能够通过创建符号链接(symbolic link)来解决此问题 ln -s libtensorflow_framework.so.2 libtensorflow_framework.so在 ../site-packages/tensorflow 中。另外,我认为我的项目路径不合适,因为它包含空格。对此不太确定,但是当我使用安装在没有空格的路径上的 TensorFlow 时,一切正常。

关于c++ - 添加自定义 TensorFlow OP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65599567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com