Подавить предупреждения

Oct 18 2020

Я хочу знать, как подавить следующее предупреждение, полученное на qiskit, когда я пытаюсь добавить два разных типа шума к кубиту

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

Я знаю, что некоторые предупреждения можно подавить с помощью

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

но я не знаю, в какой категории содержится мое предупреждение. Я также хотел бы знать, могу ли я где-нибудь получить доступ ко всем различным категориям предупреждений. Дополнительно пытаюсь

import warnings
warnings.filterwarnings('ignore')

подавить все предупреждения не помогает.

Ответы

2 jecado Oct 19 2020 at 08:52

Класс Qiskit NoiseModelобрабатывает предупреждения через регистратор из loggingпакета, а не через warningsпакет, поэтому подавление предупреждений, как в других ответах, не поможет.

Однако каждый метод в NoiseModelпредоставляет warningsпараметр; по умолчанию он установлен, Trueно вы можете установить его, Falseчтобы предупреждения не регистрировались.

Пример: myNoiseModel.add_quantum_error(..., warnings=False)

luciano Oct 18 2020 at 21:09

Вам не нужно указывать категорию, чтобы отключить все предупреждения:

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

Я не знаю, помогает ли это вообще, но что касается категорий предупреждений, я использовал ?? warningsи нашел несколько других типов:

category=PendingDeprecationWarning
category=ImportWarning
category=ResourceWarning

Я также вижу здесь вопрос, связанный с предупреждением Qiskit . Это не то же самое, что вы просите, но, надеюсь, это как-то поможет.