genQC logo genQC logo genQC
  • Overview
  • Get Started
  • Tutorials
  • API Reference
  • Research
  • Code Repository
  1. Models
  2. Conditional qc-UNet

API Reference

  • Modules Overview
  • Release notes

  • Benchmark
    • Compilation benchmark
  • Dataset
    • Dataset balancing
    • Cached dataset
    • Quantum circuit dataset
    • Config dataset
    • Dataset helper functions
    • Mixed cached dataset
  • Inference
    • Evaluation metrics
    • Evaluation helper
    • Sampling functions
  • Models
    • Config model
    • Frozen OpenCLIP
    • Layers
    • Position encodings
    • Conditional qc-UNet
    • Encoder for unitaries
    • Clip
      • Frozen OpenCLIP
      • Unitary CLIP
    • Embedding
      • Base embedder
      • Rotational preset embedder
    • Transformers
      • Transformers and attention
      • CirDiT - Circuit Diffusion Transformer
      • Transformers
  • Pipeline
    • Callbacks
    • Compilation Diffusion Pipeline
    • Diffusion Pipeline
    • Diffusion Pipeline Special
    • Metrics
    • Multimodal Diffusion Pipeline
    • Pipeline
    • Unitary CLIP Pipeline
  • Platform
    • Circuits dataset generation functions
    • Circuits instructions
    • Simulation backend
    • Backends
      • Base backend
      • CUDA-Q circuits backend
      • Pennylane circuits backend
      • Qiskit circuits backend
    • Tokenizer
      • Base tokenizer
      • Circuits tokenizer
      • Tensor tokenizer
  • Scheduler
    • Scheduler
    • DDIM Scheduler
    • DDPM Scheduler
    • DPM Scheduler
  • Utils
    • Async functions
    • Config loader
    • Math and algorithms
    • Miscellaneous util

On this page

  • Blocks
    • UNet_block
    • Encoder
    • Decoder
  • Model definition
    • QC_Cond_UNet_config
    • QC_Cond_UNet
  • Unitary compilation extension
    • QC_Compilation_UNet_config
    • QC_Compilation_UNet
  • Report an issue
  • View source
  1. Models
  2. Conditional qc-UNet

Conditional qc-UNet

Quantum circuit U-Net architecture predicting the noise for noisy quantum circuits.

Blocks


source

UNet_block


def UNet_block(
    ch_in, ch_out, t_emb_size, cond_emb_size, num_heads:int=8, num_res_blocks:int=1, transformer_depth:int=1
):

The basic block of the U-Net. Is conditioned via cross-attention in SpatialTransformer and addition of the time ebedding in ResBlock2D_Conditional.


source

Encoder


def Encoder(
    model_features, t_emb_size, cond_emb_size, num_heads, num_res_blocks, transformer_depths
):

Encoder definition of the U-Net.


source

Decoder


def Decoder(
    model_features, t_emb_size, cond_emb_size, num_heads, num_res_blocks, transformer_depths
):

Decoder definition of the U-Net.

Model definition


source

QC_Cond_UNet_config


def QC_Cond_UNet_config(
    model_features:list, clr_dim:int, num_clrs:int, t_emb_size:int, cond_emb_size:int, num_heads:list,
    num_res_blocks:list, transformer_depths:list
)->None:

source

QC_Cond_UNet


def QC_Cond_UNet(
    model_features:list=[32, 32, 64], clr_dim:int=8, num_clrs:int=8, t_emb_size:int=128, cond_emb_size:int=512,
    num_heads:list=[8, 8, 2], num_res_blocks:list=[2, 2, 4], transformer_depths:list=[1, 2, 1]
):

Conditional U-Net model for quantum circuits. Implemets embedd_clrs and invert_clr functions to embed and decode color-tensors.

Unitary compilation extension


source

QC_Compilation_UNet_config


def QC_Compilation_UNet_config(
    model_features:list, clr_dim:int, num_clrs:int, t_emb_size:int, cond_emb_size:int, num_heads:list,
    num_res_blocks:list, transformer_depths:list, unitary_encoder_config:Unitary_encoder_config
)->None:

source

QC_Compilation_UNet


def QC_Compilation_UNet(
    model_features:list=[32, 32, 64], clr_dim:int=8, num_clrs:int=8, t_emb_size:int=128, cond_emb_size:int=512,
    num_heads:list=[8, 8, 2], num_res_blocks:list=[2, 2, 4], transformer_depths:list=[1, 2, 1],
    unitary_encoder_config:NoneType=None
):

Extension of the QC_Cond_UNet to accept unitary conditions.

Back to top
Position encodings
Encoder for unitaries
 

Copyright 2025, Florian Fürrutter

  • Report an issue
  • View source