问题标签 [custom-operator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
799 浏览

f# - 如何在计算表达式中定义自定义运算符

我想在我的计算表达式上定义一些自定义运算符,但无法使其工作

顺便说一句,更改member this.Map f s ...member this.Map (f, s) ...给出相同的错误。

0 投票
3 回答
1280 浏览

c++ - 为什么选择我的自定义操作的 CPU 实现?

为了学习如何编写自定义 TensorFlow 操作,我遵循了添加新操作教程并制作了一个“add_b”操作,b为每个输入值添加了一个标量。

add_b_op.cc

add_b_op.cu.cc

我故意在 CPU 实现中引入了一个错误,以便能够区分正在使用的是 CPU 还是 GPU 实现。

当我测试我的自定义操作时:

我得到以下输出:

“设备放置日志”似乎表明该操作正在 GPU 上执行,但输出表明正在使用 CPU 实现。

当我注释掉用于DEVICE_CPU实现、重新编译和重新测试的两个 REGISTER_KERNEL_BUILDER() 注册时,我得到了预期的输出[ 13. 12. 11. 10. 9.],但是有一个错误:

该错误消息对我来说似乎是一个错误,因为尽管错误显示“执行程序无法创建内核”,但显然创建了一个内核来在 GPU 上运行操作。

为什么使用 CPU 实现而不是 GPU 实现?

如果这很重要,以下是有关我的开发设置的详细信息:

  • 我正在使用带有内置 NVIDIA GeForce GT 750M(CUDA Compute Capability 3.0)的 MacBook Pro。
  • macOS Sierra 版本 10.12.1 (16B2555)
  • cuda_8.0.47_mac, cudnn-8.0-osx-x64-v5.1
  • TensorFlow 0.11.0rc2 通过以下方式安装:export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow-0.11.0rc2-py2-none-any.whl

更新我发现选择 CPU 还是 GPU 实现取决于输入的大小。使用这个测试脚本:

.. 当NUM_VALUES为 1310720 或更少时,则使用 CPU 实现。当NUM_VALUES为 1310721 或更多时,则使用 GPU 实现。

是否有 (1310720 * 8 bytes per double = ) 10 MiB 截止?如果是这样,我该如何覆盖它?AddB() 操作很简单,但对于更复杂的自定义操作,10 MiB 可能对于选择 GPU 实现来说太大了。

0 投票
1 回答
284 浏览

raku - 使用 Perl 6 自定义运算符

我在大学学习化学,想尝试用 Perl6 或 Perl 编写教科书示例,例如平衡化学公式或其他过程!

然后我遇到的问题是关于perl6自定义运算符。当我使用该功能时,我觉得我一直在重复我的代码和我自己。很难读和写。我怎样才能简化这个?

0 投票
1 回答
4898 浏览

postgresql - PostgreSQL 自定义运算符比较 varchar 和 integer

-- x86_64-pc-linux-gnu 上的 PostgreSQL 9.6.2,由 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-17) 编译,64 位。

-- 从官方存储库安装。

-- postgresql.conf 没有任何变化。

-- CentOS 6.8 版。

-- 用户:postgres。

-- 使用 BigSQL 的 pgAdmin3 LTS。

-- 没有任何异常登录服务器。

我有很多疑问。

在这种情况下,我需要将字符变化数据类型(可能是表字段)与整数值进行比较。

--结果为真或假

--结果是“运算符不存在:字符变化 = 整数”

所以我创建了一个自定义运算符比较字符变化和整数

第 1 步:创建简单函数

第 2 步:创建新运算符

所以我解决了我的问题

返回真值。

新问题是:当我将字符变化值与未知数据类型值进行比较时,postgresql使用我的自定义运算符

结果是:

整数的无效输入语法:“foo bar”

返回未知的数据类型。

下一步我创建新的运算符来比较字符变化和未知数据类型。

步骤1:

第2步:

当我跑步时

我给

错误:运算符不是唯一的:字符变化 = 未知。

所以我在一个洞里。

0 投票
4 回答
174 浏览

swift - 函数被调用但未执行

我有这个自定义运算符:

用法:

