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
可選地將測試數據保存在包裝好的神經網絡集成軟件內。