tensorflow serving目录解读

tf_serving-----WORKSPACE

|

-----tensorflow-serving/----BUILD

|                      |

|                      -----workspace.bzl

|                      |

|                      -----example/-------BUILD

|                                  |

|                                  --------imagenet_lsvrc_2015_synsets.txt

|                                  |

|                                  --------imagenet_metadata.txt

|                                  |

|                                  --------inception_client.cc

|                                  |

|                                  --------inception_client.py

|                                  |

|                                  --------inception_k8s.yaml

|                                  |

|                                  --------inception_saved_model.py

|                                  |

|                                  --------mnist_client.py

|                                  |

|                                  --------mnist_iput_data.py

|                                  |

|                                  --------mnist_saved_model.py

|

-----------tensorflow/-------BUILD

|                    |

|                    --------WORKSPACE

|                    |

|                    ----tensorflow/------BUILD

|                                  |

|                                  -------workspace.bzl

|

-----------tf_models/----WORKSPACE

|

-----official/

|

-----tutorials/

|

-----research/-------inception/-------------------WORKSPACE

|

-------------------inception/--------BUILD

|

---------inception_train.py

|

---------inception_model.py

|

---------inception_eval.py

|

---------inception_distributed_train.py

解读:

项目文件夹名称为"tf_serving",WORKSPACE文件放在"tf_serving"项目文件夹的根目录

*************************************************************************

tf_serving/WORKSPACE解读:

*************************************************************************

#声明工作空间名称,与项目名称一致
workspace(name = "tf_serving") 
#声明本地仓库'tensorflow'的名称及路径
local_repository(name = "org_tensorflow", path = "tensorflow",)
#声明io_bazel_rules_closure
http_archive(……)
#把新的Tensorflow Serving依赖加到workspace.bzl
load("//tensorflow_serving:workspace.bzl","tf_serving_workspace")
tf_serving_workspace()
#指定bazel最低要求版本
load("@org_tensorflow//tensorflow::workspace.bzl", "check_version")
check_version("0.5.4")

*************************************************************************

tf_serving/tensorflow_serving/workspace.bzl解读:

*************************************************************************

#tensorFlow Serving外部依赖加载到WORKSPACE文件
load('@org_tensorflow//tensorflow::workspace.bzl', 'tf_workspace')
#此处是所有Tensorflow Serving的外部依赖。
#workspace_dir是Tensorflow Serving repo的绝对路径,如果是作为submodule
#连接,路径形式应该是'__workspace_dir__ + "serving"'
def tf_serving_workspace():
    native.new_local_repository(
    name = "inception_model",
    path = "tf_models/research/inception",
    build_file = "tf_models/research/inception/inception/BUILD",
    )
tf_workspace(path_prefix = "", tf_repo_name = "org_tensorflow")
#gRPC依赖
native.bind(
name = "libssl",
actual = "@boringssl//:ssl",
)
  native.bind(
  name = "zlib",
  actual = "@zlib_archive//:zlib")

*************************************************************************

tf_serving/tensorflow_serving/BUILD解读:

*************************************************************************

# Tensorflow serving描述
package(
default_visibility=["//tensorflow_serving:internal"],
)
licenses(["notice"])
exports_files(["LICENSE"])
#开放源代码标记
package_group(
name = "internal",
package = [
"//tensorflow_serving/...",
],
)
filegroup(
name = "all_files",
srcs = glob(
["**/*"],
exclude = [
"**/METADATA",
"**/OWNERS",
"g3doc/sitemap.md",
],
),
)

*************************************************************************

tf_serving/tensorflow/tensorflow/workspace.bzl解读:

*************************************************************************

# 可以在WORKSPACE文件中加载的Tensorflow外部依赖
load(……)
def _is_windows():
……
def _get_env_var():
……
# 从'native.bazel_version'中解析bazel版本字符串
def _parse_bazel_version():
……
# 检查正在使用指定版本的bazel
def check_version():
……
# 支持将Tensorflow作为submodule的临时工作区
def _temp_workaround_http_archive_impl():
……
# 如果非零code退出,则执行指定参数的命令并调用'fail'
def _execute_and_check_ret_code():
……
# 在仓库根目录应用补丁文件
def _apply_patch():
……
# 下载仓库,在根节点应用补丁
def _patched_http_archive_impl():
……
# 如果Tensorflow连接为submodule,path_prefix不再使用
# tf_repo_name正在考虑中
def tf_workspace():
……

*************************************************************************

tf_serving/tensorflow/tensorflow/BUILD解读:

*************************************************************************

