"""Policies for TensorFlow-based algorithms."""
from garage.tf.policies.base import Policy
from garage.tf.policies.base import StochasticPolicy
from garage.tf.policies.categorical_conv_policy import CategoricalConvPolicy
from garage.tf.policies.categorical_conv_policy_with_model import (
    CategoricalConvPolicyWithModel)
from garage.tf.policies.categorical_gru_policy import CategoricalGRUPolicy
from garage.tf.policies.categorical_gru_policy_with_model import (
    CategoricalGRUPolicyWithModel)
from garage.tf.policies.categorical_lstm_policy import CategoricalLSTMPolicy
from garage.tf.policies.categorical_lstm_policy_with_model import (
    CategoricalLSTMPolicyWithModel)
from garage.tf.policies.categorical_mlp_policy import CategoricalMLPPolicy
from garage.tf.policies.categorical_mlp_policy_with_model import (
    CategoricalMLPPolicyWithModel)
from garage.tf.policies.continuous_mlp_policy import ContinuousMLPPolicy
from garage.tf.policies.continuous_mlp_policy_with_model import (
    ContinuousMLPPolicyWithModel)
from garage.tf.policies.deterministic_mlp_policy import DeterministicMLPPolicy
from garage.tf.policies.discrete_qf_derived_policy import (
    DiscreteQfDerivedPolicy)
from garage.tf.policies.gaussian_gru_policy import GaussianGRUPolicy
from garage.tf.policies.gaussian_gru_policy_with_model import (
    GaussianGRUPolicyWithModel)
from garage.tf.policies.gaussian_lstm_policy import GaussianLSTMPolicy
from garage.tf.policies.gaussian_lstm_policy_with_model import (
    GaussianLSTMPolicyWithModel)
from garage.tf.policies.gaussian_mlp_policy import GaussianMLPPolicy

__all__ = [
    'Policy', 'StochasticPolicy', 'CategoricalConvPolicy',
    'CategoricalConvPolicyWithModel', 'CategoricalGRUPolicy',
    'CategoricalGRUPolicyWithModel', 'CategoricalLSTMPolicy',
    'CategoricalLSTMPolicyWithModel', 'CategoricalMLPPolicy',
    'CategoricalMLPPolicyWithModel', 'ContinuousMLPPolicy',
    'ContinuousMLPPolicyWithModel', 'DiscreteQfDerivedPolicy',
    'DeterministicMLPPolicy', 'GaussianGRUPolicy', 'GaussianLSTMPolicy',
    'GaussianGRUPolicyWithModel', 'GaussianLSTMPolicyWithModel',
    'GaussianMLPPolicy'
]