问题是,当lhs为 nil 时,闭包没有执行。在控制台中“lhs is nil”正在打印,但之后没有“执行”正在打印。如何执行“lhs is nil”打印语句但不执行rhs

0 投票
1 回答
91 浏览

f# - 无法定义计算表达式自定义“条件”运算符

我很难condition在以下代码中提出定义。希望有一个例子和见解:

我认为b是隐含的( fun x, y -> booleanExpr(x, y) )。该术语booleanExpr(x, y)只是一些涉及xand的布尔表达式y

0 投票
1 回答
263 浏览

python - MXNET C++ 代码如何与其 python API 绑定?

1.在MXNet中用C++定义自定义算子时,C++中定义的自定义算子是如何自动生成其python API的?2.如何找到对应的代码?3. 用C++和python定义自定义操作符有什么区别?

0 投票
0 回答
190 浏览

operators - Drools 运行时无法识别自定义运算符参数

问题陈述:

我们有几个用于日期和字符串的自定义运算符,这些运算符是通过查看 Str 运算符来实现的,如下所示:https ://github.com/kiegroup/drools/blob/f7ab4ee3c88d767a8cbb372c2db1afa84b20a51d/drools-core/src/main/java/org/drools /core/base/evaluators/StrEvaluatorDefinition.java

在 kie.properties.conf 中具有以下配置:

对于我们创建的自定义 Str 运算符,Drools 运行时无法区分 Str[begins] 和 Str[ends]。

这意味着当我们在以下测试中运行时,我们预计 Rule-1 会失败而 Rule-2 会被激活。但我们注意到的是,Rule-2 不会被激活。

其他观察:

如果我们将 RHS 更改为如下所示的字符串文字,则 Rule-2 将被激活。

最后

我们去掉了 Str 自定义算子,然后使用了 drools 提供的开箱即用的 Str 算子。我们再次运行了下面提到的测试,这次规则 2 被激活。

需要帮助:

我们注册自定义运算符的方式有问题吗?因为我们从 Drools Repo 复制了整个代码并创建了我们自己的操作符。但请注意执行中的不同行为。

我们还有其他运算符,例如 date[before/after/equals] 我们也注意到它们的相同行为。我们正在使用最新版本的 drools JAR。

0 投票
0 回答
178 浏览

tensorflow - 预编译的 Tensorflow - 以编程方式获取它所针对的 CUDA 和 CUDNN 版本

我想知道是否有一种编程方式来找出安装的 tensorflow 版本是针对哪个 CUDA 和 CUDNN 版本构建的?例如,已编译的 Tensorflow 安装可以返回在构建时使用了哪个 CXX11_ABI_FLAG: python -c "import tensorflow as tf; print(tf.CXX11_ABI_FLAG)"->0

背景如下:我正在根据添加一个带有 tensorflow 二进制安装的操作来构建 Tensorflow OP 。这使用预编译的 TF 来检索所需的包含路径和编译标志,以确保 Tensorflow 和新 Op 兼容。但由于我们的系统有多个 CUDA 和 CUDNN 版本,我还需要向编译器提供所需版本的路径。例如,对于 Cuda 8.0,使用以下标志 -L /usr/local/cuda-8.0/lib64/来指定其路径。但这也开辟了一条错误路径,因为现在可以使用不同的 CUDA/CUDNN 版本成功构建 Op,这会导致稍后在运行时出现错误。所以我想创建一个安全检查,以确保 CUDA/CUDNN 路径指向相同的版本,就像构建 Tensorflow 的版本一样。

0 投票
4 回答
890 浏览

docker - 如何在 tensorflow 服务器上使用自定义操作

让 tensorflow 模型服务器识别我的自定义操作的理想方法是什么?

我按照本指南编写了一个自定义操作: https ://www.tensorflow.org/guide/extend/op

我可以通过调用来使用 opp tf.load_op_library,但是当我尝试并运行时tensorflow_model_server

我收到以下关于无法找到我的 opp 的错误。

tensorflow_serving/util/retrier.cc:37] 加载可服务:{名称:mymodel 版本:1} 失败:未找到:操作类型未在 c37a4ef2d4b4 上运行的二进制文件中注册“MyOpp”。