:py:mod:`kosmos.ml.config.factories.model` ========================================== .. py:module:: kosmos.ml.config.factories.model Classes ------- .. py:class:: ModelConfig Bases: :py:class:`abc.ABC` Model configuration. | .. rubric:: Methods .. py:method:: get_instance(input_dim: int, output_dim: int) -> kosmos.ml.models.model.Model Get the model instance. :param input_dim: Model input dimension. :type input_dim: int :param output_dim: Model output dimension. :type output_dim: int :returns: Model instance. :rtype: Model ---- .. py:class:: NeuralNetworkConfig(hidden_layers: list[int]) Bases: :py:class:`ModelConfig` Neural network configuration. Initialize the neural network configuration. :param hidden_layers: Sizes of the hidden layers. The length of the list defines the number of hidden layers, and each element specifies the size of a layer. :type hidden_layers: list[int] | .. rubric:: Methods .. py:method:: get_instance(input_dim: int, output_dim: int) -> kosmos.ml.models.neural_network.NeuralNetwork Get the neural network instance. :param input_dim: Model input dimension. :type input_dim: int :param output_dim: Model output dimension. :type output_dim: int :returns: Neural network instance. :rtype: NeuralNetwork ---- .. py:class:: VQCConfig(num_layers: int, encoding_config: kosmos.ml.config.factories.encoding.EncodingConfig, weight_mapping_func: kosmos.ml.typing.TensorMapping | None = None, input_mapping_func: kosmos.ml.typing.TensorMapping | None = None, weight_init_range: tuple[float, float] = (-1.0, 1.0), bias_init_range: tuple[float, float] | None = (-0.001, 0.001), *, data_reuploading: bool = False, output_scaling: bool = False) Bases: :py:class:`ModelConfig` Variational quantum circuit configuration. Initialize the VQC configuration. :param num_layers: The number of variational layers. :type num_layers: int :param encoding_config: The encoding configuration. :type encoding_config: EncodingConfig :param weight_mapping_func: The mapping function for the weights. Defaults to None. :type weight_mapping_func: TensorMapping | None :param input_mapping_func: The mapping function for the input. Defaults to None. :type input_mapping_func: TensorMapping | None :param weight_init_range: Lower and upper bounds for initializing the trainable weight parameters. Defaults to (-1.0, 1.0). :type weight_init_range: tuple[float, float] :param bias_init_range: Lower and upper bounds for initializing the trainable bias parameters applied to each output unit. If None, no bias parameters are used. Defaults to (-0.001, 0.001). :type bias_init_range: tuple[float, float] | None :param data_reuploading: Whether to use data re-uploading. Defaults to False. :type data_reuploading: bool :param output_scaling: Whether to use output scaling. Defaults to False. :type output_scaling: bool | .. rubric:: Methods .. py:method:: get_instance(input_dim: int, output_dim: int) -> kosmos.ml.models.vqc.vqc.VQC Get the VQC instance. :param input_dim: Model input dimension. :type input_dim: int :param output_dim: Model output dimension. :type output_dim: int :returns: VQC instance. :rtype: VQC