TensorFlow神经网络集成方案

创造张力流create_tensorflow_neuropod

将TensorFlow模型打包为neuropod包。

create_tensorflow_neuropod(

neuropod_path,

model_name,

node_name_mapping,

input_spec,

output_spec,

frozen_graph_path = None,

graph_def = None,

init_op_names = [],

input_tensor_device = None,

default_input_tensor_device = GPU,

custom_ops = [],

package_as_zip = True,

test_input_data = None,

test_expected_out = None,

persist_test_data = True,

)

参数:

路径

输出路径

型号名称

模型的名称

节点名称映射

从neuropod输入/输出名称映射到图形中的节点。0是可选的。

Example:

{

"x": "some_namespace/in_x:0",

"y": "some_namespace/in_y:0",

"out": "some_namespace/out:0",

}

输入规格input_spec

指定模型输入的dict列表。对于每个输入,如果shape设置为None,则不对该形状进行验证。如果shape是元组,则根据该元组验证输入的维度。任何维度的值为“无”表示将不检查该维度。数据类型可以是任何有效的numpy数据类型字符串。

Example:

  1. [
    {"name": "x", "dtype": "float32", "shape": (None,)},
  1.     {"name": "y", "dtype": "float32", "shape": (None,)},
  1. ]

输出规格output_spec

指定模型输出的dict列表。有关详细信息,请参阅input_spec参数的文档。

Example:

  1. [
    {"name": "out", "dtype": "float32", "shape": (None,)},
  1. ]

frozen_graph_path

default: None

冻结张量流图的路径。如果未提供此选项,则必须设置图形定义graph_def

graph_def

default: None

tensorflow GraphDef对象。

如果未提供,则必须设置frozen_graph_path路径。

init_op_names

default: []

初始化运算符名称的列表。这些操作在会话创建后立即在用于推理的会话中求值。这些运算符可用于变量的初始化。

input_tensor_device

default: None

dict将输入张量名称映射到模型希望它们在其上的设备。这可以是GPU或CPU。此映射中未指定的输入规格中的任何张量都将使用下面指定的默认输入张量设备。

如果在推断时选择了GPU,则在运行模型之前,神经网络集成软件会将张量移动到适当的设备。否则,它将尝试在CPU上运行模型,并将所有张量(和模型)移到CPU上。

有关更多信息,请参阅load_neurood的文档字符串。

Example:

  1. {"x": "GPU"}

default_input_tensor_device

default: GPU

输入张量的默认设备应该打开。这可以是GPU或CPU。

custom_ops

default: []

要包含在打包的neuropod中的自定义op共享库的路径列表。

注意:包括定制操作将您的neuropod绑定到定制操作为之构建的特定平台(如Mac、Linux)。用户有责任确保为正确的平台构建自定义操作。

Example:

  1. ["/path/to/my/custom_op.so"]

package_as_zip

default: True

是将neuropod打包为一个文件还是一个目录。

test_input_data

default: None

可选样本输入数据。

这是一个将输入名称映射到值的dict。如果提供了这一点,则在包装后立即在隔离环境中运行推断,以确保成功创建了神经网络集成软件。如果提供了预期的测试,则必须提供。

如果推断失败,则引发ValueError。

Example:

  1. {
  1.     "x": np.arange(5),
  1.     "y": np.arange(5),
  1. }

test_expected_out

default: None

可选的预期输出。如果模型推断的输出与预期的输出不匹配,则引发ValueError。

Example:

  1. {
  1.     "out": np.arange(5) + np.arange(5)
  1. }

persist_test_data

default: True

可选地将测试数据保存在包装好的神经网络集成软件内。

