Keras神經網絡集成技術

Keras神經網絡集成技術

create_keras_neuropod

將Keras模型打包爲神經網絡集成包。目前,上文已經支持TensorFlow後端。

create_keras_neuropod(

neuropod_path,

model_name,

sess,

model,

node_name_mapping = None,

input_spec = None,

output_spec = None,

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_path

neuropod輸出路徑

model_name

模型名稱

Sess

包含權重的TensorFlow會話(一般是keras.backend.get_session())

model

一種 Keras model 目標.

node_name_mapping

default:
None

從neuropod輸入/輸出名稱到Keras輸入/輸出名稱的可選映射。

Example:

{

“x”: “input_1”,

“out”: “fc1000”,

}

默認狀態,用 Kerasinput/output 名稱代替 neuropod input/output 名稱。

input_spec

default: None

指定模型輸入的dict列表。對於每個輸入,如果shape設置爲None,則不對該形狀進行驗證。如果shape是元組,則根據該元組驗證輸入的維度。任何維度的值爲“無”表示將不檢查該維度。數據類型可以是任何有效的numpy數據類型字符串。

Example:

[ {“name”: “x”, “dtype”: “float32”, “shape”: (None,)}, {“name”: “y”, “dtype”: “float32”, “shape”: (None,)},]

output_spec

default: None

指定模型輸出的dict列表。有關詳細信息,請參閱input_spec參數的文檔。

Example:

[ {“name”: “out”, “dtype”: “float32”, “shape”: (None,)},]

input_tensor_device

default: None

dict將輸入張量名稱映射到模型希望它們在其上的設備。這可以是GPU或CPU。此映射中未指定的輸入規格中的任何張量都將使用下面指定的默認輸入張量設備default_input_tensor_device。

如果在推斷時選擇了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。如果提供了這一點,則在包裝後立即在隔離環境中運行推斷,以確保成功創建了神經網絡集成軟件。如果提供了預期的測試test_expected_out,則必須提供。

如果推斷失敗,則引發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

可選地將測試數據保存在包裝好的神經網絡集成軟件內。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章