如何在tensorflow中创建类似conv_ops的操作?

时间:2016-07-13 09:18:06

标签: tensorflow

我想做的事

我是C ++和bazel的新手,我想对tensorflow中的卷积操作进行一些更改,所以我决定我的第一步是创建一个类似的操作。

我做了什么

我从// tensorflow / core / kernels复制了conv_ops.cc,并更改了我在new_conv_ops.cc中注册的操作的名称。我还更改了文件中的一些函数名称以避免重复。这是我的建筑file.

如您所见,我从// tensorflow / core / kernels / BUILD复制了conv_ops的deps属性。然后我使用" bazel build -c opt //tensorflow/core/user_ops:new_conv_ops.so"建立新的操作。

我的问题是什么

然后我得到了这个error.

我试图删除bounds_check并为下一个deps获得相同的错误。然后我意识到在// tensorflow / core / user_ops中包含// tensorflow / core / kernels中的h文件存在一些问题。那么我怎样才能完全创建像conv_ops这样的新操作?

1 个答案:

答案 0 :(得分:0)

教程here中介绍了向TensorFlow添加自定义操作。您还可以查看实际代码examples

要解决您的具体问题,请注意tf_custom_op_library宏会为您的目标添加大部分必要的依赖项。您只需编写以下内容:

tf_custom_op_library(
  name="new_conv_ops.so",
  srcs=["new_conv_ops.cc"]
)