蔺市网站建设,wordpress audio player 下载,厦门哪家做网站好,网站域名地址是什么背景#xff1a;目前keras框架使用简单#xff0c;很容易上手#xff0c;深得广大算法工程师的喜爱#xff0c;但是当部署到客户端时#xff0c;可能会出现各种各样的bug#xff0c;甚至不支持使用keras#xff0c;本文来解决的是将keras的h5模型转换为客户端常用的tens…背景目前keras框架使用简单很容易上手深得广大算法工程师的喜爱但是当部署到客户端时可能会出现各种各样的bug甚至不支持使用keras本文来解决的是将keras的h5模型转换为客户端常用的tensorflow的pb模型并使用tensorflow加载pb模型。h5_to_pb.pyfrom keras.models import load_modelimport tensorflow as tfimport osimport os.path as ospfrom keras import backend as K#路径参数input_path input pathweight_file weight.h5weight_file_path osp.join(input_path,weight_file)output_graph_name weight_file[:-3] .pb#转换函数def h5_to_pb(h5_model,output_dir,model_name,out_prefix output_,log_tensorboard True):if osp.exists(output_dir) False:os.mkdir(output_dir)out_nodes []for i in range(len(h5_model.outputs)):out_nodes.append(out_prefix str(i 1))tf.identity(h5_model.output[i],out_prefix str(i 1))sess K.get_session()from tensorflow.python.framework import graph_util,graph_ioinit_graph sess.graph.as_graph_def()main_graph graph_util.convert_variables_to_constants(sess,init_graph,out_nodes)graph_io.write_graph(main_graph,output_dir,name model_name,as_text False)if log_tensorboard:from tensorflow.python.tools import import_pb_to_tensorboardimport_pb_to_tensorboard.import_to_tensorboard(osp.join(output_dir,model_name),output_dir)#输出路径output_dir osp.join(os.getcwd(),trans_model)#加载模型h5_model load_model(weight_file_path)h5_to_pb(h5_model,output_dir output_dir,model_name output_graph_name)print(model saved)将转换成的pb模型进行加载load_pb.pyimport tensorflow as tffrom tensorflow.python.platform import gfiledef load_pb(pb_file_path):sess tf.Session()with gfile.FastGFile(pb_file_path, rb) as f:graph_def tf.GraphDef()graph_def.ParseFromString(f.read())sess.graph.as_default()tf.import_graph_def(graph_def, name)print(sess.run(b:0))#输入input_x sess.graph.get_tensor_by_name(x:0)input_y sess.graph.get_tensor_by_name(y:0)#输出op sess.graph.get_tensor_by_name(op_to_store:0)#预测结果ret sess.run(op, {input_x: 3, input_y: 4})print(ret)