Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow serving 向tensorflow服务api调用添加元数据_Tensorflow Serving - Fatal编程技术网

Tensorflow serving 向tensorflow服务api调用添加元数据

Tensorflow serving 向tensorflow服务api调用添加元数据,tensorflow-serving,Tensorflow Serving,是否可以将元数据添加到tensorflow服务servable,以便该元数据也填充在来自servable的响应中 如果我有一个具有文件结构的servable: my_servable/ 1541778457/ variables/ saved_model.pb 例如: ``` outputs { key: "classes" value { dtype: DT_ST

是否可以将元数据添加到tensorflow服务
servable
,以便该元数据也填充在来自servable的响应中

如果我有一个具有文件结构的servable:

my_servable/ 
           1541778457/ 
                     variables/ 
                     saved_model.pb 
例如:

```
outputs {
  key: "classes"
  value {
    dtype: DT_STRING
    tensor_shape {
      dim {
        size: 8
      }
    }
    string_val: "a"
    string_val: "b"
    string_val: "c"
    string_val: "d"
    string_val: "e"
    string_val: "f"
    string_val: "g"
    string_val: "h"
  }
}
outputs {
  key: "scores"
  value {
    dtype: DT_FLOAT
    tensor_shape {
      dim {
        size: 1
      }
      dim {
        size: 8
      }
    }
    float_val: 1.212528104588273e-06
    float_val: 5.094948463124638e-08
    float_val: 0.0009737954242154956
    float_val: 0.9988483190536499
    float_val: 3.245145592245535e-07
    float_val: 0.00010837535955943167
    float_val: 4.101086960872635e-05
    float_val: 2.676981057447847e-05
  }
}
model_spec {
  name: "my_model"
  version {
    value: 1541778457
  }
  signature_name: "prediction"
}
如果我为生成此可服务的代码(如
f6ca434910504532a0d50dfd12f22d4c
)提供了git哈希或唯一标识符,是否可以在客户端请求中获取此数据

理想的情况是:

```
outputs {
  key: "classes"
  value {
    dtype: DT_STRING
    tensor_shape {
      dim {
        size: 8
      }
    }
    string_val: "a"
    string_val: "b"
    string_val: "c"
    string_val: "d"
    string_val: "e"
    string_val: "f"
    string_val: "g"
    string_val: "h"
  }
}
outputs {
  key: "scores"
  value {
    dtype: DT_FLOAT
    tensor_shape {
      dim {
        size: 1
      }
      dim {
        size: 8
      }
    }
    float_val: 1.212528104588273e-06
    float_val: 5.094948463124638e-08
    float_val: 0.0009737954242154956
    float_val: 0.9988483190536499
    float_val: 3.245145592245535e-07
    float_val: 0.00010837535955943167
    float_val: 4.101086960872635e-05
    float_val: 2.676981057447847e-05
  }
}
model_spec {
  name: "my_model"
  version {
    value: 1541778457
  }
  hash {
    value: f6ca434910504532a0d50dfd12f22d4c
 }
  signature_name: "prediction"
}
我尝试将目录从
1541778457
更改为散列,但结果是:


W tensorflow\u serving/sources/storage\u path/file\u system\u storage\u path\u source.cc:268]在基本路径下找不到可服务默认值的版本

我想您可以通过两种方法解决这个问题。如果你想改变文件夹的名称,请记住,在本例中的文件夹名称描述了你的模型版本,我认为它必须是一个整数。因此,我假设您需要将哈希值转换为二进制或十进制,然后在收到它时将其转换回

在我看来,一个更好的解决方案是,如果您能够更改模型并添加一个包含哈希的变量。并将其添加到模型签名中。在python中,它看起来像:

// create your field
hash = tf.placeholder("f6ca434910504532a0d50dfd12f22d4c",tf.string, name="HASH")

// build tensor
hash_info = tf.saved_model.utils.build_tensor_info(hash)

// add hash_info in your output in signature_def

// then you should be able to receive that data in your request