Suprimir advertencias

Oct 18 2020

Deseo saber cómo suprimir la siguiente advertencia obtenida en qiskit cuando intento agregar dos tipos diferentes de ruido a un qubit

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

Sé que algunas advertencias se pueden suprimir con

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

pero no sé en qué categoría está incluida mi advertencia. También me gustaría saber si puedo acceder en algún lugar a todas las diferentes categorías de advertencia. Además intentando

import warnings
warnings.filterwarnings('ignore')

suprimir todas las advertencias no ayuda.

Respuestas

2 jecado Oct 19 2020 at 08:52

La NoiseModelclase de Qiskit procesa las advertencias a través de un registrador del loggingpaquete, no a través del warningspaquete, por lo que suprimir las advertencias como en otras respuestas no ayudará.

Sin embargo, cada método en NoiseModelproporciona un warningsparámetro; tiene el valor predeterminado, Truepero puede configurarlo Falsepara evitar que se registren las advertencias.

Ejemplo: myNoiseModel.add_quantum_error(..., warnings=False)

luciano Oct 18 2020 at 21:09

No es necesario que proporciones una categoría para silenciar todas las advertencias:

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

No sé si esto ayuda en absoluto, pero en términos de categorías de advertencia, utilicé ?? warningsy encontré algunos otros tipos:

category=PendingDeprecationWarning
category=ImportWarning
category=ResourceWarning

También veo una pregunta relacionada con la advertencia a Qiskit aquí . No es lo mismo que lo que está preguntando, pero con suerte le ayudará de alguna manera.