# {py:mod}`evorl.networks.linear` ```{py:module} evorl.networks.linear ``` ```{autodoc2-docstring} evorl.networks.linear :parser: autodoc2_docstrings_parser :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`MLP ` - ```{autodoc2-docstring} evorl.networks.linear.MLP :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`SNMLP ` - ```{autodoc2-docstring} evorl.networks.linear.SNMLP :parser: autodoc2_docstrings_parser :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`make_discrete_q_network ` - ```{autodoc2-docstring} evorl.networks.linear.make_discrete_q_network :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`make_mlp ` - ```{autodoc2-docstring} evorl.networks.linear.make_mlp :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`make_policy_network ` - ```{autodoc2-docstring} evorl.networks.linear.make_policy_network :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`make_q_network ` - ```{autodoc2-docstring} evorl.networks.linear.make_q_network :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`make_v_network ` - ```{autodoc2-docstring} evorl.networks.linear.make_v_network :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`make_vmap_mlp ` - ```{autodoc2-docstring} evorl.networks.linear.make_vmap_mlp :parser: autodoc2_docstrings_parser :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ActivationFn ` - ```{autodoc2-docstring} evorl.networks.linear.ActivationFn :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`Initializer ` - ```{autodoc2-docstring} evorl.networks.linear.Initializer :parser: autodoc2_docstrings_parser :summary: ``` ```` ### API ````{py:data} ActivationFn :canonical: evorl.networks.linear.ActivationFn :value: > None ```{autodoc2-docstring} evorl.networks.linear.ActivationFn :parser: autodoc2_docstrings_parser ``` ```` ````{py:data} Initializer :canonical: evorl.networks.linear.Initializer :value: > None ```{autodoc2-docstring} evorl.networks.linear.Initializer :parser: autodoc2_docstrings_parser ``` ```` `````{py:class} MLP :canonical: evorl.networks.linear.MLP Bases: {py:obj}`flax.linen.Module` ```{autodoc2-docstring} evorl.networks.linear.MLP :parser: autodoc2_docstrings_parser ``` ````{py:attribute} activation :canonical: evorl.networks.linear.MLP.activation :type: evorl.networks.linear.ActivationFn :value: > None ```{autodoc2-docstring} evorl.networks.linear.MLP.activation :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} activation_final :canonical: evorl.networks.linear.MLP.activation_final :type: evorl.networks.linear.ActivationFn | None :value: > None ```{autodoc2-docstring} evorl.networks.linear.MLP.activation_final :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} kernel_init :canonical: evorl.networks.linear.MLP.kernel_init :type: evorl.networks.linear.Initializer :value: > 'lecun_uniform(...)' ```{autodoc2-docstring} evorl.networks.linear.MLP.kernel_init :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} layer_sizes :canonical: evorl.networks.linear.MLP.layer_sizes :type: collections.abc.Sequence[int] :value: > None ```{autodoc2-docstring} evorl.networks.linear.MLP.layer_sizes :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} norm_layer :canonical: evorl.networks.linear.MLP.norm_layer :type: flax.linen.Module | None :value: > None ```{autodoc2-docstring} evorl.networks.linear.MLP.norm_layer :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} use_bias :canonical: evorl.networks.linear.MLP.use_bias :type: bool :value: > True ```{autodoc2-docstring} evorl.networks.linear.MLP.use_bias :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} SNMLP :canonical: evorl.networks.linear.SNMLP Bases: {py:obj}`flax.linen.Module` ```{autodoc2-docstring} evorl.networks.linear.SNMLP :parser: autodoc2_docstrings_parser ``` ````{py:attribute} activation :canonical: evorl.networks.linear.SNMLP.activation :type: evorl.networks.linear.ActivationFn :value: > None ```{autodoc2-docstring} evorl.networks.linear.SNMLP.activation :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} activation_final :canonical: evorl.networks.linear.SNMLP.activation_final :type: evorl.networks.linear.ActivationFn | None :value: > None ```{autodoc2-docstring} evorl.networks.linear.SNMLP.activation_final :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} kernel_init :canonical: evorl.networks.linear.SNMLP.kernel_init :type: evorl.networks.linear.Initializer :value: > 'lecun_uniform(...)' ```{autodoc2-docstring} evorl.networks.linear.SNMLP.kernel_init :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} layer_sizes :canonical: evorl.networks.linear.SNMLP.layer_sizes :type: collections.abc.Sequence[int] :value: > None ```{autodoc2-docstring} evorl.networks.linear.SNMLP.layer_sizes :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} use_bias :canonical: evorl.networks.linear.SNMLP.use_bias :type: bool :value: > True ```{autodoc2-docstring} evorl.networks.linear.SNMLP.use_bias :parser: autodoc2_docstrings_parser ``` ```` ````` ````{py:function} make_discrete_q_network(action_size: int, n_stack: int = 1, hidden_layer_sizes: collections.abc.Sequence[int] = (256, 256), activation: evorl.networks.linear.ActivationFn = nn.relu, kernel_init: evorl.networks.linear.Initializer = jax.nn.initializers.lecun_uniform(), norm_layer_type: str = 'none', obs_key: str = '') -> flax.linen.Module :canonical: evorl.networks.linear.make_discrete_q_network ```{autodoc2-docstring} evorl.networks.linear.make_discrete_q_network :parser: autodoc2_docstrings_parser ``` ```` ````{py:function} make_mlp(layer_sizes: collections.abc.Sequence[int], activation: evorl.networks.linear.ActivationFn = nn.relu, kernel_init: evorl.networks.linear.Initializer = jax.nn.initializers.lecun_uniform(), activation_final: evorl.networks.linear.ActivationFn | None = None, use_bias: bool = True, norm_layer_type: str = 'none') -> flax.linen.Module :canonical: evorl.networks.linear.make_mlp ```{autodoc2-docstring} evorl.networks.linear.make_mlp :parser: autodoc2_docstrings_parser ``` ```` ````{py:function} make_policy_network(action_size: int, hidden_layer_sizes: collections.abc.Sequence[int] = (256, 256), use_bias: bool = True, activation: evorl.networks.linear.ActivationFn = nn.relu, activation_final: evorl.networks.linear.ActivationFn | None = None, norm_layer_type: str = 'none', obs_key: str = '') -> flax.linen.Module :canonical: evorl.networks.linear.make_policy_network ```{autodoc2-docstring} evorl.networks.linear.make_policy_network :parser: autodoc2_docstrings_parser ``` ```` ````{py:function} make_q_network(n_stack: int = 1, hidden_layer_sizes: collections.abc.Sequence[int] = (256, 256), activation: evorl.networks.linear.ActivationFn = nn.relu, kernel_init: evorl.networks.linear.Initializer = jax.nn.initializers.lecun_uniform(), norm_layer_type: str = 'none', obs_key: str = '') -> flax.linen.Module :canonical: evorl.networks.linear.make_q_network ```{autodoc2-docstring} evorl.networks.linear.make_q_network :parser: autodoc2_docstrings_parser ``` ```` ````{py:function} make_v_network(hidden_layer_sizes: collections.abc.Sequence[int] = (256, 256), activation: evorl.networks.linear.ActivationFn = nn.relu, kernel_init: evorl.networks.linear.Initializer = jax.nn.initializers.lecun_uniform(), norm_layer_type: str = 'none', obs_key: str = '') -> flax.linen.Module :canonical: evorl.networks.linear.make_v_network ```{autodoc2-docstring} evorl.networks.linear.make_v_network :parser: autodoc2_docstrings_parser ``` ```` ````{py:function} make_vmap_mlp(layer_sizes: collections.abc.Sequence[int], activation: evorl.networks.linear.ActivationFn = nn.relu, kernel_init: evorl.networks.linear.Initializer = jax.nn.initializers.lecun_uniform(), activation_final: evorl.networks.linear.ActivationFn | None = None, use_bias: bool = True, norm_layer_type: str = 'none', out_axes: int = -2) :canonical: evorl.networks.linear.make_vmap_mlp ```{autodoc2-docstring} evorl.networks.linear.make_vmap_mlp :parser: autodoc2_docstrings_parser ``` ````