package(default_visibility = [":internal"])
licenses(["notice"])
exports_files([
"LICENSE",
"ACKNOWLEDGMENTS",
# leakr文件用于//third_party/cloud_tpu
"leakr_badwords.dic",
"leakr_badfiles.dic",
])
load("//tensorflow:tensorflow.bzl", "tf_cc_shared_object")
load("//tensorflow/core:platform/default/build_config.bzl", 
"tf_additional_binary_deps",
)
# 各种config setting
config_setting()
package_group()
filegroup()
py_library()
filegroup(
name = "all_opensource_files",
data = [
":all_files",
"//tensorflow/c:all_files",
"//tensorflow/cc:all_files",
……],
visibility = [':__subpackages__'],
)
load("//third_party/mkl:build_defs.bzl",
"if_mkl",
)
filegroup(
name = "intel_binary_blob",
data = if_mkl(
[
"//third_party/mkl:intel_binary_blob",
],
),
)
filegroup(
name = "docs_src",
data = glob(["docs_src/**/*.md"]),
)
tf_cc_shared_object(
……
)
时间: 2024-11-06 13:29:40

tensorflow serving目录解读的相关文章

tensorflow serving 之minist_saved_model.py解读

最近在学习tensorflow serving,但是就这样平淡看代码可能觉得不能真正思考,就想着写个文章看看,自己写给自己的,就像自己对着镜子演讲一样,写个文章也像自己给自己讲课,这样思考的比较深,学到的也比较多,有错欢迎揪出, minist_saved_model.py 是tensorflow的第一个例子,里面有很多serving的知识,还不了解,现在看.下面是它的入口函数,然后直接跳转到main if __name__ == '__main__': tf.app.run() 在main函数里

tensorflow serving 中 No module named tensorflow_serving.apis,找不到predict_pb2问题

最近在学习tensorflow serving,但是运行官网例子,不使用bazel时,发现运行mnist_client.py的时候出错, 在api文件中也没找到predict_pb2,因此,后面在网上看到,它在这里 "bazel-bin/tensorflow_serving/example/mnist_client.runfiles/tf_serving/tensorflow_serving/apis" 好像这是bazel编译生成的(网上观点,出处找不到啦),好吧,又回到bazel了.

Tensorflow serving的编译

Tensorflow serving提供了部署tensorflow生成的模型给线上服务的方法,包括模型的export,load等等. 安装参考这个 https://github.com/tensorflow/serving/blob/master/tensorflow_serving/g3doc/setup.md ? ? 但是由于被qiang的问题 (googlesource无法访问) https://github.com/tensorflow/serving/issues/6 需要修改一下 W

Tensorflow r1.12及tensorflow serving r1.12 GPU版本编译遇到的问题

1.git clone tensorflow serving 及tensorflow代码 2. ERROR: /root/.cache/bazel/_bazel_root/f71d782da17fd83c84ed6253a342a306/external/local_config_cuda/crosstool/BUILD:4:1: Traceback (most recent call last): File "/root/.cache/bazel/_bazel_root/f71d782da17

Tensorflow serving with Kubernetes

1.Build docker image 由于自己build镜像总是遇到问题,此处暂时借用dockerhub上的一个镜像 docker.io/mochin/tensorflow-serving 将此镜像push到k8s所在集群的docker registry中 2.编写yaml 官方例子中给出了一个yaml不过有些地方不对,或者不适用这个dockerimage(可能是因为0.4.0的版本) 做出了一些修改 apiVersion: extensions/v1beta1 kind: Deployme

TensorFlow分布式计算机制解读:以数据并行为重

Tensorflow 是一个为数值计算(最常见的是训练神经网络)设计的流行开源库.在这个框架中,计算流程通过数据流程图(data flow graph)设计,这为更改操作结构与安置提供了很大灵活性.TensorFlow 允许多个 worker 并行计算,这对必须通过处理的大量训练数据训练的神经网络是有益的.此外,如果模型足够大,这种并行化有时可能是必须的.在本文中,我们将探讨 TensorFlow 的分布式计算机制. TensorFlow 计算图示例 数据并行 VS. 模型并行 当在多个计算节点

将libFM模型变换成tensorflow可serving的形式

fm_model是libFM生成的模型 model.ckpt是可以tensorflow serving的模型结构 代码: import tensorflow as tf def load_fm_model(file_name): state = '' fid = 0 max_fid = 0 w0 = 0.0 wj = {} v = {} k = 0 with open(file_name) as f: for line in f: line = line.rstrip() if 'global

Transformer解析与tensorflow代码解读

本文是针对谷歌Transformer模型的解读,根据我自己的理解顺序记录的. 另外,针对Kyubyong实现的tensorflow代码进行解读,代码地址https://github.com/Kyubyong/transformer 首先是Layer Normalization部分,和Batch Normalization有点不一样, 原文地址:https://www.cnblogs.com/zhouxiaosong/p/11032431.html

(转) TensorFlow深度学习,一篇文章就够了

TensorFlow深度学习,一篇文章就够了 2016/09/22 · IT技术 · TensorFlow, 深度学习 分享到:6 原文出处: 我爱计算机 (@tobe迪豪 ) 作者: 陈迪豪,就职小米科技,深度学习工程师,TensorFlow代码提交者. TensorFlow深度学习框架 Google不仅是大数据和云计算的领导者,在机器学习和深度学习上也有很好的实践和积累,在2015年年底开源了内部使用的深度学习框架TensorFlow. 与Caffe.Theano.Torch.MXNet等框