Tłumić ostrzeżenia

Oct 18 2020

Chcę wiedzieć, jak wyłączyć następujące ostrzeżenie otrzymane na qiskit, gdy próbuję dodać dwa różne rodzaje szumu do kubita

WARNING: quantum error already exists for instruction "u2" on qubits [0] , appending additional error.

Wiem, że niektóre ostrzeżenia można zlikwidować

import warnings
warnings.filterwarnings('ignore', category=DeprecationWarning)

ale nie wiem, w jakiej kategorii znajduje się moje ostrzeżenie. Chciałbym również wiedzieć, czy mogę gdzieś uzyskać dostęp do wszystkich różnych kategorii ostrzeżeń. Dodatkowo próbuję

import warnings
warnings.filterwarnings('ignore')

tłumienie wszystkich ostrzeżeń nie pomaga.

Odpowiedzi

2 jecado Oct 19 2020 at 08:52

NoiseModelKlasa Qiskit przetwarza ostrzeżenia przez program logujący z loggingpakietu, a nie przez warningspakiet, więc tłumienie ostrzeżeń, jak w innych odpowiedziach, nie pomoże.

Jednak każda metoda NoiseModelzawiera warningsparametr; Domyślnie jest to, Trueale możesz go ustawić, Falseaby zapobiec rejestrowaniu ostrzeżeń.

Przykład: myNoiseModel.add_quantum_error(..., warnings=False)

luciano Oct 18 2020 at 21:09

Nie musisz podawać kategorii, aby wyciszyć wszystkie ostrzeżenia:

import warnings
warnings.filterwarnings('ignore')
KAJ226 Oct 18 2020 at 14:27

Nie wiem, czy to w ogóle pomaga, ale pod względem kategorii ostrzeżeń użyłem ?? warningsi znalazłem kilka innych typów:

category=PendingDeprecationWarning
category=ImportWarning
category=ResourceWarning

Widzę tutaj również pytanie związane z ostrzeżeniem dla Qiskit . To nie to samo, o co prosisz, ale miejmy nadzieję, że jakoś pomoże.