class_docstr: Policy net that takes in states and outputs actions.
  
  Args:
      network (optional): A network that takes in state and returns
          outputs for generating actions. For example, an instance of subclass
          of :class:`~texar.tf.modules.FeedForwardNetworkBase`. If `None`,
          a network is created as specified in :attr:`hparams`.
      network_kwargs (dict, optional): Keyword arguments for network
          constructor.
          Note that the `hparams` argument for network
          constructor is specified in the "network_hparams" field of
          :attr:`hparams` and should not be included in `network_kwargs`.
          Ignored if :attr:`network` is given.
      hparams (dict or HParams, optional): Hyperparameters. Missing
          hyperparamerter will be set to default values. See
          :meth:`default_hparams` for the hyperparameter sturcture and
          default values.
class_docstr_tok: ["Policy","net","that","takes","in","states","and","outputs","actions",".","Args",":","network","(","optional",")",":","A","network","that","takes","in","state","and","returns","outputs","for","generating","actions",".","For","example",",","an","instance","of","subclass","of",":","class",":","`","~texar.tf.modules.FeedForwardNetworkBase","`",".","If","`","None","`",",","a","network","is","created","as","specified","in",":","attr",":","`","hparams","`",".","network_kwargs","(","dict",",","optional",")",":","Keyword","arguments","for","network","constructor",".","Note","that","the","`","hparams","`","argument","for","network","constructor","is","specified","in","the","``","network_hparams","''","field","of",":","attr",":","`","hparams","`","and","should","not","be","included","in","`","network_kwargs","`",".","Ignored","if",":","attr",":","`","network","`","is","given",".","hparams","(","dict","or","HParams",",","optional",")",":","Hyperparameters",".","Missing","hyperparamerter","will","be","set","to","default","values",".","See",":","meth",":","`","default_hparams","`","for","the","hyperparameter","sturcture","and","default","values","."]
docstr: Returns a dictionary of hyperparameters with default values.
  
  .. role:: python(code)
     :language: python
  
  .. code-block:: python
  
      {
          'network_type': 'FeedForwardNetwork',
          'network_hparams': {
              'layers': [
                  {
                      'type': 'Dense',
                      'kwargs': {'units': 256, 'activation': 'relu'}
                  },
                  {
                      'type': 'Dense',
                      'kwargs': {'units': 256, 'activation': 'relu'}
                  },
              ]
          },
          'distribution_kwargs': None,
          'name': 'policy_net',
      }
  
  Here:
  
  "network_type": str or class or instance
      A network that takes in state and returns outputs for
      generating actions. This can be a class, its name or module path,
      or a class instance. Ignored if `network` is given to the
      constructor.
  
  "network_hparams": dict
      Hyperparameters for the network. With the :attr:`network_kwargs`
      argument to the constructor, a network is created with
      :python:`network_class(**network_kwargs, hparams=network_hparams)`.
  
      For example, the default values creates a two-layer dense network.
  
  "distribution_kwargs": dict, optional
      Keyword arguments for distribution constructor. A distribution
      would be created for action sampling.
  
  "name": str
      Name of the policy.
docstr_tok: ["Returns","a","dictionary","of","hyperparameters","with","default","values",".","..","role",":",":","python","(","code",")",":","language",":","python","..","code-block",":",":","python","{","'network_type","'",":","'FeedForwardNetwork","'",",","'network_hparams","'",":","{","'layers","'",":","[","{","'type","'",":","'Dense","'",",","'kwargs","'",":","{","'units","'",":","256",",","'activation","'",":","'relu","'","}","}",",","{","'type","'",":","'Dense","'",",","'kwargs","'",":","{","'units","'",":","256",",","'activation","'",":","'relu","'","}","}",",","]","}",",","'distribution_kwargs","'",":","None",",","'name","'",":","'policy_net","'",",","}","Here",":","''","network_type","''",":","str","or","class","or","instance","A","network","that","takes","in","state","and","returns","outputs","for","generating","actions",".","This","can","be","a","class",",","its","name","or","module","path",",","or","a","class","instance",".","Ignored","if","`","network","`","is","given","to","the","constructor",".","``","network_hparams","''",":","dict","Hyperparameters","for","the","network",".","With","the",":","attr",":","`","network_kwargs","`","argument","to","the","constructor",",","a","network","is","created","with",":","python",":","`","network_class","(","*","*","network_kwargs",",","hparams=network_hparams",")","`",".","For","example",",","the","default","values","creates","a","two-layer","dense","network",".","``","distribution_kwargs","''",":","dict",",","optional","Keyword","arguments","for","distribution","constructor",".","A","distribution","would","be","created","for","action","sampling",".","``","name","''",":","str","Name","of","the","policy","."]
code: def default_hparams():
      """Returns a dictionary of hyperparameters with default values.
  
      .. role:: python(code)
         :language: python
  
      .. code-block:: python
  
          {
              'network_type': 'FeedForwardNetwork',
              'network_hparams': {
                  'layers': [
                      {
                          'type': 'Dense',
                          'kwargs': {'units': 256, 'activation': 'relu'}
                      },
                      {
                          'type': 'Dense',
                          'kwargs': {'units': 256, 'activation': 'relu'}
                      },
                  ]
              },
              'distribution_kwargs': None,
              'name': 'policy_net',
          }
  
      Here:
  
      "network_type": str or class or instance
          A network that takes in state and returns outputs for
          generating actions. This can be a class, its name or module path,
          or a class instance. Ignored if `network` is given to the
          constructor.
  
      "network_hparams": dict
          Hyperparameters for the network. With the :attr:`network_kwargs`
          argument to the constructor, a network is created with
          :python:`network_class(**network_kwargs, hparams=network_hparams)`.
  
          For example, the default values creates a two-layer dense network.
  
      "distribution_kwargs": dict, optional
          Keyword arguments for distribution constructor. A distribution
          would be created for action sampling.
  
      "name": str
          Name of the policy.
      """
      return {
          "network_type": "FeedForwardNetwork",
          "network_hparams": {
              "layers": [
                  {
                      "type": "Dense",
                      "kwargs": {"units": 256, "activation": "relu"},
                  },
                  {
                      "type": "Dense",
                      "kwargs": {"units": 256, "activation": "relu"},
                  },
              ]
          },
          "distribution_kwargs": None,
          "name": "policy_net",
          "@no_typecheck": ["network_type", "network_hparams"],
      }
  
imports: import numpy
  import tensorflow
  from tensorflow_probability import distributions
  from texar.tf.module_base import ModuleBase
  from texar.tf.agents.agent_utils import Space
  from texar.tf.utils import utils
  from texar.tf.utils.dtypes import get_tf_dtype
label_desc: Use image node_id 2 for calling the PolicyNetBase obj's underlying member method code with example usage: obj.default_hparams() and returns: dict