paddle_quantum.qml.qnnmic
QNNMIC 模型。
- class QNNMIC(num_qubits, num_depths, observables)
基类:
paddle.nn.Layer
基于量子神经网络进行医学图片分类。
- 参数:
num_qubits (List[int]) – 每层量子电路的比特数。
num_depths (List[int]) – 每层参数化部分的电路深度。
observables (List) – 每层电路的测量算子。
- forward(batch_input)
- 参数:
batch_input (List[paddle.Tensor]) – 模型的输入,其形状为 \((\text{batch_size}, -1)\) 。
- 返回:
返回模型的输出,其形状为 \((\text{batch_size}, \text{num_classes})\) 。
- 返回类型:
paddle.Tensor
- train(model_name, num_qubits, num_depths, observables, batch_size: int = 20, num_epochs: int = 4, learning_rate: float = 0.1, dataset: str = 'SurfaceCrack', saved_dir: str = './', using_validation: bool = False, num_train: int = -1, num_val: int = -1, num_test: int = -1)
训练 QNNMIC 模型。
- 参数:
model_name (str) – 模型的名字,用于保存模型。
num_qubits (List[int]) – 每层量子电路的比特数。
num_depths (List[int]) – 每层参数化部分的电路深度。
observables (List) – 每层电路的测量算子。
batch_size (Optional[int]) – 数据的批大小,默认为
20
。num_epochs – 训练的轮数,默认为
4
。learning_rate (Optional[float]) – 更新参数的学习率,默认为
0.1
。dataset (str) – 需要使用的数据集,默认为
SurfaceCrack
。saved_dir (str) – 日志文件保存的路径,默认为
./
。using_validation (bool) – 是否使用验证集,默认为
False
。num_train (Optional[int]) – 训练集的数据量。默认为
-1
,即使用所有的训练数据。num_val (Optional[int]) – 验证集的数据量。默认为
-1
,即使用所有的训练数据。num_test (Optional[int]) – 测试集的数据量。默认为
-1
,即使用所有的训练数据。
- inference(image_path: str, num_samples: int, model_path: str, num_qubits: List, num_depths: List, observables: List)
使用 QNNMIC 模型进行推理。
- 参数:
image_path (str) – 需要推理的数据集。
num_samples (Optional[int]) – 需要推理数据集中图片的数量。
model_path (str) – 推理使用的模型。
num_qubits (List[int]) – 每层量子电路的比特数。
num_depths (List[int]) – 每层参数化部分的电路深度。
observables (List) – 每层电路的测量算子。