如何在张量流中加载具有相对路径的用户定义的op?它与绝对路径一起工作正常。但我想用相对路径来做。
我使用此命令构建op:
bazel build -s --copt="-D_GLIBCXX_USE_CXX11_ABI=0" \
-c opt //tensorflow/core/user_ops:zero_out.so
我使用的构建文件是:
load("//tensorflow:tensorflow.bzl", "tf_custom_op_library")
tf_custom_op_library(
name = "zero_out.so",
srcs = ["zero_out.cc"],
)
以下代码无效。它显示图像未找到错误。 tensorflow.python.framework.errors.NotFoundError:dlopen(zero_out.so,6):找不到图像
import os.path
import tensorflow as tf
_zero_out_module = tf.load_op_library(os.path.join(tf.resource_loader.get_data_files_path(),'zero_out.so'))
zero_out = _zero_out_module.zero_out
但是下面的代码确实可以正常工作。
import os.path
import tensorflow as tf
_zero_out_module = tf.load_op_library('/Users/sahilsingla/tensorflow/bazel-bin/tensorflow/core/user_ops/zero_out.so')
zero_out = _zero_out_module.zero_out
答案 0 :(得分:1)
您可以在bazel中使用相对路径,例如
cd tensorflow/core/user_ops
bazel build -s --copt=-D_GLIBCXX_USE_CXX11_ABI=0 :zero_out.so
或:
cd tensorflow/core
bazel build -s --copt=-D_GLIBCXX_USE_CXX11_ABI=0 user_ops:zero_out.so