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.')
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')
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()
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()