更新我的Numpy
和Tensorflow
后,我收到了这些警告。我已经尝试了these,但没有任何作用,每一个建议都会受到赞赏。
FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
from ._conv import register_converters as _register_converters
2018-01-19 17:11:38.695932: I C:\tf_jenkins\home\workspace\rel-win\M\windows\PY\36\tensorflow\core\platform\cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
答案 0 :(得分:63)
这可能是您的情况,也可能不是,但同样的警告也会从h5py
包中吐出:
/home/user/bin/conda3/lib/python3.6/site-packages/h5py/__init__.py:34
: FutureWarning:转换issubdtype的第二个参数 不推荐float
到np.floating
。将来,它将被对待 为np.float64 == np.dtype(float).type
。来自._conv导入 register_converters为_register_converters
对于使用此问题来到这里的任何人,这是一个known h5py issue,与numpy 1.14一起介绍。正如开发者所说:
您可以忽略该警告,它不会导致任何问题 那一刻,但你应该升级到h5py的下一个版本 变得可用。
......所以它无害。修复刚刚掌握merged。但是在更新发布之前,解决方法是将numpy降级到以前的版本:
pip install numpy==1.13.0
使用修复程序 更新:h5py
has released RC版本。以下命令应该这样做:
pip install h5py==2.8.0rc1
更新(最终):现在有一个完整的版本。所以你可以简单地运行:
pip install --upgrade h5py
答案 1 :(得分:23)
您可以升级h5py
pip install --upgrade h5py
答案 2 :(得分:14)
我尝试过这些并且它已经为我解决了同样的问题,只需将它们放在代码顶部
import os
os.environ["TF_CPP_MIN_LOG_LEVEL"]="3"
答案 3 :(得分:4)
您还可以使用以下代码,使用代码开头的以下行从终端删除警告线。
import numpy as np, sys, tensorflow as tf
print('\nStart of Code...\n')
FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type.
from ._conv import register_converters as _register_converters
Start of Code...
import numpy as np, sys, tensorflow as tf
for i in range(3): # Add this for loop.
sys.stdout.write('\033[F') # Back to previous line.
sys.stdout.write('\033[K') # Clear line.
print('\nStart of Code...\n')
Start of Code...
答案 4 :(得分:4)
这是由于h5py和numpy之间存在版本冲突。您需要做的就是通过命令降低您的numpy版本,如下所示:
private Thread[] _threads = new Thread[100];
private int _threadCount = 0;
private void UI_btnStartThread_Click(object sender, EventArgs e)
{
//create new thread and the referenced the method
Thread newThread = new Thread(new ParameterizedThreadStart(DrawCircle));
//the data is passed to the thread as an argument
newThread.Start(new AddCircle(_cDrawer, Color.FromArgb(_mainRandom.Next(0, 256), _mainRandom.Next(0, 256), _mainRandom.Next(0, 256)), _circleSize));
_threads[_threadCount++] = newThread;
}
答案 5 :(得分:3)
以前我得到同样的错误,我刚刚使用了warnings()模块。我在所有导入后使用了这些代码,
import warnings
warnings.filterwarnings('ignore', '.*do not.*',)
答案 6 :(得分:3)
上述情况均不适用于我的情况,我不想降级任何套餐。
Github上有一个直截了当的解决方案,只是取消警告:
import warnings
with warnings.catch_warnings():
warnings.filterwarnings("ignore",category=FutureWarning)
import numpy as np
import tensorflow as tf
import h5py as h5py
然后导入任何包导致numpy, tensorflow, h5py
语句范围内的错误(with
)
答案 7 :(得分:2)
将scipy升级为此警告的rif。为此,您可以使用pip升级scipy。
**sudo pip install --upgrade scipy**
答案 8 :(得分:2)
您可能想首先找出原因(此处的大多数答案适用于特定情况-使用过时功能的库-在这种情况下为NumPy)。
简而言之,有什么叫:
np.issubdtype(something, float)
代替:
np.issubdtype(something, np.floating)
这是在断言和逻辑调度代码中完成的,而最终用户很少编写这些代码。因此-通常这是由您正在使用的库完成的。
因此,您应该找出导致此警告的原因。您将使用warnings
模块,但使用的方式与其他答案相反:
import warnings
warnings.filterwarnings('error')
# run rest of your code here
这不仅会给您警告,而且还会提供错误和堆栈跟踪。然后-你真黄金:
Traceback (most recent call last):
File (...)
# user code snipped...
File "C:\...\site-packages\vtk\util\numpy_support.py", line 137, in numpy_to_vtk
assert not numpy.issubdtype(z.dtype, complex), \
File "C:\...\site-packages\numpy\core\numerictypes.py", line 422, in issubdtype
FutureWarning, stacklevel=2
FutureWarning: Conversion of the second argument of issubdtype from `complex` to `np.complexfloating` is deprecated.
In future, it will be treated as `np.complex128 == np.dtype(complex).type`.
在这里您看到这次是VTK。当然,哪一个不太可能是您的特定问题,但是在知道引起此警告的原因之后,您可以做很多有用的事情:
答案 9 :(得分:1)
我通过安装/重新安装ipykernel解决了这个问题:
pip3 install --upgrade ipykernel
如果你有不同的点我们当然是那个
答案 10 :(得分:0)
您需要升级h5py,并且numpy版本应为<1.17:
pip install --upgrade h5py
pip install "numpy<1.17"