- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试提供从 syntaxnet 导出的模型,但 parser_ops 不可用。带有操作的库文件位于(树外):
../models/syntaxnet/bazel-out/local-opt/bin/syntaxnet/parser_ops.so
我目前正在破解 mnist_inference 示例(因为我不知道如何使用 bazel 构建树外的任何东西),我正在运行的命令是:
./bazel-out/local-opt/bin/tensorflow_serving/example/mnist_inference --port=9000/tmp/model/00000001
我得到的错误是:
F tensorflow_serving/example/mnist_inference.cc:208] 检查失败:::tensorflow::Status::OK() == (bundle_factory->CreateSessionBundle(bundle_path, &bundle))(确定与未找到: 操作类型未注册 'FeatureSize')
而且FeatureSize肯定是在parser_ops.so里面定义的,就是不知道怎么加载。
最佳答案
我不太熟悉 TF(我在 Bazel 上工作),但看起来你需要添加 parser_ops 作为 mnist_inference 的依赖项。
有正确的方法和错误的(更简单的)方法。
基本上,您将 syntaxnet 添加为您正在构建的示例的依赖项。不幸的是,语法 net 项目和 tensorflow 服务项目以不同的名称导入 tensorflow 本身,因此您必须对服务 WORKSPACE 文件进行一些处理才能使其正常工作。
将以下内容添加到 tensorflow_serving WORKSPACE 文件中:
local_repository(
name = "syntaxnet",
path = "/path/to/your/checkout/of/models/syntaxnet",
)
这允许您从 tensorflow 项目中引用 syntaxnet 中的目标(通过在它们前面加上“@syntaxnet”)。不幸的是,如上所述,您还必须将 syntaxnet 的所有外部依赖项放入 WORKSPACE 文件中,这很烦人。您可以测试它是否适用于 bazel build @syntaxnet//syntaxnet:parser_ops_cc
。
完成后,将 cc_library @syntaxnet//syntaxnet:parser_ops_cc
(parser_ops.so 是一个 cc_binary,不能用作依赖项)添加到 mnist_inference's deps :
deps = [
"@syntaxnet//syntaxnet:parser_ops_cc",
"@grpc//:grpc++",
...
请注意,这仍然无法正常工作:parser_ops_cc
是 syntaxnet 中的私有(private)目标(因此不能从其包外部依赖它)但您可以向其添加一个属性,例如visibility = ["//visibility:public"]
如果您只是尝试一下:
cc_library(
name = "parser_ops_cc",
srcs = ["ops/parser_ops.cc"],
visibility = ["//visibility:public"]
...
你有一个 .so,你可以为你的二进制文件添加一个 src 文件。添加它所在的目录作为 new_local_repository()
并将其添加到 BUILD 文件中的 srcs
。
工作区文件:
new_local_repository(
name = "hacky_syntaxnet",
path = "/path/to/syntaxnet/bazel-out/local-opt/bin/syntaxnet",
build_file_content = """
exports_files(glob(["*"])) # Make all of the files available.
""",
)
构建文件:
srcs = [
"mnist_inference.cc",
"@hacky_syntaxnet//:parser_ops.so"
],
关于tensorflow - 如何向 tensorflow 服务注册 "custom"Op(实际上,来自 syntaxnet)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37799563/
我正在KERAS CNN中工作,以检测视网膜图像中的糖尿病性视网膜病变。但是,当我尝试使用此代码预处理图像..: def estimate_radius(img): mx = img[img.
为什么这样实现: T& T::operator+=(const T&) { // ... implementation ... return *this; } T operator+(cons
这是我的图像混合代码,但 cv2.addweighted() 函数有问题: import cv2 import numpy as np img1 = cv2.imread('1.png') img2
我正在设置一个搜索API,就是搜索; id、type、originCity、destinationCity、departmentDate、reason、accommodation、approvalSt
这两个特征(std::ops::Add,core::ops::Add)提供相同的功能,并且它们都使用相同的示例(都使用std::ops::Add)。他们的实现者集有所不同。 应该默认使用std::op
我要提出条件 (A 和 B)和(C 或 D 或 E 或 F) 当我尝试做的时候 where: { [Op.and]: [{ A, B, [Op.or]: [{
我对 Sequelize 有这个问题: 我正在尝试进行 3 参数研究,如果其中一个参数为空,则不应考虑该参数。 const users = await User.findAll({ where:
Herb Sutter 的 Guru of the Week #4, "Class Mechanics" ,教导重载运算符的“a op b”形式应该根据“a op= b”形式实现(参见解决方案中的第
基准代码: func BenchmarkSth(b *testing.B) { var x []int b.ResetTimer() for i := 0; i < b.N;
我在使用 sequelize 获取正确的查询时遇到问题。 我有一个表示条目 id 的数组,可以这样说 - userVacationsIds = [1,2,3] 我做了这样的第一个查询
这两个特征(std::ops::Add,core::ops::Add)提供相同的功能,并且它们都使用相同的示例(都利用 std::ops::Add)。他们的一组实现者有些不同。 是否应该默认使用 st
为什么 std::numeric 算法似乎更喜欢 op 而不是 op=?例如,这里是 std::accumulate 在 LLVM 中的实现: template inline _LIBCPP_INL
这是基准测试的代码片段: // bench_test.go package main import ( "testing" ) func BenchmarkHello(b *testing.B
我使用 Sequelize 来查询我的数据库。 我在查询中使用 Op.and 和 Op.ne: const Op = require('sequelize'); let subLevels = awa
我有一个关于链表和模板的作业,其中有带有奇怪参数的函数,这些参数是强制性的。我找不到关于它的在线文档,感谢任何提供的 Material 。 我曾尝试为 op 分配另一个地址,然后它编译得很好,但我无法
cppreference说: the behavior of every builtin compound-assignment expression E1 op= E2 (where E1 is a
当我使用 go test -v -bench=. -benchmem 运行基准测试时,我看到以下结果。 f1 10000 120860 ns/op 2433 B/o
假设我有一个sympy 表达式 e1 op e2 哪里op是任何算术比较运算符,例如 , >> from sympy import symbols, Piecewise, ccode >>> x, y
在我的玩具包中,我定义了 %+%运算符作为 paste0() 的别名.试图减少与其他包的干扰,我通过以下方式实现: `%+%` <- function(...) UseMethod("%+%") `%
我正在尝试遵循 Scott Meyers 在 More Effective C++ 的第 22 项中的建议:“考虑使用 op= 而不是独立的 op”。他建议我们可以为 operator+ 创建一个模板
我是一名优秀的程序员,十分优秀!