# Outputs of the VQCs

**URL:** <https://discuss.pennylane.ai/t/outputs-of-the-vqcs/7633>\
**Category:** PennyLane Help\
**Created:** [November 23, 2024, 7:16am UTC](https://discuss.pennylane.ai/t/outputs-of-the-vqcs/7633 "2024-11-23T07:16:34Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![zj-lucky](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/zj-lucky/32/788_2.png) [@zj-lucky](https://discuss.pennylane.ai/u/zj-lucky)\
**Post date:** [November 23, 2024, 7:16am UTC](https://discuss.pennylane.ai/t/outputs-of-the-vqcs/7633/1 "2024-11-23T07:16:34Z")

</div>

Hello, what are the outputs of current variational quantum circuits? Is it possible to directly output a vector similar to the input, or must the output be obtained through measurement?

---

<div class="post-metadata">

**Author:** ![CatalinaAlbornoz](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/catalinaalbornoz/32/1196_2.png) [@CatalinaAlbornoz](https://discuss.pennylane.ai/u/CatalinaAlbornoz)\
**Post date:** [November 25, 2024, 3:47pm UTC](https://discuss.pennylane.ai/t/outputs-of-the-vqcs/7633/2 "2024-11-25T15:47:32Z")

</div>

Hi @zj-lucky,

The output must be obtained through measurement. You can indeed output a vector, for example the expectation value for each of the qubits. You must then use a cost function which has a single scalar as the output, so that you can use PennyLane’s standard optimization methods.

Feel free to check out the examples in some of our [QML demos](https://pennylane.ai/search?categories=quantum%20machine%20learning&sort=publication_date&contentType=DEMO) to see how to do this. We also have a new[Codebook Module on Variational Quantum Algorithms](https://pennylane.ai/codebook/11-variational-quantum-algorithms), which you might like.

I hope this helps!

---

<div class="post-metadata">

**Author:** ![zj-lucky](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/zj-lucky/32/788_2.png) [@zj-lucky](https://discuss.pennylane.ai/u/zj-lucky)\
**Post date:** [November 25, 2024, 7:02pm UTC](https://discuss.pennylane.ai/t/outputs-of-the-vqcs/7633/3 "2024-11-25T19:02:55Z")

</div>

Thank you very much!

I have another problem which needs your help.  
Here is the issue we are encountering with our quantum circuit:

```auto
@qml.qnode(dev, interface="torch", diff_method="backprop")
def qcnn_circuit(inputs, params):

    qml.QubitStateVector(inputs, wires=range(num_qubits))

    U_block(params, wires=range(num_qubits))

    return qml.probs(wires=range(num_qubits))

```

When the `num_qubits` is set to 16, the following error occurs due to cache limitations:

```auto
raceback (most recent call last):
  File "/home/zj/ARPES/QCNN_V1.py", line 320, in <module>
    output_probs = model(low_tensor)
  File "/home/zj/anaconda3/envs/py38/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/zj/ARPES/QCNN_V1.py", line 247, in forward
    return qcnn_circuit(inputs, self.params)
  File "/home/zj/anaconda3/envs/py38/lib/python3.8/site-packages/pennylane/qnode.py", line 889, in __call__
    res = qml.execute(
  File "/home/zj/anaconda3/envs/py38/lib/python3.8/site-packages/pennylane/interfaces/execution.py", line 656, in execute
    qml.interfaces.cache_execute(
  File "/home/zj/anaconda3/envs/py38/lib/python3.8/site-packages/pennylane/interfaces/execution.py", line 222, in wrapper
    cache[hashes[i]] = r
  File "/home/zj/anaconda3/envs/py38/lib/python3.8/site-packages/cachetools/ __init__.py", line 217, in __setitem__
    cache_setitem(self, key, value)
  File "/home/zj/anaconda3/envs/py38/lib/python3.8/site-packages/cachetools/ __init__.py", line 76, in __setitem__
    raise ValueError("value too large")
ValueError: value too large

```

We need a solution to address this issue without compromising the structure of the circuit or its output. Specifically, the `qml.probs(wires=range(num_qubits))` measurement with 16 qubits is essential for our application.

---

<div class="post-metadata">

**Author:** ![zj-lucky](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/zj-lucky/32/788_2.png) [@zj-lucky](https://discuss.pennylane.ai/u/zj-lucky)\
**Post date:** [November 25, 2024, 7:04pm UTC](https://discuss.pennylane.ai/t/outputs-of-the-vqcs/7633/4 "2024-11-25T19:04:21Z")

</div>

@CatalinaAlbornoz

Thank you very much, pls see above problem.

---

<div class="post-metadata">

**Author:** ![CatalinaAlbornoz](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/catalinaalbornoz/32/1196_2.png) [@CatalinaAlbornoz](https://discuss.pennylane.ai/u/CatalinaAlbornoz)\
**Post date:** [November 26, 2024, 2:09am UTC](https://discuss.pennylane.ai/t/outputs-of-the-vqcs/7633/5 "2024-11-26T02:09:00Z")

</div>

Hi @zj-lucky,

I’m not sure if this will solve the issue but if possible I’d suggest upgrading your Python version. Our minimum supported version at the moment is Python 3.10.

Let me know if this solves your issue.

---

<div class="post-metadata">

**Author:** ![zj-lucky](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/zj-lucky/32/788_2.png) [@zj-lucky](https://discuss.pennylane.ai/u/zj-lucky)\
**Post date:** [November 27, 2024, 3:03am UTC](https://discuss.pennylane.ai/t/outputs-of-the-vqcs/7633/6 "2024-11-27T03:03:57Z")

</div>

@CatalinaAlbornoz Thank you very much. This problem has been solved following your suggestion.

---

<div class="post-metadata">

**Author:** ![CatalinaAlbornoz](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/catalinaalbornoz/32/1196_2.png) [@CatalinaAlbornoz](https://discuss.pennylane.ai/u/CatalinaAlbornoz)\
**Post date:** [November 27, 2024, 4:37pm UTC](https://discuss.pennylane.ai/t/outputs-of-the-vqcs/7633/7 "2024-11-27T16:37:16Z")

</div>

That’s great to hear @zj-lucky !
