Exemple #1
0
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])