class_docstr: Model class for TensorFlow.
  
  A TfModel only contains the structure/configuration of the underlying
  computation graphs. Connectivity information are all in Network class.
  A TfModel contains zero or more Network.
  
  When a Network is created, it reuses the parameter from the
  model. If a Network is built without given a name, the name "default" will
  be used.
  
  ***
  Do not call tf.global_variable_initializers() after building a model as it
  will reassign random weights to the model.
  The parameters inside a model will be initialized when calling build().
  ***
  
  Pickling is handled automatcailly. The target weights should be assigned to
  self._default_parameters before pickling, so that the newly created model
  can check if target weights exist or not. When unpickled, the unserialized
  model will load the weights from self._default_parameters.
  
  The design is illustrated as the following:
  
       input_1                      input_2
          |                            |
  ============== Model (TfModel)===================
  |       |                            |          |
  |       |            Parameters      |          |
  |    =============  /           \  ============ |
  |    |  default  | /             \ | Network2 | |
  |    | (Network) |/               \|(Network) | |
  |    =============                 ============ |
  |       |                            |          |
  =================================================
          |                            |
          |                            |
  (outputs from 'default' networks)    |
                      outputs from ['Network2'] network
  
  
  Examples are also available in tests/garage/tf/models/test_model.
  
  Args:
    name (str): Name of the model. It will also become the variable scope
        of the model. Every model should have a unique name.
class_docstr_tok: ["Model","class","for","TensorFlow",".","A","TfModel","only","contains","the","structure\/configuration","of","the","underlying","computation","graphs",".","Connectivity","information","are","all","in","Network","class",".","A","TfModel","contains","zero","or","more","Network",".","When","a","Network","is","created",",","it","reuses","the","parameter","from","the","model",".","If","a","Network","is","built","without","given","a","name",",","the","name","``","default","''","will","be","used",".","*","*","*","Do","not","call","tf.global_variable_initializers","(",")","after","building","a","model","as","it","will","reassign","random","weights","to","the","model",".","The","parameters","inside","a","model","will","be","initialized","when","calling","build","(",")",".","*","*","*","Pickling","is","handled","automatcailly",".","The","target","weights","should","be","assigned","to","self._default_parameters","before","pickling",",","so","that","the","newly","created","model","can","check","if","target","weights","exist","or","not",".","When","unpickled",",","the","unserialized","model","will","load","the","weights","from","self._default_parameters",".","The","design","is","illustrated","as","the","following",":","input_1","input_2","|","|","==============","Model","(","TfModel",")","===================","|","|","|","|","|","|","Parameters","|","|","|","=============","\/","\\","============","|","|","|","default","|","\/","\\","|","Network2","|","|","|","|","(","Network",")","|\/","\\|","(","Network",")","|","|","|","=============","============","|","|","|","|","|","=================================================","|","|","|","|","(","outputs","from","'default","'","networks",")","|","outputs","from","[","'Network2","'","]","network","Examples","are","also","available","in","tests\/garage\/tf\/models\/test_model",".","Args",":","name","(","str",")",":","Name","of","the","model",".","It","will","also","become","the","variable","scope","of","the","model",".","Every","model","should","have","a","unique","name","."]
docstr: Name (str) of the model.
  
  This is also the variable scope of the model.
  
  Returns:
      str: Name of the model.
docstr_tok: ["Name","(","str",")","of","the","model",".","This","is","also","the","variable","scope","of","the","model",".","Returns",":","str",":","Name","of","the","model","."]
code: def name(self):
      """Name (str) of the model.
  
      This is also the variable scope of the model.
  
      Returns:
          str: Name of the model.
  
      """
      return self._name
  
imports: import abc
  from collections import namedtuple
  import warnings
  import tensorflow
  from garage.tf.models.module import Module
label_desc: Use image node_id 8 for calling the Model obj's underlying member method code with example usage: obj.name() and returns: self