Python实现(PennyLane示例):import pennylane as qml
from pennylane import numpy as np
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
import torch
import torch.nn as nn
import torch.optim as optim
X, y = make_classification(n_samples=200, n_features=4, n_informative=4, n_redundant=0, random_state=42)
y = y * 2 - 1
scaler = MinMaxScaler(feature_range=(0, np.pi))
X_scaled = scaler.fit_transform(X)X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)
X_train_t = torch.tensor(X_train, dtype=torch.float32)
y_train_t = torch.tensor(y_train, dtype=torch.float32).unsqueeze(1)
X_test_t = torch.tensor(X_test, dtype=torch.float32)
y_test_t = torch.tensor(y_test, dtype=torch.float32).unsqueeze(1)
n_qubits = X.shape[1]
dev = qml.device("default.qubit", wires=n_qubits)
@qml.qnode(dev, interface="torch")
def vqc_circuit(inputs, weights):for i in range(n_qubits):qml.RY(inputs[i], wires=i)for i in range(n_qubits - 1):qml.CNOT(wires=[i, i + 1])for i in range(n_qubits):qml.RY(inputs[i], wires=i) n_layers = weights.shape[0]for l in range(n_layers):for i in range(n_qubits)