TensorFlow神经网络集成方案的更多相关文章

  1. 大前端技术系列:TWA技术+TensorFlow.js => 集成原生和AI功能的app

    大前端技术系列:TWA技术+TensorFlow.js => 集成原生和AI功能的app ( 本文内容为melodyWxy原作,git地址:https://github.com/melodyWx ...

  2. Python神经网络集成技术Guide指南

    Python神经网络集成技术Guide指南 本指南将介绍如何加载一个神经网络集成系统并从Python运行推断. 提示 所有框架的神经网络集成系统运行时接口都是相同的,因此本指南适用于所有受支持框架(包 ...

  3. Keras神经网络集成技术

    Keras神经网络集成技术 create_keras_neuropod 将Keras模型打包为神经网络集成包.目前,上文已经支持TensorFlow后端. create_keras_neuropod( ...

  4. neurosolutions 人工神经网络集成开发环境 keras

    人工神经网络集成开发环境 :  http://www.neurosolutions.com/ keras:   https://github.com/fchollet/keras 文档    http ...

  5. Spring+Struts集成(方案一)

    SSH框架是现在非常流行的框架之一,本文接下来主要来对Spring和Struts的集成进行展示. 集成原理:在Action中取得BeanFactory,通过BeanFactory取得业务逻辑对象. 集 ...

  6. SSO集成方案[随笔]

    看这个方案之前,先说明下为什么要加入SSO,以防对大家产生不好的影响.我们产品使用传统winform+db服务+Db存储方式开发,一群老菜帮子开发,以传统的datatble做数据传递,很多年了未有变化 ...

  7. Jmeter+Ant+Jenkins持续集成方案改进

    关于Jmeter+Ant+Jenkins如何搭建持续集成环境,网上资料一大把,就不多说了,本文主要谈一下期间的问题及扩展该持续集成方案. 其实核心的流程不复杂,Jenkins管理构建项目,Ant配置脚 ...

  8. FineReport和泛微OA(Ecology)的单点登录集成方案

    最近出现了很多关于帆软报表和泛微OA的集成问题,均出现在“单点登录”上.直接也有相关的文章介绍一些FineReport和泛微集成的背景.价值等,以及FineReport和OA的深度集成的方案,但是并没 ...

  9. (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案二

    http://blog.csdn.net/yerenyuan_pku/article/details/52894958 前面我们已经集成了Spring4.2.5+Hibernate4.3.11+Str ...

随机推荐

  1. Windows各版本以及漏洞

    目录 MS-Dos Win 9X Win NT Windows Server .NET FrameWork PowerShell IIS6.0漏洞 解析漏洞 IIS7.0/7.5漏洞 畸形解析漏洞 M ...

  2. 获取InputStream对象的方法

    获取InputStream对象的方法 getResourceAsStream(String path) 默认path路径位于Class所在Module的src目录下 . InputStream is ...

  3. cetnos中nmap端口扫描工具的使用

    1:安装: yum -y install nmap 2:使用方法: nmap -p 1-65535 1.1.1.1 #扫描1.1.1.1此IP地址的所有端口 nmap -p 80,443 1.1.1. ...

  4. 【原创】简单解释一下,什么叫TLAB

    [Deerhang] TLAB是全程Thread Local Allocation Buffer,中文大致的含义是:线程私有内存分配区.它存在的意义是提高线程在JVM堆上创建对象的效率.那么它是如何做 ...

  5. 2020中国大学生程序设计竞赛(CCPC) - 网络选拔赛总结

    1003 Express Mail Taking 题意:有n个柜子(编号1-n),m封信,k号位置有钥匙,现在需要取信封,并且每取一次信封都要从k号位置进行领取一次钥匙,再去有信封的位置领取信封,问最 ...

  6. 如何解决 shell 脚本重复执行的问题

    在开发过程中,经常会使用shell脚本去完成定时备份的任务,普遍的做法是通过系统的定时任务定时执行备份脚本 设想这样一种场景,本次备份时间到了,自动执行备份脚本,如果备份比较耗时的话,会一直持续到下一 ...

  7. EasyBPM打印模板的缓存问题

    业务平台EasyBPM(易实管理软件)有一个功能是模板打印的功能.就是可以使用一个docx格式的模板,输出一个docx格式的单据的文档. 打印的逻辑是先从服务端获取模板,如果没有对应的模板,就提示先上 ...

  8. JMeter四种参数化方式

    JMeter参数化是指把固定的数据动态化,这样更贴合实际的模拟用户请求,比如模拟多个不同账号.JMeter一共有四种参数化方式,分别是: CSV Data Set Config Function He ...

  9. RHEL高级磁盘管理—Stratis

    2. Stratis 本地存储管理工具,通过Stratis可以便捷的使用Thin Provisioning.Snapshots.Pool-based的管理和监控等高级存储功能. Stratis 基于x ...

  10. python上下文管理协议,即with的详细使用

    一.with obj as f: #代码块... 二.执行流程: 1.with obj --->触发obj.__enter__(),需要在obj里写__enter__(self),在它里边写返回 ...