- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
使用文档运行 rasa_core 示例
› python3 -m rasa_core.run -d models/dialogue -u models/nlu/default/current
并在对话框中的每条消息后得到此错误输出:
.../sklearn/...: DeprecationWarning: The truth value of an empty array is ambiguous. Returning False, but in future this will result in an error. Use `array.size > 0` to check that an array is not empty.
这是 numpy 的一个问题,已修复但未在最新版本中发布:https://github.com/scikit-learn/scikit-learn/issues/10449
以下不起作用暂时消除警告:
-W忽略
python3 -W ignore -m rasa_core.run -d models/dialogue -u models/nlu/default/current
warnings.simplefilter
python3
>>> warnings.simplefilter('ignore', DeprecationWarning)
>>> exit()
python3 -m rasa_core.run -d models/dialogue -u models/nlu/default/current
最佳答案
此警告是由 numpy 引起的,它弃用了 truth value check on empty array
此更改的理由是
It is impossible to take advantage of the fact that empty arrays are False, because an array can be False for other reasons.
检查以下示例:
>>> import numpy as np
>>> bool(np.array([]))
False
>>> # but this is not a good way to test for emptiness, because...
>>> bool(np.array([0]))
False
根据 issue 10449在 scikit-learn 库中,这已在库的 master 分支中修复。然而,它将在 2018 年 8 月左右可用,因此一种可能的替代方法是使用没有此问题的较小版本的 numpy 库,即 1.13.3,因为默认情况下 scikit-library 会引用最新版本的 numpy(1.14.2 在写这个答案的时间)
sudo pip install numpy==1.13.3
或者使用 pip3 如下
sudo pip3 install numpy==1.13.3
如果我们想使用给出弃用警告的最新版本的库(在本例中为 numpy)并且只想使弃用警告静音,那么我们可以使用 filterwarnings 来实现它python的方法Warnings模块
以下示例将产生上述问题中提到的弃用警告:
from sklearn import preprocessing
if __name__ == '__main__':
le = preprocessing.LabelEncoder()
le.fit([1, 2, 2, 6])
le.transform([1, 1, 2, 6])
le.inverse_transform([0, 0, 1, 2])
产生
/usr/local/lib/python2.7/dist-packages/sklearn/preprocessing/label.py:151: DeprecationWarning: The truth value of an empty array is ambiguous. Returning False, but in future this will result in an error. Use
array.size > 0
to check that an array is not empty.
为了处理它,为 DeprecationWarning 添加 filterwarnings
from sklearn import preprocessing
import warnings
if __name__ == '__main__':
warnings.filterwarnings(action='ignore', category=DeprecationWarning)
le = preprocessing.LabelEncoder()
le.fit([1, 2, 2, 6])
le.transform([1, 1, 2, 6])
le.inverse_transform([0, 0, 1, 2])
如果有多个模块发出警告,而我们想要有选择地静音警告,则使用 module 属性。例如来自 scikit 学习模块的静默弃用警告
warnings.filterwarnings(module='sklearn*', action='ignore', category=DeprecationWarning)
关于python - 数组的 sklearn DeprecationWarning 真值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49545947/
我想获取百分比值大于 90% 的所有项,但该部分的顺序无关紧要。这是一个例子: Person Score Location 1 91 US 2
在大多数语言中,包括 Python,变量的真实值可以在条件表达式中隐式使用,即: is_selected = True If is_selected: #do some
是否可以将 hibernate 设置为将 -1 而不是 1 作为数据库中 boolean 字段的真值?我需要 -1 来保持与其他 Delphi 程序的兼容性。 最佳答案 @Type(type="com
使用文档运行 rasa_core 示例 › python3 -m rasa_core.run -d models/dialogue -u models/nlu/default/current 并在对话
如果我的对象包含一个具有真值的键,我真的很困惑如何返回一个简单的真/假。我不想返回键或值本身,只是断言它确实包含一个真值。 例如 var fruits = { apples: false, orang
我正在尝试编写一个 JUnit 测试,它检查接收到的 JSON 的值。我使用 jsonPath 访问 JSON 中的这些值。我想检查一个值是否为true。对于简单的 jsonPaths,它对我有用,但
我正在尝试检查 Angular HTML 中的 bool 值真实性,但得到了一个奇怪的结果。看完this SO post我以为我明白发生了什么。我希望能够使用 === 运算符,但正如我下面的最后一个示
在 REST Web 服务中,POST JSON 正文如下所示: { "printRequest" : { "printName" : "XYZ", "enab
我是一名优秀的程序员,十分优秀!