Suprimir avisos

Oct 18 2020

Desejo saber como suprimir o seguinte aviso obtido no qiskit quando tento adicionar dois tipos diferentes de ruído a um qubit

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

Eu sei que alguns avisos podem ser suprimidos com

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

mas não sei em que categoria meu aviso está contido. Também gostaria de saber se posso acessar em algum lugar todas as diferentes categorias de aviso. Além de tentar

import warnings
warnings.filterwarnings('ignore')

suprimir todos os avisos não ajuda.

Respostas

2 jecado Oct 19 2020 at 08:52

A NoiseModelclasse do Qiskit processa avisos por meio de um logger do loggingpacote, não por meio do warningspacote, portanto, suprimir avisos como em outras respostas não ajudará.

No entanto, cada método NoiseModelfornece um warningsparâmetro; o padrão é, Truemas você pode defini-lo Falsepara evitar que os avisos sejam registrados.

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

luciano Oct 18 2020 at 21:09

Você não precisa fornecer uma categoria para silenciar todos os avisos:

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

Eu não sei se isso ajuda em tudo, mas em termos de aviso categorias, eu usei ?? warningse encontrei alguns outros tipos:

category=PendingDeprecationWarning
category=ImportWarning
category=ResourceWarning

Também vejo uma pergunta relacionada ao aviso ao Qiskit aqui . Não é o mesmo que você está pedindo, mas espero que ajude de alguma forma.