我用Scikit学习建立了Predictive模型。我已经使用Flask,joblib部署了这个模型。每当我预测带有加载模型的新传入请求时,它在控制台上的打印消息都会显示核心上的总时间。
现在,我要禁用此打印件。当模型预测新的传入数据时,如何抑制给定的消息。
[Parallel(n_jobs=24)]: Done 117 out of 174 | elapsed: 0.0s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 121 out of 179 | elapsed: 0.0s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 122 out of 181 | elapsed: 0.0s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 123 out of 183 | elapsed: 0.0s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 125 out of 185 | elapsed: 0.0s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 127 out of 188 | elapsed: 0.0s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 128 out of 190 | elapsed: 0.0s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 129 out of 192 | elapsed: 0.0s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 132 out of 196 | elapsed: 0.0s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 133 out of 198 | elapsed: 0.0s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 135 out of 201 | elapsed: 0.0s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 137 out of 204 | elapsed: 0.0s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 138 out of 205 | elapsed: 0.0s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 140 out of 208 | elapsed: 0.0s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 143 out of 213 | elapsed: 0.0s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 148 out of 220 | elapsed: 0.0s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 149 out of 222 | elapsed: 0.0s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 153 out of 228 | elapsed: 0.1s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 155 out of 231 | elapsed: 0.1s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 159 out of 237 | elapsed: 0.1s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 165 out of 246 | elapsed: 0.1s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 168 out of 250 | elapsed: 0.1s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 169 out of 252 | elapsed: 0.1s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 171 out of 255 | elapsed: 0.1s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 173 out of 258 | elapsed: 0.1s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 177 out of 264 | elapsed: 0.1s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 181 out of 270 | elapsed: 0.1s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 183 out of 273 | elapsed: 0.1s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 185 out of 276 | elapsed: 0.1s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 187 out of 279 | elapsed: 0.1s remaining: 0.0s
[Parallel(n_jobs=24)]: Done 335 out of 500 | elapsed: 0.3s remaining: 0.1s
[Parallel(n_jobs=24)]: Done 500 out of 500 | elapsed: 0.3s finished
答案 0 :(得分:3)
使用sklearn.linear_model.LinearRegression时我有类似的抱怨。在这个方法中,我可以在.fit()方法或构造函数中找到 no 详细参数。所以python代码:
import numpy as np
from sklearn.linear_model import LinearRegression as LR
lr = LR()
y = np.random.rand(100) + 0.01 * np.arange(100) # noisy line to fit
x = np.arange(100)
x = np.reshape(y,[100,1])
lr.fit(x,y)
我得到令人讨厌的输出:
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)
因为fit()方法返回指向自身的指针,并且此文本表示该对象。抑制此问题的一种简单方法是修改上述代码:
a = lr.fit(x,y)
从而将指针指向某个变量而不是屏幕。
答案 1 :(得分:1)
将Last login: Mon Jul 6 20:27:54 on ttys000
cd '/Users/abc/Desktop/' && '/usr/bin/pythonw' '/Users/abc/Desktop/autoTag.py' && echo Exit status: $? && exit 1
abc-MacBook-Pro:~ abc$ cd '/Users/abc/Desktop/' && '/usr/bin/pythonw' '/Users/abc/Desktop/autoTag.py' && echo Exit status: $? && exit 1
Traceback (most recent call last):
File "/Users/abc/Desktop/autoTag.py", line 6, in <module>
response = urllib2.urlopen(request, json.dumps(input))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 410, in open
response = meth(req, response)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 448, in error
return self._call_chain(*args)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 401: Unauthorized
参数更改为verbose
。
verbose:int,optional:详细级别:如果非零,则进度 邮件已打印。超过50,输出被发送到stdout。该 消息的频率随着详细程度而增加。如果它 超过10个,报告所有迭代。
例如使用SVM模型
False
答案 2 :(得分:1)
如果由于verbose = True
在模型的构造函数中而产生了不必要的输出,则可以稍后将其更改为成员变量:
from sklearn.some_category import SomeModel as M
m = M(verbose=True)
m.fit(x, y) # has output
m.verbose = False
m.predict(x) # no output