Python神經網路整合技術Guide指南

2021-10-07 05:40:18 字數 2382 閱讀 8950

python神經網路整合技術guide指南

本指南將介紹如何載入乙個神經網路整合系統並從python執行推斷。

提示所有框架的神經網路整合系統執行時介面都是相同的,因此本指南適用於所有受支援框架(包括tensorflow、pytorch、keras和torchscript)中的模型。

打包神經網路整合系統

有關如何在所有支援的框架中建立neuropod模型的示例,請參見基本介紹指南。

打包乙個神經網路整合系統

from neuropod.loader import load_neuropod

neuropod = load_neuropod(path_to_my_model)

還可以使用load_ernood作為上下文管理器:

from neuropod.loader import load_neuropod

with load_neuropod(path_to_my_model) as neuropod:

# do something here
pass

選項還可以在載入模型時提供執行時選項。

要選擇在哪個裝置上執行模型,可以提供乙個visible_gpu引數。

這是這個神經網路整合系統應該執行的gpu的索引(如果有的話)。可以是無整數,也可以是非負整數。將此設定為「無」將嘗試在cpu上執行此模型。

# run on cpu

neuropod = load_neuropod(path_to_my_model, visible_gpu=none)

# run on thesecond gpu

neuropod = load_neuropod(path_to_my_model, visible_gpu=1)

獲取模型的輸入和輸出

模型的輸入和輸出通過輸入和輸出屬性可用。

with load_neuropod(path_to_my_model) as neuropod:

# this is a list of dicts containing the "name", "dtype", and "shape"

# of the input

print(neuropod.inputs, neuropod.outputs)

推論模型的推理方法用於執行推理。此方法的輸入是將輸入名稱對映到值的dict。這必須與載入模型的neuropod配置中的輸入規範匹配。

提示這個dict中的所有鍵必須是字串,所有值必須是numpy陣列。

infer的輸出是將輸出名稱對映到值的dict。對其進行檢查,以確保其與已載入模型的neuropod配置中的規範匹配。這個dict中的所有鍵都是字串,所有值都是numpy陣列。

x = np.array([1, 2, 3, 4])

y = np.array([5, 6, 7, 8])

with load_neuropod(addition_model_path) as neuropod:

results = neuropod.infer()

# array([6, 8, 10, 12])

print results[「out」]

序列化import numpy as np from neuropod import neuropod_native

# an array toserialize

tensor = np.arange(5)

# convert anumpy array to a neuropodtensor and serialize it

serialized_bytes = neuropod_native.serialize(tensor)

# deserialize astring of bytes to a neuropodtensor

# (and return itas a numpy array)

deserialized = neuropod_native.deserialize(serialized_bytes)

# array([0, 1,2, 3, 4])

print(deserialized)

序列化**在numpy陣列和c++ nooppotostor對****象之間轉換(以零拷貝方式)。然後,使用c++序列化功能來序列化/反序列化。

提示序列化和反序列化工作在python和c++之間。這意味著可以在c++中序列化張量,在python中反序列化,反之亦然。

warning

這個api的目標是支援臨時序列化。不能保證向後相容,因此此api不應用於資料的長期儲存。

PyTorch神經網路整合技術

pytorch神經網路整合技術 create python neuropod 將任意python 打包為乙個neurood包。create python neuropod neuropod path,model name,data paths,code path spec,entrypoint pa...

Keras神經網路整合技術

keras神經網路整合技術 create keras neuropod 將keras模型打包為神經網路整合包。目前,上文已經支援tensorflow後端。create keras neuropod neuropod path,model name,sess,model,input spec none...

Python神經網路整合技術Guide指南

python神經網路整合技術guide指南 本指南將介紹如何載入乙個神經網路整合系統並從python執行推斷。提示所有框架的神經網路整合系統執行時介面都是相同的,因此本指南適用於所有受支援框架 包括tensorflow pytorch keras和torchscript 中的模型。打包神經網路整合系...