日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DeepLearning:模型之间的相互转化(keras-hdf5→Tensorflow-pb文件)

發(fā)布時間:2025/3/20 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DeepLearning:模型之间的相互转化(keras-hdf5→Tensorflow-pb文件) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

【寫在前面】
在深度學習的應用中,我們往往需要將Python中訓練好的模型文件部署到實際的應用測試中,所以自然而然我們就需要進行模型之間的相互轉換,例如本人在Python環(huán)境下訓練好的hdf5文件,現(xiàn)在要加載到C++的Tensorflow部署環(huán)境完成實際的測試工作。

【轉換步驟】

1、獲取keras的hdf5模型
2、選擇樣本完成keras的hdf5模型測試,記錄測試結果
3、通過代碼實現(xiàn)hdf5模型到tensorflow pb模型的轉換
4、再次輸入樣本,完成pb模型測試,并將測試結果和hdf5模型的測試結果進行比較,評價模型轉換是否成功。

【轉換實戰(zhàn)】
1.hdf5模型的生成和測試大家根據(jù)自己的訓練過程和結果完成;
2.hdf5模型的轉化;

# 2022-1-4 # dragon——cheng # function: keras hdf5模型文件轉換為Tensorflow pb模型 # _*_ coding:utf-8 _*_ # 定義層from keras.models import load_model import tensorflow as tf import os import os.path as osp from keras import backend as K# 路徑參數(shù) input_path = 'E:\\projects\\PycharmProjects\\densenet\\keras\\model\\model1102\\checkpoint-128e-val_acc_0.74.hdf5'from keras.models import load_model import tensorflow as tf from keras import backend as K from tensorflow.python.framework import graph_io# from keras.models import TripletModeldef freeze_session(session, keep_var_names=None, output_names=None, clear_devices=True):from tensorflow.python.framework.graph_util import convert_variables_to_constantsgraph = session.graphwith graph.as_default():freeze_var_names = list(set(v.op.name for v in tf.global_variables()).difference(keep_var_names or []))output_names = output_names or []output_names += [v.op.name for v in tf.global_variables()]input_graph_def = graph.as_graph_def()if clear_devices:for node in input_graph_def.node:node.device = ""frozen_graph = convert_variables_to_constants(session, input_graph_def,output_names, freeze_var_names)return frozen_graph"""----------------------------------配置路徑-----------------------------------""" h5_model_path = 'E:\\projects\\PycharmProjects\\densenet\\keras\\model\\model1102\\checkpoint-128e-val_acc_0.74.hdf5' # Keras訓練模型 output_path = 'E:\\projects\\PycharmProjects\\densenet\\keras\\model\\/' # 轉換后pb模型的地址 pb_model_name = 'pb_model.pb' # 轉換后pb模型的文件名"""----------------------------------導入keras模型------------------------------""" K.set_learning_phase(0) net_model = load_model(h5_model_path)"""----------------------------------保存為.pb格式------------------------------""" sess = K.get_session() frozen_graph = freeze_session(K.get_session(), output_names=[net_model.output.op.name]) graph_io.write_graph(frozen_graph, output_path, pb_model_name, as_text=False)

【轉換測試】
skimage庫安裝:
conda install scikit-image

總結

以上是生活随笔為你收集整理的DeepLearning:模型之间的相互转化(keras-hdf5→Tensorflow-pb文件)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。