Пример #1
0
    def convert_to_frozen_pb(self):
        tflite_convertor = CustomTocoConverter()

        # converting to frozen graph
        tflite_convertor.set_config_for_frozen_graph(
            input_dir_path=self._save_dir,
            input_pb_name=self._pb_filename,
            input_ckpt_name=self._ckpt_filename,
            output_dir_path=self._save_dir,
            output_node_names=self._output_node_name)
        tflite_convertor.convert_to_frozen_graph()
        logging.info('[TfliteSaverHook] Frozen graph is successfully created.')
Пример #2
0
def convert_to_tflite(module_name, pbsavedir, pbfilename, ckptfilename,
                      output_node_name, input_shape):
    # check tflite compatability
    print('------------------------------------------------')
    print('[tfTest] tflite compatability check')

    tflitedir = getcwd() + '/tflite_files/'
    if not tf.gfile.Exists(tflitedir):
        tf.gfile.MakeDirs(tflitedir)
    tflitefilename = module_name + '.tflite'
    tflite_convertor = TFliteConvertor()

    #output_node_name = 'unittest0/' + module_name + '/' + expected_output_name

    # converting to frozen graph
    tflite_convertor.set_config_for_frozen_graph(
        input_dir_path=pbsavedir,
        input_pb_name=pbfilename,
        input_ckpt_name='ckpt/' + ckptfilename,
        output_dir_path=pbsavedir,
        output_node_names=output_node_name)
    tflite_convertor.convert_to_frozen_graph()
    print("Your tflite at %s" % tflitedir + tflitefilename)

    # converting to tfilte graph
    tflite_convertor.set_config_for_tflite(
        input_dir_path=pbsavedir,
        output_dir_path=tflitedir,
        input_pb_file='frozen_' + pbfilename,
        output_tflite_file=tflitefilename,
        input_shape=str(input_shape[0]) + ',' + str(input_shape[1]) + ',' +
        str(input_shape[2]) + ',' + str(input_shape[3]),
        output_array=output_node_name,
        tf_src_dir_path=PATH_TENSORFLOW_SRC)

    # frozen grpah to tflite conversion
    tflite_convertor.convert_to_tflite_from_frozen_graph()
    print('[tftest] tflite compatability check successful')
Пример #3
0
def convert_to_frozen_pb(module_name, pbsavedir, pbfilename, ckptfilename,
                         output_node_name, input_shape):
    print('------------------------------------------------')
    print('[tfTest] frozen pb conversion')

    tflitedir = getcwd() + '/tflite_files/'
    if not tf.gfile.Exists(tflitedir):
        tf.gfile.MakeDirs(tflitedir)
    tflitefilename = module_name + '.tflite'
    tflite_convertor = TFliteConvertor()

    #output_node_name = 'unittest0/' + module_name + '/' + expected_output_name

    # converting to frozen graph
    tflite_convertor.set_config_for_frozen_graph(
        input_dir_path=pbsavedir,
        input_pb_name=pbfilename,
        input_ckpt_name='ckpt/' + ckptfilename,
        output_dir_path=pbsavedir,
        output_node_names=output_node_name)
    tflite_convertor.convert_to_frozen_graph()
    print('[tftest] frozen graph is successfully generated.')
# your dir for exporting tflite file
output_tflite_path = getcwd() + '/pb_and_ckpt/lenet5/tflite_out/'

# your dir path for tensorflow source
# where you need to fork tensorflow repo
#
PATH_TENSORFLOW_SRC = '/Users/jwkangmacpro2/SourceCodes/tensorflow/'

# The output/input node names are obtained from Tensorboard
output_node_names = 'model_out/Softmax'
input_node_names = 'input'

# input placeholder shape
input_shape_str = '1,28,28,1'

tflite_convertor = TFliteConvertor()

# tflite config
tflite_convertor.set_config_for_tflite(
    input_dir_path=input_frozen_pb_path,
    output_dir_path=output_tflite_path,
    input_pb_file='frozen_tf_graph_def_lenet5.pb',
    output_tflite_file='tflite_lenet5.tflite',
    inference_type='FLOAT',
    input_shape=input_shape_str,
    input_array=input_node_names,
    output_array=output_node_names,
    tf_src_dir_path=PATH_TENSORFLOW_SRC)

# frozen grpah to tflite conversion
tflite_convertor.convert_to_tflite_from_frozen_graph()
    author: Jaewook Kang
    date  : 2018 Apr
'''

import sys
from os import getcwd

# for lenet5
input_model_path    = getcwd()+'/pb_and_ckpt/lenet5/'
output_model_path   = getcwd()+'/pb_and_ckpt/lenet5/frozen_pb_out/'


# The output node name is from Tensorboard
output_node_names   = 'model_out/Softmax'

sys.path.insert(0,  input_model_path)
sys.path.insert(0,  getcwd()+'/convertor/')

from tflite_convertor import TFliteConvertor


tflite_convertor = TFliteConvertor()

tflite_convertor.set_config_for_frozen_graph(input_dir_path=input_model_path+'runtrain-20180613101503/',
                                             input_pb_name='tf_graph_def_lenet5.pb',
                                             input_ckpt_name='lenet5_model_variable.ckpt',
                                             output_dir_path=output_model_path,
                                             output_node_names=output_node_names)

tflite_convertor.convert_to_frozen_graph()
Пример #6
0
    author: Jaewook Kang and Doyoung Kwak
    date  : 2018 June
'''

import sys
from os import getcwd

# for dont be turtle proj
input_model_path = getcwd() + '/pb_and_ckpt/turtle/'
output_model_path = getcwd() + '/pb_and_ckpt/turtle/frozen_pb_out/'

# The output node name is from Tensorboard
output_node_names = 'HG/last5/Sigmoid'

sys.path.insert(0, input_model_path)
sys.path.insert(0, getcwd() + '/convertor/')

from tflite_convertor import TFliteConvertor

tflite_convertor = TFliteConvertor()

tflite_convertor.set_config_for_frozen_graph(
    input_dir_path=input_model_path + 'runtrain-20180613-yglee/',
    input_pb_name='net.pb',
    input_ckpt_name='net.ckpt',
    output_dir_path=output_model_path,
    output_node_names=output_node_names)

tflite_convertor.convert_to_frozen_graph()