中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用keras和tensorflow保存為可部署的pb格式

發布時間:2020-07-22 11:23:39 來源:億速云 閱讀:405 作者:小豬 欄目:開發技術

這篇文章主要講解了如何使用keras和tensorflow保存為可部署的pb格式,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

Keras保存為可部署的pb格式

加載已訓練好的.h6格式的keras模型

傳入如下定義好的export_savedmodel()方法內即可成功保存

import keras
import os
import tensorflow as tf
from tensorflow.python.util import compat
from keras import backend as K

def export_savedmodel(model):
 '''
 傳入keras model會自動保存為pb格式
 '''
  model_path = "model/" # 模型保存的路徑
  model_version = 0 # 模型保存的版本
  # 從網絡的輸入輸出創建預測的簽名
  model_signature = tf.saved_model.signature_def_utils.predict_signature_def(
    inputs={'input': model.input}, outputs={'output': model.output})
  # 使用utf-8編碼將 字節或Unicode 轉換為字節
  export_path = os.path.join(compat.as_bytes(model_path), compat.as_bytes(str(model_version))) # 將保存路徑和版本號join
  builder = tf.saved_model.builder.SavedModelBuilder(export_path) # 生成"savedmodel"協議緩沖區并保存變量和模型
  builder.add_meta_graph_and_variables( # 將當前元圖添加到savedmodel并保存變量
    sess=K.get_session(), # 返回一個 session 默認返回tf的sess,否則返回keras的sess,兩者都沒有將創建一個全新的sess返回
    tags=[tf.saved_model.tag_constants.SERVING], # 導出模型tag為SERVING(其他可選TRAINING,EVAL,GPU,TPU)
    clear_devices=True, # 清除設備信息
    signature_def_map={ # 簽名定義映射
      tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY: # 默認服務簽名定義密鑰
        model_signature # 網絡的輸入輸出策創建預測的簽名
    })
  builder.save() # 將"savedmodel"協議緩沖區寫入磁盤.
  print("save model pb success ...")

model = keras.models.load_model('model_data/weight.h6') # 加載已訓練好的.h6格式的keras模型
export_savedmodel(model) # 將模型傳入保存模型的方法內,模型保存成功.

Tensorflow保存為可部署的pb格式

1、在tensorflow繪圖的情況下,使用tf.saved_model.simple_save()方法保存模型

2、傳入session

3、傳入保存路徑

4、傳入輸入占位符在inputs={“input_name”: 網絡輸入占位符變量}

5、傳入輸出變量在outputs={“output_name1”: 網絡輸出變量, “output_name2”: 網絡輸出變量}

即可成功保存為可部署的pb格式

tf.saved_model.simple_save(sess,
      "./model",
      inputs={"myInput": x}, # input_name可自定義,編碼客戶端時對應即可
      outputs={"myOutput": y})

保存好模型后會得到這樣格式文件證明你保存沒有問題了

variables/
  variables.data-*****-of-*****
  variables.index
saved_model.pb
print_r('點個贊吧');
var_dump('點個贊吧');
NSLog(@"點個贊吧!")
System.out.println("點個贊吧!");
console.log("點個贊吧!");
print("點個贊吧!");
printf("點個贊吧!\n");
cout << "點個贊吧!" << endl;
Console.WriteLine("點個贊吧!");
fmt.Println("點個贊吧!")
Response.Write("點個贊吧");
alert('點個贊吧')

補充知識:將Keras保存的HDF5或TensorFlow保存的PB模型文件轉化為Inter Openvino使用的IR(.xml & .bin)文件

本blog依據英特爾官方手冊《Model Optimizer Developer Guide》 翻譯編寫,經博主測試可用

intel NCS & OpenVINO

英特爾官方的NCS開發環境“OpenVINO”使用了名為Intermediate Representation(IR)的網絡模型,其中.xml文件保存了網絡的拓撲結構,而.bin文件以二進制方式保存了模型的權重w與偏差b。

首先我們需要配置Model Optimizer

如果是安裝適用于所有框架的Model Optimizer:

在安裝完OpenVINO后,我們找到以下位置:

<INSTALL_DIR>/deployment_tools/model_optimizer/install_prerequisites

運行以下命令:

對于Linux系統:

install_prerequisites.sh

對于Windows系統:

install_prerequisites.bat

如果只安裝適用于特定框架的Model Optimizer:

在安裝完OpenVINO后,我們找到以下位置:

<INSTALL_DIR>/model_optimizer/install_prerequisites

運行以下命令:

對于Caffe (Linux):

install_prerequisites_caffe.sh

對于Caffe (Windows):

install_prerequisites_caffe.bat

對于TensorFlow (Linux):

install_prerequisites_tf.sh

對于TensorFlow (Windows):

install_prerequisites_tf.bat

對于MXNet (Linux):

install_prerequisites_mxnet.sh

對于MXNet (Windows):

install_prerequisites_mxnet.bat

對于Kaldi (Linux):

install_prerequisites_kaldi.sh

對于Kaldi (Windows):

install_prerequisites_kaldi.bat

對于ONNX (Linux):

install_prerequisites_onnx.sh

對于ONNX (Windows):

install_prerequisites_onnx.bat

看完上述內容,是不是對如何使用keras和tensorflow保存為可部署的pb格式有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盐山县| 汕头市| 仁怀市| 阿拉善盟| 尼木县| 抚州市| 右玉县| 福州市| 宁化县| 庆安县| 仙桃市| 高尔夫| 阿坝县| 宜兰县| 上林县| 重庆市| 迭部县| 遂昌县| 凤山县| 郓城县| 顺平县| 蓬莱市| 黄平县| 鱼台县| 汝州市| 广河县| 凤冈县| 临汾市| 赤水市| 太原市| 巫山县| 潞城市| 临桂县| 青河县| 交口县| 乳源| 墨竹工卡县| 宝丰县| 南京市| 八宿县| 彭泽县|