NeuralNetwork#

class NeuralNetwork(num_inputs, num_weights, sparse, output_shape, input_gradients=False)[소스]#

기반 클래스: ABC

Abstract Neural Network class providing forward and backward pass and handling batched inputs. This is to be implemented by other (quantum) neural networks.

매개변수:
  • num_inputs (int) – The number of input features.

  • num_weights (int) – The number of trainable weights.

  • sparse (bool) – Determines whether the output is a sparse array or not.

  • output_shape (int | tuple[int, ...]) – The shape of the output.

  • input_gradients (bool) – Determines whether to compute gradients with respect to input data.

예외 발생:

QiskitMachineLearningError – Invalid parameter values.

Attributes

input_gradients#

Returns whether gradients with respect to input data are computed by this neural network in the backward method or not. By default such gradients are not computed.

num_inputs#

Returns the number of input features.

num_weights#

Returns the number of trainable weights.

output_shape#

Returns the output shape.

sparse#

Returns whether the output is sparse or not.

Methods

backward(input_data, weights)[소스]#

Backward pass of the network.

매개변수:
  • input_data (float | list[float] | ndarray | None) – input data of the shape (num_inputs). In case of a single scalar input it is directly cast to and interpreted like a one-element array.

  • weights (float | list[float] | ndarray | None) – trainable weights of the shape (num_weights). In case of a single scalar weight

  • array. (it is directly cast to and interpreted like a one-element) –

반환:

The result of the neural network of the backward pass, i.e., a tuple with the gradients for input and weights of shape (output_shape, num_input) and (output_shape, num_weights), respectively.

반환 형식:

tuple[numpy.ndarray | qiskit_machine_learning.neural_networks.neural_network.SparseArray | None, numpy.ndarray | qiskit_machine_learning.neural_networks.neural_network.SparseArray | None]

forward(input_data, weights)[소스]#

Forward pass of the network.

매개변수:
  • input_data (float | list[float] | ndarray | None) – input data of the shape (num_inputs). In case of a single scalar input it is directly cast to and interpreted like a one-element array.

  • weights (float | list[float] | ndarray | None) – trainable weights of the shape (num_weights). In case of a single scalar weight it is directly cast to and interpreted like a one-element array.

반환:

The result of the neural network of the shape (output_shape).

반환 형식:

ndarray | SparseArray