使用张量流

时间:2016-11-07 08:35:52

标签: tensorflow

如何在张量流中加载具有相对路径的用户定义的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

1 个答案:

答案 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