TensorFlow神经网络集成方案
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:
[
{"name": "x", "dtype": "float32", "shape": (None,)},
{"name": "y", "dtype": "float32", "shape": (None,)},
]
输出规格output_spec
指定模型输出的dict列表。有关详细信息,请参阅input_spec参数的文档。
Example:
[
{"name": "out", "dtype": "float32", "shape": (None,)},
]
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:
{"x": "GPU"}
default_input_tensor_device¶
default: GPU
输入张量的默认设备应该打开。这可以是GPU或CPU。
custom_ops¶
default: []
要包含在打包的neuropod中的自定义op共享库的路径列表。
注意:包括定制操作将您的neuropod绑定到定制操作为之构建的特定平台(如Mac、Linux)。用户有责任确保为正确的平台构建自定义操作。
Example:
["/path/to/my/custom_op.so"]
package_as_zip¶
default: True
是将neuropod打包为一个文件还是一个目录。
test_input_data¶
default: None
可选样本输入数据。
这是一个将输入名称映射到值的dict。如果提供了这一点,则在包装后立即在隔离环境中运行推断,以确保成功创建了神经网络集成软件。如果提供了预期的测试,则必须提供。
如果推断失败,则引发ValueError。
Example:
{
"x": np.arange(5),
"y": np.arange(5),
}
test_expected_out¶
default: None
可选的预期输出。如果模型推断的输出与预期的输出不匹配,则引发ValueError。
Example:
{
"out": np.arange(5) + np.arange(5)
}
persist_test_data¶
default: True
可选地将测试数据保存在包装好的神经网络集成软件内。