import os from tensorflow.keras.applications.mobilenet_v2 import MobileNetV2 as Net import tensorflow as tf from tensorflow.python.framework import graph_io from tensorflow.keras.models import load_model import tensorflow.contrib.tensorrt as trt save_pb_dir = './models' model_fname = './models/model.h5' model = Net(weights='imagenet') os.makedirs(save_pb_dir, exist_ok=True) # Save the h5 file to path specified. model.save(model_fname) # Clear any previous session. tf.keras.backend.clear_session() def freeze_graph(graph, session, output, save_pb_dir='.', save_pb_name='frozen_model.pb', save_pb_as_text=False): with graph.as_default(): graphdef_inf = tf.graph_util.remove_training_nodes( graph.as_graph_def()) graphdef_frozen = tf.graph_util.convert_variables_to_constants(
import os from docopt import docopt import json from pathlib import Path import tensorflow as tf from tensorflow.python.framework import graph_io from tensorflow.keras.models import load_model from tensorflow.keras.applications.mobilenet_v2 import MobileNetV2 as Net model = Net(weights='imagenet') os.makedirs('./model', exist_ok=True) # Save the h5 file to path specified. model.save("./model/model.h5") in_model = './model/model.h5' output = './model' output_path = Path(output) output_meta = Path('%s/%s.metadata' % (output_path.parent.as_posix(), output_path.stem)) # Reset session tf.keras.backend.clear_session() tf.keras.backend.set_learning_phase(0) model = tf.keras.models.load_model(in_model, compile=False) session = tf.compat.v1.keras.backend.get_session() input_names = sorted([layer.op.name for layer in model.inputs]) output_names = sorted([layer.op.name for layer in model.outputs])