解决Anacondan安装TensorFlow环境时出现警告FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecate
问题描述
通过anaconda安装TensorFlow环境的时候,根据教程当安装TensorFlow之后,我们会验证一下TensorFlow·是否安装成功。此时通过激活tensorflow环境(active tensorflow)进入tensorflow环境。然后我们输入python,进入python。此后输入 import tensorflow as tf,回车之后,会出现警告如下:
FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / ‘(1,)type’._np_quint8 = np.dtype([(“quint8”, np.uint8, 1)])
一共六七行报警。
问题分析
我们发现这个是一个警告,不影响我们继续输入命令。但是,每当输入命令后,又出现这么多警告,很麻烦。
看到英文警告不要慌,慢慢分析。这种传递(passing)是一种过时的应用,在未来的NUMpy版本中,将会被解释为后面的这种方式。我们看到就是1加个逗号和括号。
这里可以看到应该是一个版本冲突的问题。但是是非致命性的。所以给个警告。
解决方案
1)更换版本
numpy版本过高,使用numpy-1.16-0版本即可,重新安装numpy-1.16-0
查看numpy的版本。在tensorflow环境下,输入
pip show numpy
安装新的版本,在tensorflow环境下,输入
pip install numpy==1.16.0
2)直接修改
在警告中有numpy的地址,就是安装目录下面,tensorflow文件夹里面,可以按照错误提示路径一步步找到文件dtype.py,然后用文本打开这个文件。在报警的时候,会看到在第460多行,修改对应行的代码,把np.dtype([(“quint8”, np.uint8, 1)])修改为np.dtype([(“quint8”, np.uint8, (1,))])就完美解决了