Numpy / Polyfit - Suppress Intel MKL Error Message Printing

I compute polyfit several times during the program, and some of my inputs are np.nan and are going to get problems with the algorithm. I know this, and in this application I do not care.

When everything goes bad, it will be printed on the console:

Intel MKL ERROR: Parameter 4 was incorrect on entry to DELSD.

I just want to suppress this error. I already tried:

 import warnings warnings.simplefilter('ignore', np.RankWarning) warnings.simplefilter('ignore', np.ComplexWarning) warnings.filterwarnings('ignore', "Intel MKL ERROR") 

Which suppresses some warnings, but not Intel MKL. I just want it not to print to the console (as it breaks up the other status messages that I print).

The following should cause the problem:

 import numpy as np def line_fit(R, X): num_rows = np.shape(R)[0] p = np.zeros(num_rows) for i in range(num_rows): temp = np.polyfit(R[i, :], X[i, :], 1) p[i] = temp[1] return p temp = np.array((((198.652-76.1781j),(132.614-43.8134j),(115.042-41.2485j),(91.7754-39.1649j),(78.8538-37.389j),(67.8769-34.6342j)), ((np.nan),(1671.79-796.522j),(1206.44-824.202j),(654.572-682.673j),(438.175-559.025j),(303.624-452.122j)), ((np.nan-1j*np.nan),(1671.32-794.931j),(1198.71-803.533j),(649.574-624.276j),(443.286-530.36j),(308.609-438.738j)))) R = np.real(temp) X = np.imag(temp) coeff = line_fit(R, X) 

Python 2.7.6 (default, November 10 2013, 19:24:24) [MSC v.1500 64 bit (AMD64)], NumPy 1.8.0

+3
source share
2 answers

If a function decides to print the error message directly to stdout / stderr without using the usual Python error reporting mechanism (i.e., handling exceptions and warnings), you can do this a bit to prevent this from happening. If this really annoys you, you can probably suppress the email at stderr altogether. In another SO question, there is a solution on how to do this temporarily (for example, only for this function): Suppress stdout / stderr output from Python functions . Obviously, if you do this, you will also skip all the relevant exits from this function, so use it with caution.

+2
source

Error

Intel MKL error: parameter 4 was invalid when entering DELSD

occurs when you have a Nan or Inf value at your input. Please check and attach this.

+1
source

Source: https://habr.com/ru/post/1272510/


All Articles