Return a tuple of potentially excited cluster states and their labels.

For every qubit in qubits this method will create a cluster state circuit on qubits, apply a cirq.X on that qubit along with a label of 1 and add it to the return dataset. Finally a cluster state circuit on qubits that doesn't contain any cirq.X gates with a label of -1 will be added to the returned dataset.

circuits, labels = tfq.datasets.excited_cluster_states(
    cirq.GridQubit.rect(1, 3)
(0, 0): ───H───@───────@───X───
               │       │
(0, 1): ───H───@───@───┼───────
                   │   │
(0, 2): ───H───────@───@───────
(0, 0): ───H───@───────@───
               │       │
(0, 1): ───H───@───@───┼───
                   │   │
(0, 2): ───H───────@───@───

Circuits that feature a cirq.X gate on one of the qubits are labeled 1, while the circuit that doesn't feature a cirq.X anywhere has the label -1.

qubits Python list of cirq.GridQubits on which the excited cluster state dataset will be created.

A tuple of cirq.Circuits and Python int labels.