parameters: (input_graph,
                   input_saver,
                   input_binary,
                   input_checkpoint,
                   output_node_names,
                   restore_op_name,
                   filename_tensor_name,
                   output_graph,
                   clear_devices,
                   initializer_nodes,
                   variable_names_blacklist="")
docstring: Converts all variables in a graph and checkpoint into constants.
docstring_summary: Converts all variables in a graph and checkpoint into constants.
docstring_tokens: Converts all variables in a graph and checkpoint into constants .
function: def freeze_graph(input_graph,
                   input_saver,
                   input_binary,
                   input_checkpoint,
                   output_node_names,
                   restore_op_name,
                   filename_tensor_name,
                   output_graph,
                   clear_devices,
                   initializer_nodes,
                   variable_names_blacklist=""):
    """Converts all variables in a graph and checkpoint into constants."""
  
    if not gfile.Exists(input_graph):
      print("Input graph file '" + input_graph + "' does not exist!")
      return -1
  
    if input_saver and not gfile.Exists(input_saver):
      print("Input saver file '" + input_saver + "' does not exist!")
      return -1
  
    # 'input_checkpoint' may be a prefix if we're using Saver V2 format
    if not saver_lib.checkpoint_exists(input_checkpoint):
      print("Input checkpoint '" + input_checkpoint + "' doesn't exist!")
      return -1
  
    if not output_node_names:
      print("You need to supply the name of a node to --output_node_names.")
      return -1
  
    input_graph_def = graph_pb2.GraphDef()
    mode = "rb" if input_binary else "r"
    with gfile.FastGFile(input_graph, mode) as f:
      if input_binary:
        input_graph_def.ParseFromString(f.read())
      else:
        text_format.Merge(f.read().decode("utf-8"), input_graph_def)
    # Remove all the explicit device specifications for this node. This helps to
    # make the graph more portable.
    if clear_devices:
      for node in input_graph_def.node:
        node.device = ""
    _ = importer.import_graph_def(input_graph_def, name="")
  
    with session.Session() as sess:
      if input_saver:
        with gfile.FastGFile(input_saver, mode) as f:
          saver_def = saver_pb2.SaverDef()
          if input_binary:
            saver_def.ParseFromString(f.read())
          else:
            text_format.Merge(f.read(), saver_def)
          saver = saver_lib.Saver(saver_def=saver_def)
          saver.restore(sess, input_checkpoint)
      else:
        sess.run([restore_op_name], {filename_tensor_name: input_checkpoint})
        if initializer_nodes:
          sess.run(initializer_nodes)
  
      variable_names_blacklist = (variable_names_blacklist.split(",") if
                                  variable_names_blacklist else None)
      output_graph_def = graph_util.convert_variables_to_constants(
          sess,
          input_graph_def,
          output_node_names.split(","),
          variable_names_blacklist=variable_names_blacklist)
  
    with gfile.GFile(output_graph, "wb") as f:
      f.write(output_graph_def.SerializeToString())
    print("%d ops in the final graph." % len(output_graph_def.node))
function_tokens: def freeze_graph ( input_graph , input_saver , input_binary , input_checkpoint , output_node_names , restore_op_name , filename_tensor_name , output_graph , clear_devices , initializer_nodes , variable_names_blacklist = "" ) : if not gfile . Exists ( input_graph ) : print ( "Input graph file '" + input_graph + "' does not exist!" ) return - 1 if input_saver and not gfile . Exists ( input_saver ) : print ( "Input saver file '" + input_saver + "' does not exist!" ) return - 1 # 'input_checkpoint' may be a prefix if we're using Saver V2 format if not saver_lib . checkpoint_exists ( input_checkpoint ) : print ( "Input checkpoint '" + input_checkpoint + "' doesn't exist!" ) return - 1 if not output_node_names : print ( "You need to supply the name of a node to --output_node_names." ) return - 1 input_graph_def = graph_pb2 . GraphDef ( ) mode = "rb" if input_binary else "r" with gfile . FastGFile ( input_graph , mode ) as f : if input_binary : input_graph_def . ParseFromString ( f . read ( ) ) else : text_format . Merge ( f . read ( ) . decode ( "utf-8" ) , input_graph_def ) # Remove all the explicit device specifications for this node. This helps to # make the graph more portable. if clear_devices : for node in input_graph_def . node : node . device = "" _ = importer . import_graph_def ( input_graph_def , name = "" ) with session . Session ( ) as sess : if input_saver : with gfile . FastGFile ( input_saver , mode ) as f : saver_def = saver_pb2 . SaverDef ( ) if input_binary : saver_def . ParseFromString ( f . read ( ) ) else : text_format . Merge ( f . read ( ) , saver_def ) saver = saver_lib . Saver ( saver_def = saver_def ) saver . restore ( sess , input_checkpoint ) else : sess . run ( [ restore_op_name ] , { filename_tensor_name : input_checkpoint } ) if initializer_nodes : sess . run ( initializer_nodes ) variable_names_blacklist = ( variable_names_blacklist . split ( "," ) if variable_names_blacklist else None ) output_graph_def = graph_util . convert_variables_to_constants ( sess , input_graph_def , output_node_names . split ( "," ) , variable_names_blacklist = variable_names_blacklist ) with gfile . GFile ( output_graph , "wb" ) as f : f . write ( output_graph_def . SerializeToString ( ) ) print ( "%d ops in the final graph." % len ( output_graph_def . node ) )