QuantumKernelTrainer¶
- class QuantumKernelTrainer(quantum_kernel, loss=None, optimizer=None, initial_point=None)[sorgente]¶
Basi:
object
Quantum Kernel Trainer. This class provides utility to train
QuantumKernel
feature map parameters.Example
# Create 2-qubit feature map qc = QuantumCircuit(2) # Vectors of input and trainable user parameters input_params = ParameterVector("x_par", 2) training_params = ParameterVector("θ_par", 2) # Create an initial rotation layer of trainable parameters for i, param in enumerate(training_params): qc.ry(param, qc.qubits[i]) # Create a rotation layer of input parameters for i, param in enumerate(input_params): qc.rz(param, qc.qubits[i]) quant_kernel = TrainableFidelityQuantumKernel( feature_map=qc, training_parameters=training_params, ) loss_func = ... optimizer = ... initial_point = ... qk_trainer = QuantumKernelTrainer( quantum_kernel=quant_kernel, loss=loss_func, optimizer=optimizer, initial_point=initial_point, ) qkt_results = qk_trainer.fit(X_train, y_train) optimized_kernel = qkt_results.quantum_kernel
- Parametri:
quantum_kernel (
TrainableKernel
) – QuantumKernel to be trainedloss (str or KernelLoss) – Loss functions available via string: {“svc_loss”: SVCLoss()}. If a string is passed as the loss function, then the underlying KernelLoss object will exhibit default behavior.
optimizer (
Optional
[Optimizer
]) – An instance ofOptimizer
to be used in training. Since no analytical gradient is defined for kernel loss functions, gradient-based optimizers are not recommended for training kernels.initial_point (
Optional
[Sequence
[float
]]) – Initial point from which the optimizer will begin.
- Solleva:
ValueError – unknown loss function
Attributes
Return initial point
Return the loss object.
Return an optimizer to be used in training.
Return the quantum kernel object.
Methods
fit
(data, labels)Train the QuantumKernel by minimizing loss over the kernel parameters.